massive code move
[mussa.git] / Makefile
index 9c4282b10db4f9f498a95c21525e743c3e21a68e..2315302faea28affab346150d731c56ead5c896d 100644 (file)
--- a/Makefile
+++ b/Makefile
-# may the coders of gcc be infested with the fleas of ten thousand camels...
+BASEDIR := ./
 
-CFLAGS=-ftemplate-depth-25
-#CFLAGS= -ftemplate-depth-25 -ggdb
-#-Winline 
+CXXFLAGS :=  
+LDFLAGS := -lfltk
 
-OFLAG= -O
+# each module will add to this, .os are derived from it
+SRC := 
 
-# this is sufficient on debian machines
-#LDFLAGS= -lfltk
+include module.mk
+include gui/module.mk
 
-# this is what's needed on redhat machines
-#LDFLAGS= -lfltk -L/usr/X11R6/lib -lX11
 
-# this is what's needed on fedora machines
-#LDFLAGS= -lfltk -L/usr/X11R6/lib -lX11 -lXft
+# process what the module.mks defined
+OBJ := $(patsubst %.cxx,%.o, $(filter %.cxx,$(SRC)))
+DEPS := $(OBJ:.o=.d)
 
-# this is what's needed on gentoo machines
-LDFLAGS= -L/usr/lib/fltk-1.1/ -lfltk -L/usr/X11R6/lib -lX11 -lXft
-# needed for apple/OS X
-#LDFLAGS= -framework Carbon -framework ApplicationServices -lfltk
-# needed for cygwin/mingw32
-#CFLAGS=-ftemplate-depth-25 -mno-cygwin
-#LDFLAGS= -lfltk -L/usr/lib/w32lib -lgdi32 -lws2_32 -luuid -lole32
+mussa: $(OBJ)
+       g++ -o $@ $(CXXFLAGS) $(LDFLAGS) $^
 
-# to check for memory leaks
-MEMFLAG= -lefence
+%.d: %.cxx
+       makedepend -o.d $(dirname $^) $(CFLAGS) $(CXXFILAGS) $^ -f- > $@
 
-all: mussa
+%.o: %.cxx
+       g++ -c -o $@ $(CXXFLAGS) $^
 
-sequence.o : sequence.cc sequence.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c sequence.cc
+include $(DEPS)
 
-flp.o : flp.cc flp.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c flp.cc
+clean:
+       -rm $(OBJ) $(DEPS)
 
-flp_seqcomp.o : flp_seqcomp.cc flp.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c flp_seqcomp.cc
 
-seqcomp : seqcomp.cc flp.o flp_seqcomp.o sequence.o
-       $(CXX) $(CFLAGS) $(OFLAG) -o seqcomp seqcomp.cc flp.o flp_seqcomp.o sequence.o
-
-mussa_nway.o : mussa_nway.cc mussa_nway.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c mussa_nway.cc
-
-mussa_nway_other.o : mussa_nway_other.cc mussa_nway.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c mussa_nway_other.cc
-
-mussa_nway_entropy.o : mussa_nway_entropy.cc mussa_nway.hh
-       $(CXX) $(CFLAGS) $(OFLAG) -c mussa_nway_entropy.cc
-
-mussa_class.o : mussa_class.cc mussa_class.hh
-       $(CXX) $(CFLAGS) -c mussa_class.cc
-
-mussan : sequence.o flp.o flp_seqcomp.o mussa_nway.o mussa_class.o \
-               mussa_overlord.o mussa.cc  
-       $(CXX) $(CFLAGS) -o mussa mussa.cc mussa_overlord.o \
-               mussa_class.o mussa_nway.o flp_seqcomp.o flp.o sequence.o  $(LDFLAGS)
-
-mussa_gui_seq_view.o : mussa_gui_seq_view.cc mussa_gui_seq_view.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_seq_view.cc
-
-mussa_gui_seq.o : mussa_gui_seq.cc mussa_gui_seq.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_seq.cc
-
-mussa_gui_seq_text.o : mussa_gui_seq_text.cc mussa_gui_seq_text.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_seq_text.cc
-
-mussa_gui_motif_window.o : mussa_gui_motif_window.cc mussa_gui_motif_window.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_motif_window.cc
-
-mussa_gui_annot_window.o : mussa_gui_annot_window.cc mussa_gui_annot_window.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_annot_window.cc
-
-mussa_gui_load_window.o : mussa_gui_load_window.cc mussa_gui_load_window.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_load_window.cc
-
-mussa_gui_subana.o : mussa_gui_subana.cc mussa_gui_subana.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_subana.cc
-
-mussa_gui_conn_view.o : mussa_gui_conn_view.cc mussa_gui_conn_view.hh
-       $(CXX) $(CFLAGS) -O -c mussa_gui_conn_view.cc
-
-mussa_gui_conn_window.o : mussa_gui_conn_window.cc mussa_gui_conn_window.hh
-       $(CXX) $(CFLAGS) -c mussa_gui_conn_window.cc
-
-mussa : sequence.o flp.o flp_seqcomp.o \
-               mussa_nway.o mussa_nway_other.o \
-               mussa_nway_entropy.o mussa_class.o \
-               mussa_gui_seq.o mussa_gui_seq_view.o \
-               mussa_gui_motif_window.o mussa_gui_annot_window.o \
-               mussa_gui_load_window.o mussa_gui_subana.o \
-               mussa_gui_seq_text.o \
-               mussa_gui_conn_view.o mussa_gui_conn_window.o \
-               mussa.cc  
-       $(CXX) $(CFLAGS) -o mussa mussa.cc \
-               mussa_gui_conn_view.o mussa_gui_conn_window.o \
-               mussa_gui_seq_text.o \
-               mussa_gui_subana.o mussa_gui_load_window.o \
-               mussa_gui_motif_window.o mussa_gui_annot_window.o \
-               mussa_gui_seq.o mussa_gui_seq_view.o \
-               mussa_class.o mussa_nway.o \
-               mussa_nway_entropy.o mussa_nway_other.o \
-               flp_seqcomp.o flp.o sequence.o $(LDFLAGS)
-
-
-clean :
-       rm *.o 
-
-cleaner :
-       rm *~
-
-#mussa_overlord.o : mussa_overlord.cc mussa_overlord.hh
-#      $(CXX) $(CFLAGS) -c mussa_overlord.cc
-
-
-
-annot_test : sequence.o annot_test.cc
-       $(CXX) $(CFLAGS) -o annot_test annot_test.cc sequence.o