-# 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