jpayne@69
|
1 #-------------------------------------------------------------------------------
|
jpayne@69
|
2 # Top level makefile for MUMmer 3.0
|
jpayne@69
|
3 #
|
jpayne@69
|
4 # Dependencies: '/bin/sh', 'g++', 'gcc', 'csh', 'perl', 'sed'
|
jpayne@69
|
5 #
|
jpayne@69
|
6 # 'make all' builds all MUMmer code and scripts in the base directory
|
jpayne@69
|
7 #
|
jpayne@69
|
8 # 'make check' checks for the existance of the MUMmer dependencies
|
jpayne@69
|
9 #
|
jpayne@69
|
10 # 'make clean' removes *.o *~ core* and executable files
|
jpayne@69
|
11 #
|
jpayne@69
|
12 # 'make dist' creates a gzipped tarfile of the MUMmer directories
|
jpayne@69
|
13 #
|
jpayne@69
|
14 # 'make install' alias for 'make all' (for compatibility)
|
jpayne@69
|
15 #
|
jpayne@69
|
16 # 'make kurtz' builds Stefan's mummer program in the base directory
|
jpayne@69
|
17 #
|
jpayne@69
|
18 # 'make scripts' builds the MUMmer scripts in the base directory
|
jpayne@69
|
19 #
|
jpayne@69
|
20 # 'make tigr' builds TIGR's code in the base directory
|
jpayne@69
|
21 #
|
jpayne@69
|
22 # 'make uninstall' alias for 'make clean' (for compatibility)
|
jpayne@69
|
23 #
|
jpayne@69
|
24 #-------------------------------------------------------------------------------
|
jpayne@69
|
25 SHELL = /bin/sh
|
jpayne@69
|
26 VERSION := 3.23
|
jpayne@69
|
27
|
jpayne@69
|
28
|
jpayne@69
|
29 TOP_DIR := $(CURDIR)
|
jpayne@69
|
30 BIN_DIR := $(TOP_DIR)
|
jpayne@69
|
31 AUX_BIN_DIR := $(TOP_DIR)/aux_bin
|
jpayne@69
|
32
|
jpayne@69
|
33 DOC_DIR := $(TOP_DIR)/docs
|
jpayne@69
|
34 SCRIPT_DIR := $(TOP_DIR)/scripts
|
jpayne@69
|
35 TIGR_SRC_DIR := $(TOP_DIR)/src/tigr
|
jpayne@69
|
36 KURTZ_SRC_DIR := $(TOP_DIR)/src/kurtz
|
jpayne@69
|
37
|
jpayne@69
|
38 CC := $(filter /%,$(shell /bin/sh -c 'type gcc'))
|
jpayne@69
|
39 CXX := $(filter /%,$(shell /bin/sh -c 'type g++'))
|
jpayne@69
|
40 SED := $(filter /%,$(shell /bin/sh -c 'type sed'))
|
jpayne@69
|
41 CSH := $(filter /%,$(shell /bin/sh -c 'type csh'))
|
jpayne@69
|
42 PERL := $(filter /%,$(shell /bin/sh -c 'type perl'))
|
jpayne@69
|
43 AR := $(filter /%,$(shell /bin/sh -c 'type ar'))
|
jpayne@69
|
44
|
jpayne@69
|
45 CXXFLAGS = -O3
|
jpayne@69
|
46 CFLAGS = -O3
|
jpayne@69
|
47 LDFLAGS =
|
jpayne@69
|
48
|
jpayne@69
|
49 FLATS = ACKNOWLEDGEMENTS COPYRIGHT INSTALL LICENSE Makefile README ChangeLog
|
jpayne@69
|
50
|
jpayne@69
|
51
|
jpayne@69
|
52
|
jpayne@69
|
53 #-- EXPORT THESE VARIABLES TO OTHER MAKEFILES
|
jpayne@69
|
54 export BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
|
jpayne@69
|
55
|
jpayne@69
|
56
|
jpayne@69
|
57
|
jpayne@69
|
58
|
jpayne@69
|
59 #-- PHONY rules --#
|
jpayne@69
|
60 .PHONY: all check clean dist scripts uninstall
|
jpayne@69
|
61
|
jpayne@69
|
62
|
jpayne@69
|
63 all: kurtz tigr scripts
|
jpayne@69
|
64
|
jpayne@69
|
65
|
jpayne@69
|
66 check:
|
jpayne@69
|
67 ifndef TOP_DIR
|
jpayne@69
|
68 @echo "ERROR: could not find working directory"
|
jpayne@69
|
69 endif
|
jpayne@69
|
70 ifndef CC
|
jpayne@69
|
71 @echo "ERROR: 'gcc' GNU C compiler not found"
|
jpayne@69
|
72 endif
|
jpayne@69
|
73 ifndef CXX
|
jpayne@69
|
74 @echo "ERROR: 'g++' GNU C++ compiler not found"
|
jpayne@69
|
75 endif
|
jpayne@69
|
76 ifndef SED
|
jpayne@69
|
77 @echo "ERROR: 'sed' StreamEDitor not found"
|
jpayne@69
|
78 endif
|
jpayne@69
|
79 ifndef CSH
|
jpayne@69
|
80 @echo "ERROR: 'csh' C-shell not found"
|
jpayne@69
|
81 endif
|
jpayne@69
|
82 ifndef PERL
|
jpayne@69
|
83 @echo "ERROR: 'perl' PERL not found"
|
jpayne@69
|
84 endif
|
jpayne@69
|
85 ifndef AR
|
jpayne@69
|
86 @echo "ERROR: 'ar' GNU archiver not found"
|
jpayne@69
|
87 endif
|
jpayne@69
|
88 @echo "check complete"
|
jpayne@69
|
89
|
jpayne@69
|
90
|
jpayne@69
|
91 clean:
|
jpayne@69
|
92 rm -f *~ core*
|
jpayne@69
|
93 cd $(KURTZ_SRC_DIR); $(MAKE) clean
|
jpayne@69
|
94 cd $(TIGR_SRC_DIR); $(MAKE) clean
|
jpayne@69
|
95 cd $(SCRIPT_DIR); $(MAKE) clean
|
jpayne@69
|
96 cd $(DOC_DIR); $(MAKE) clean
|
jpayne@69
|
97
|
jpayne@69
|
98
|
jpayne@69
|
99 dist: DISTDIR = MUMmer$(VERSION)
|
jpayne@69
|
100 dist:
|
jpayne@69
|
101 mkdir $(DISTDIR)
|
jpayne@69
|
102 cp -r aux_bin $(DISTDIR)
|
jpayne@69
|
103 cp -r docs $(DISTDIR)
|
jpayne@69
|
104 cp -r scripts $(DISTDIR)
|
jpayne@69
|
105 cp -r src $(DISTDIR)
|
jpayne@69
|
106 cp $(FLATS) $(DISTDIR)
|
jpayne@69
|
107 rm -rf `find $(DISTDIR) -name CVS`
|
jpayne@69
|
108 tar -cvf $(DISTDIR).tar $(DISTDIR)
|
jpayne@69
|
109 gzip $(DISTDIR).tar
|
jpayne@69
|
110 rm -rf $(DISTDIR)
|
jpayne@69
|
111
|
jpayne@69
|
112
|
jpayne@69
|
113 install: all
|
jpayne@69
|
114
|
jpayne@69
|
115
|
jpayne@69
|
116 kurtz:
|
jpayne@69
|
117 cd $(KURTZ_SRC_DIR); $(MAKE) mummer
|
jpayne@69
|
118
|
jpayne@69
|
119
|
jpayne@69
|
120 scripts:
|
jpayne@69
|
121 cd $(SCRIPT_DIR); $(MAKE) all
|
jpayne@69
|
122
|
jpayne@69
|
123
|
jpayne@69
|
124 tigr:
|
jpayne@69
|
125 cd $(TIGR_SRC_DIR); $(MAKE) all
|
jpayne@69
|
126
|
jpayne@69
|
127
|
jpayne@69
|
128 uninstall: clean
|
jpayne@69
|
129
|
jpayne@69
|
130
|
jpayne@69
|
131 #-- END OF MAKEFILE --#
|