1#
2#  Makefile.am
3#
4#
5#  Part of TREE-PUZZLE 5.2 (July 2004)
6#
7#  (c) 2003-2004 by Heiko A. Schmidt, Korbinian Strimmer, and Arndt von Haeseler
8#  (c) 1999-2003 by Heiko A. Schmidt, Korbinian Strimmer,
9#                   M. Vingron, and Arndt von Haeseler
10#  (c) 1995-1999 by Korbinian Strimmer and Arndt von Haeseler
11#
12#  All parts of the source except where indicated are distributed under
13#  the GNU public licence.  See http://www.opensource.org for details.
14#
15#  ($Id$)
16#
17
18SUBDIRS = sprng
19bin_PROGRAMS = puzzle @PPUZZLE@
20EXTRA_PROGRAMS = ppuzzle
21EXTRA_DIST = \
22   pstep-deglob.c\
23   pstep-deglob.h\
24   pstep-mrca.c\
25   pstep-mrca.h\
26   pstep-orig.c\
27   pstep-orig.h\
28   pstep-recursive.c\
29   pstep-recursive.h\
30   split.c \
31   recur.c \
32   recur-old.c \
33   mrca.c \
34   pstep-split.c\
35   pstep-split.h\
36   subsetmatr.c\
37   subsetmatr.h\
38   pstep-trueID.c\
39   pstep-trueID.h
40
41SPRNG_OBJ = makeseed.$(OBJEXT) store.$(OBJEXT) memory.$(OBJEXT) checkid.$(OBJEXT) lcg64.$(OBJEXT) primes-lcg64.$(OBJEXT)
42SPRNG_DIR_OBJ = sprng/makeseed.$(OBJEXT) sprng/store.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/lcg64.$(OBJEXT) sprng/primes-lcg64.$(OBJEXT)
43#SPRNG_OBJ = sprng/makeseed.$(OBJEXT) sprng/store.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/lcg64.$(OBJEXT) sprng/primes-lcg64.$(OBJEXT)
44
45#SPRNG_LFG_SRCS = sprng/lfg.c sprng/interface.h sprng/makeseed.c sprng/memory.c sprng/checkid.c sprng/store.c
46#SPRNG_LFG_OBJS = sprng/lfg.$(OBJEXT) sprng/makeseed.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/store.$(OBJEXT)
47#SPRNG_MLFG_SRCS = sprng/mlfg.c sprng/interface.h sprng/makeseed.c sprng/memory.c sprng/checkid.c sprng/store.c sprng/int64.h
48#SPRNG_MLFG_OBJS = sprng/mlfg.$(OBJEXT) sprng/makeseed.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/store.$(OBJEXT)
49#SPRNG_LCG_SRCS = sprng/lcg.c sprng/interface.h sprng/primes-lcg.c sprng/makeseed.c sprng/memory.c sprng/checkid.c sprng/store.c
50#SPRNG_LCG_OBJS = sprng/lcg.$(OBJEXT) sprng/primes-lcg.$(OBJEXT) sprng/makeseed.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/store.$(OBJEXT)
51#SPRNG_CMRG_SRCS = sprng/lcg64.c sprng/interface.h sprng/primes-lcg64.c sprng/makeseed.c sprng/memory.c sprng/checkid.c sprng/store.c
52#SPRNG_CMRG_OBJS = sprng/lcg64.$(OBJEXT) sprng/primes-lcg64.$(OBJEXT) sprng/makeseed.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/store.$(OBJEXT)
53#SPRNG_LCG64_SRCS = sprng/lcg64.c sprng/interface.h sprng/primes-lcg64.c sprng/makeseed.c sprng/memory.c sprng/checkid.c sprng/store.c
54#SPRNG_LCG64_OBJS = sprng/lcg64.$(OBJEXT) sprng/primes-lcg64.$(OBJEXT) sprng/makeseed.$(OBJEXT) sprng/memory.$(OBJEXT) sprng/checkid.$(OBJEXT) sprng/store.$(OBJEXT)
55
56
57puzzle_SOURCES = gamma.c ml1.c ml2.c mlparam.c model1.c model2.c puzzle1.c puzzle2.c pstep.c util.c consensus.c treesort.c treetest.c ml.h util.h puzzle.h pstep.h gamma.h consensus.h treesort.h treetest.h
58#puzzle_LDADD = sgamma.o sml1.o sml2.o smlparam.o smodel1.o smodel2.o spuzzle1.o spuzzle2.o spstep.o sutil.o sconsensus.o streesort.o sprng/liblcg64.a
59puzzle_LDADD = sgamma.$(OBJEXT) sml1.$(OBJEXT) sml2.$(OBJEXT) smlparam.$(OBJEXT) smodel1.$(OBJEXT) smodel2.$(OBJEXT) spuzzle1.$(OBJEXT) spuzzle2.$(OBJEXT) spstep.$(OBJEXT) sutil.$(OBJEXT) sconsensus.$(OBJEXT) streesort.$(OBJEXT) streetest.$(OBJEXT)
60
61INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/sprng
62SDEFS =
63SCFLAGS =
64SLDFLAGS =
65SLDLIBS = @LIBS@
66
67SCOMPILE = $(CC) $(SDEFS) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(SCFLAGS) $(CFLAGS)
68SCCLD = $(CC)
69SLINK = $(SCCLD) $(AM_CFLAGS) $(CFLAGS) $(SLDFLAGS) $(LDFLAGS)
70
71ppuzzle_SOURCES = gamma.c ml1.c ml2.c mlparam.c model1.c model2.c puzzle1.c puzzle2.c pstep.c sched.c util.c consensus.c treesort.c treetest.c ppuzzle.c ml.h util.h puzzle.h pstep.h gamma.h ppuzzle.h sched.h consensus.h treesort.h treetest.h
72ppuzzle_LDADD = pgamma.$(OBJEXT) pml1.$(OBJEXT) pml2.$(OBJEXT) pmlparam.$(OBJEXT) pmodel1.$(OBJEXT) pmodel2.$(OBJEXT) ppuzzle1.$(OBJEXT) ppuzzle2.$(OBJEXT) ppstep.$(OBJEXT) psched.$(OBJEXT) putil.$(OBJEXT) pconsensus.$(OBJEXT) ptreesort.$(OBJEXT)  ptreetest.$(OBJEXT) ppuzzle.$(OBJEXT)
73
74PCC = @MPICC@
75PDEFS = -DPARALLEL
76PCFLAGS =
77PLDFLAGS =
78PLDLIBS = @LIBS@ @MPILIBS@
79
80PCOMPILE = $(PCC) $(PDEFS) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(PCFLAGS) $(CFLAGS)
81PCCLD = $(PCC)
82PLINK = $(PCCLD) $(AM_CFLAGS) $(PCFLAGS) $(CFLAGS) $(PLDFLAGS) $(LDFLAGS)
83
84
85make-sprng-objs:
86	cd sprng && $(MAKE) $(SPRNG_OBJ)
87
88
89puzzle$(EXEEXT): $(puzzle_LDADD) $(puzzle_SOURCES) make-sprng-objs Makefile
90	$(SLINK) $(puzzle_LDADD) $(SPRNG_DIR_OBJ) $(SLDLIBS) -o $@
91
92sml1.$(OBJEXT): ml1.c ml.h util.h Makefile
93	$(SCOMPILE) -c $(srcdir)/ml1.c && mv ml1.$(OBJEXT) $@
94sml2.$(OBJEXT): ml2.c ml.h util.h Makefile
95	$(SCOMPILE) -c $(srcdir)/ml2.c && mv ml2.$(OBJEXT) $@
96smlparam.$(OBJEXT): mlparam.c ml.h util.h gamma.h Makefile
97	$(SCOMPILE) -c $(srcdir)/mlparam.c && mv mlparam.$(OBJEXT) $@
98smodel1.$(OBJEXT): model1.c ml.h util.h Makefile
99	$(SCOMPILE) -c $(srcdir)/model1.c && mv model1.$(OBJEXT) $@
100smodel2.$(OBJEXT): model2.c ml.h util.h Makefile
101	$(SCOMPILE) -c $(srcdir)/model2.c && mv model2.$(OBJEXT) $@
102spuzzle1.$(OBJEXT): puzzle1.c ml.h util.h puzzle.h gamma.h ppuzzle.h Makefile
103	$(SCOMPILE) -c $(srcdir)/puzzle1.c && mv puzzle1.$(OBJEXT) $@
104spuzzle2.$(OBJEXT): puzzle2.c ml.h util.h puzzle.h ppuzzle.h Makefile
105	$(SCOMPILE) -c $(srcdir)/puzzle2.c && mv puzzle2.$(OBJEXT) $@
106spstep.$(OBJEXT): pstep.c ml.h util.h puzzle.h ppuzzle.h Makefile
107	$(SCOMPILE) -c $(srcdir)/pstep.c && mv pstep.$(OBJEXT) $@
108sutil.$(OBJEXT): util.c util.h Makefile
109	$(SCOMPILE) -c $(srcdir)/util.c && mv util.$(OBJEXT) $@
110sgamma.$(OBJEXT): gamma.c gamma.h util.h Makefile
111	$(SCOMPILE) -c $(srcdir)/gamma.c && mv gamma.$(OBJEXT) $@
112sconsensus.$(OBJEXT): consensus.c consensus.h util.h Makefile
113	$(SCOMPILE) -c $(srcdir)/consensus.c && mv consensus.$(OBJEXT) $@
114streesort.$(OBJEXT): treesort.c treesort.h util.h Makefile
115	$(SCOMPILE) -c $(srcdir)/treesort.c && mv treesort.$(OBJEXT) $@
116streetest.$(OBJEXT): treetest.c treetest.h util.h Makefile
117	$(SCOMPILE) -c $(srcdir)/treetest.c && mv treetest.$(OBJEXT) $@
118
119#
120#SPRNG
121#
122
123
124## sprng/makeseed.$(OBJEXT) : sprng/makeseed.c
125## 	$(CC) -c $(CFLAGS) sprng/makeseed.c
126##
127## sprng/store.$(OBJEXT) : sprng/store.c sprng/store.h
128## 	$(CC) -c $(CFLAGS) sprng/store.c
129##
130## sprng/memory.$(OBJEXT) : sprng/memory.c
131## 	$(CC) -c $(CFLAGS) sprng/memory.c
132##
133## sprng/checkid.$(OBJEXT) : sprng/checkid.c sprng/memory.h
134## 	$(CC) -c $(CFLAGS) sprng/checkid.c
135##
136## sprng/lcg64.$(OBJEXT) : sprng/interface.h sprng/lcg64.c sprng/memory.h  sprng/primes.h  sprng/multiply.h sprng/store.h
137## 	$(CC) -c $(CFLAGS) $(FFXN) $(INLINEOPT) lcg64.c
138##
139## sprng/primes-lcg64.$(OBJEXT) : sprng/primes-lcg64.h sprng/primes-lcg64.c sprng/primelist-lcg64.h
140## 	$(CC) -c $(CFLAGS) primes-lcg64.c
141##
142## #sprng/lcg64.a:
143## #	$(CD) sprng; $(make)
144##
145## #sprng.h:
146## #	$(CP) $(srcdir)/sprng-1.0/include/sprng.h $@
147## #interface.h:
148## #	$(CP) $(srcdir)/sprng-1.0/include/interface.h $@
149## #slcg64.o : interface.h lcg64.c  memory.h  primes.h multiply.h store.h
150## #	$(SCOMPILE) -c $(srcdir)/lcg64.c && mv lcg64.o $@
151## #plcg64.o : interface.h lcg64.c  memory.h  primes.h multiply.h store.h
152## #	$(SCOMPILE) -c $(srcdir)/lcg64.c && mv lcg64.o $@
153## #
154## #primes.o : primes.h primes.c
155## #	$(CC) -c $(CFLAGS) primes.c -I$(SRCDIR)
156
157
158
159ppuzzle$(EXEEXT): $(ppuzzle_LDADD) $(ppuzzle_SOURCES) make-sprng-objs Makefile
160	$(PLINK) $(ppuzzle_LDADD) $(SPRNG_DIR_OBJ) $(PLDLIBS) -o $@
161
162pml1.$(OBJEXT): ml1.c ml.h util.h Makefile
163	$(PCOMPILE) -c $(srcdir)/ml1.c && mv ml1.$(OBJEXT) $@
164pml2.$(OBJEXT): ml2.c ml.h util.h Makefile
165	$(PCOMPILE) -c $(srcdir)/ml2.c && mv ml2.$(OBJEXT) $@
166pmlparam.$(OBJEXT): mlparam.c ml.h util.h gamma.h Makefile
167	$(PCOMPILE) -c $(srcdir)/mlparam.c && mv mlparam.$(OBJEXT) $@
168pmodel1.$(OBJEXT): model1.c ml.h util.h Makefile
169	$(PCOMPILE) -c $(srcdir)/model1.c && mv model1.$(OBJEXT) $@
170pmodel2.$(OBJEXT): model2.c ml.h util.h Makefile
171	$(PCOMPILE) -c $(srcdir)/model2.c && mv model2.$(OBJEXT) $@
172ppuzzle1.$(OBJEXT): puzzle1.c ml.h util.h puzzle.h gamma.h ppuzzle.h Makefile
173	$(PCOMPILE) -c $(srcdir)/puzzle1.c && mv puzzle1.$(OBJEXT) $@
174ppuzzle2.$(OBJEXT): puzzle2.c ml.h util.h puzzle.h ppuzzle.h Makefile
175	$(PCOMPILE) -c $(srcdir)/puzzle2.c && mv puzzle2.$(OBJEXT) $@
176ppstep.$(OBJEXT): pstep.c ml.h util.h puzzle.h ppuzzle.h Makefile
177	$(PCOMPILE) -c $(srcdir)/pstep.c && mv pstep.$(OBJEXT) $@
178putil.$(OBJEXT): util.c util.h Makefile
179	$(PCOMPILE) -c $(srcdir)/util.c && mv util.$(OBJEXT) $@
180pgamma.$(OBJEXT): gamma.c gamma.h util.h Makefile
181	$(PCOMPILE) -c $(srcdir)/gamma.c && mv gamma.$(OBJEXT) $@
182pconsensus.$(OBJEXT): consensus.c consensus.h util.h Makefile
183	$(PCOMPILE) -c $(srcdir)/consensus.c && mv consensus.$(OBJEXT) $@
184ptreesort.$(OBJEXT): treesort.c treesort.h util.h Makefile
185	$(PCOMPILE) -c $(srcdir)/treesort.c && mv treesort.$(OBJEXT) $@
186ptreetest.$(OBJEXT): treetest.c treetest.h util.h Makefile
187	$(PCOMPILE) -c $(srcdir)/treetest.c && mv treetest.$(OBJEXT) $@
188psched.$(OBJEXT): sched.c sched.h ppuzzle.h  Makefile
189	$(PCOMPILE) -c $(srcdir)/sched.c && mv sched.$(OBJEXT) $@
190ppuzzle.$(OBJEXT): ppuzzle.c ppuzzle.h ml.h util.h puzzle.h gamma.h sched.h Makefile
191	$(PCOMPILE) -c $(srcdir)/ppuzzle.c
192
193