Ticket #109: Makefile

File Makefile, 4.9 KB (added by brent.nicholas@…, 13 years ago)

the Makefile

Line 
1CFLAGS = -O2 -ftree-vectorize
2
3FFLAGS = -C -fast -O4
4
5CC =    gcc $(CFLAGS)
6CXX =   g++ $(CFLAGS)
7F77=    gfortran $(FFLAGS)
8LINK=   gfortran
9
10BASE = ./src
11
12INSTALLDIR = /usr/local/bin
13LIBDIR = /usr/local/lib
14INCDIR = /usr/local/include/duchamp
15
16V = 1.1.10
17EXEC = Duchamp-$(V)
18EXEC-STUB = Duchamp
19
20AR = ar cq
21LIB = libduchamp.a
22RANLIB = ranlib
23
24INSTALL = install
25LN_S = ln -s
26
27PGPLOTINC = -I/opt/local/include
28PGPLOTLIB = -L/opt/local/lib -lcpgplot -lpgplot  -L/usr/X11/lib -R/usr/X11/lib  -lSM -lICE -lX11  -lz -lpng -lstdc++ -lm  -bind_at_load
29
30CFITSIOINC = -I/opt/local/include
31CFITSIOLIB = -L/opt/local/lib  -lcfitsio
32
33WCSINC = -I/usr/local/include -I/usr/local/include/wcslib
34WCSLIB = -L/usr/local/lib  -lwcs -lpgsbox
35
36CINC = $(PGPLOTINC) $(WCSINC) $(CFITSIOINC) -I$(BASE)
37
38LIBS = $(WCSLIB) $(CFITSIOLIB) $(PGPLOTLIB)
39
40ATROUSDIR = $(BASE)/ATrous
41PIXELMAPDIR = $(BASE)/PixelMap
42DETECTIONDIR = $(BASE)/Detection
43CUBESDIR = $(BASE)/Cubes
44FITSIODIR = $(BASE)/FitsIO
45UTILDIR = $(BASE)/Utils
46TESTDIR = ./verification
47
48HEADS = $(BASE)/duchamp.hh\
49        $(BASE)/pgheader.hh\
50        $(BASE)/param.hh\
51        $(BASE)/fitsHeader.hh\
52        $(PIXELMAPDIR)/Voxel.hh\
53        $(PIXELMAPDIR)/Scan.hh\
54        $(PIXELMAPDIR)/Object2D.hh\
55        $(PIXELMAPDIR)/Object3D.hh\
56        $(ATROUSDIR)/atrous.hh\
57        $(ATROUSDIR)/filter.hh\
58        $(DETECTIONDIR)/detection.hh\
59        $(DETECTIONDIR)/columns.hh\
60        $(DETECTIONDIR)/finders.hh\
61        $(DETECTIONDIR)/ObjectGrower.hh\
62        $(CUBESDIR)/cubes.hh\
63        $(CUBESDIR)/plots.hh\
64        $(CUBESDIR)/VOTable.hh\
65        $(UTILDIR)/Hanning.hh\
66        $(UTILDIR)/GaussSmooth1D.hh\
67        $(UTILDIR)/GaussSmooth2D.hh\
68        $(UTILDIR)/Section.hh\
69        $(UTILDIR)/Statistics.hh\
70        $(UTILDIR)/utils.hh\
71        $(UTILDIR)/feedback.hh\
72        $(UTILDIR)/mycpgplot.hh
73
74OBJECTS-NOPG = $(BASE)/mainDuchamp.o \
75        $(BASE)/duchamp.o\
76        $(BASE)/param.o\
77        $(BASE)/fitsHeader.o\
78        $(PIXELMAPDIR)/Voxel.o\
79        $(PIXELMAPDIR)/Scan.o\
80        $(PIXELMAPDIR)/Object2D.o\
81        $(PIXELMAPDIR)/Object3D.o\
82        $(ATROUSDIR)/filter.o\
83        $(ATROUSDIR)/atrous_1d_reconstruct.o\
84        $(ATROUSDIR)/atrous_2d_reconstruct.o\
85        $(ATROUSDIR)/atrous_3d_reconstruct.o\
86        $(ATROUSDIR)/baselineSubtract.o\
87        $(ATROUSDIR)/ReconSearch.o\
88        $(DETECTIONDIR)/detection.o\
89        $(DETECTIONDIR)/columns.o\
90        $(DETECTIONDIR)/ObjectGrower.o\
91        $(DETECTIONDIR)/areClose.o\
92        $(DETECTIONDIR)/growObject.o\
93        $(DETECTIONDIR)/lutz_detect.o\
94        $(DETECTIONDIR)/mergeIntoList.o\
95        $(DETECTIONDIR)/outputDetection.o\
96        $(DETECTIONDIR)/sorting.o\
97        $(DETECTIONDIR)/spectrumDetect.o\
98        $(CUBESDIR)/cubes.o\
99        $(CUBESDIR)/cubes_extended.o\
100        $(CUBESDIR)/baseline.o\
101        $(CUBESDIR)/CubicSearch.o\
102        $(CUBESDIR)/detectionIO.o\
103        $(CUBESDIR)/existingDetections.o\
104        $(CUBESDIR)/getImage.o\
105        $(CUBESDIR)/invertCube.o\
106        $(CUBESDIR)/Merger.o\
107        $(CUBESDIR)/momentMap.o\
108        $(CUBESDIR)/readRecon.o\
109        $(CUBESDIR)/readSmooth.o\
110        $(CUBESDIR)/saveImage.o\
111        $(CUBESDIR)/smoothCube.o\
112        $(CUBESDIR)/spectraUtils.o\
113        $(CUBESDIR)/trimImage.o\
114        $(CUBESDIR)/VOTable.o\
115        $(FITSIODIR)/dataIO.o\
116        $(FITSIODIR)/headerIO.o\
117        $(FITSIODIR)/subsection.o\
118        $(FITSIODIR)/wcsIO.o\
119        $(UTILDIR)/Section.o\
120        $(UTILDIR)/Statistics.o\
121        $(UTILDIR)/feedback.o\
122        $(UTILDIR)/GaussSmooth1D.o\
123        $(UTILDIR)/Hanning.o\
124        $(UTILDIR)/getStats.o\
125        $(UTILDIR)/linear_regression.o\
126        $(UTILDIR)/position_related.o\
127        $(UTILDIR)/sort.o\
128        $(UTILDIR)/string_related.o\
129        $(UTILDIR)/wcsFunctions.o\
130        $(UTILDIR)/zscale.o
131
132ifeq ($(strip $(PGPLOTLIB)),)
133  OBJECTS = $(OBJECTS-NOPG)
134else
135  OBJECTS = $(OBJECTS-NOPG)\
136        $(CUBESDIR)/drawBlankEdges.o\
137        $(CUBESDIR)/drawMomentCutout.o\
138        $(CUBESDIR)/outputSpectra.o\
139        $(CUBESDIR)/plotting.o\
140        $(UTILDIR)/mycpgplot.o\
141        $(CUBESDIR)/plots.o\
142        $(UTILDIR)/pgplot_related.o
143endif
144
145duchamp : $(OBJECTS)
146        $(LINK) -o $(EXEC) $(OBJECTS) $(LIBS)
147
148lib     : $(OBJECTS)
149        $(AR) $(LIB) $(OBJECTS)
150        $(RANLIB) $(LIB)
151
152createTestImage : $(TESTDIR)/createTestImage.o $(UTILDIR)/get_random_spectrum.o
153        $(CXX) -o createTestImage.x\
154        $(TESTDIR)/createTestImage.o $(UTILDIR)/get_random_spectrum.o\
155        $(CFITSIOLIB) -lstdc++ -lm
156
157install :
158        $(INSTALL) -d -m 2755 $(INSTALLDIR)
159        $(INSTALL) -m 755 $(EXEC) $(INSTALLDIR)
160        $(RM) $(INSTALLDIR)/$(EXEC-STUB)
161        cd $(INSTALLDIR) && $(LN_S) $(EXEC) $(EXEC-STUB)
162        -test ! -f $(LIB) || $(INSTALL) -d -m 2755 $(LIBDIR)
163        -test ! -f $(LIB) || $(INSTALL) -m 644 $(LIB) $(LIBDIR)
164        $(INSTALL) -d -m 2755 $(INCDIR)
165        $(INSTALL) -m 644 $(BASE)/*.hh $(INCDIR)
166        $(INSTALL) -m 644 $(BASE)/*.h $(INCDIR)
167        $(INSTALL) -d -m 2755 $(INCDIR)/Cubes
168        $(INSTALL) -m 644 $(CUBESDIR)/*.hh $(INCDIR)/Cubes
169        $(INSTALL) -d -m 2755 $(INCDIR)/ATrous
170        $(INSTALL) -m 644 $(ATROUSDIR)/*.hh $(INCDIR)/ATrous
171        $(INSTALL) -d -m 2755 $(INCDIR)/Detection
172        $(INSTALL) -m 644 $(DETECTIONDIR)/*.hh $(INCDIR)/Detection
173        $(INSTALL) -d -m 2755 $(INCDIR)/PixelMap
174        $(INSTALL) -m 644 $(PIXELMAPDIR)/*.hh $(INCDIR)/PixelMap
175        $(INSTALL) -d -m 2755 $(INCDIR)/Utils
176        $(INSTALL) -m 644 $(UTILDIR)/*.hh $(INCDIR)/Utils
177        $(INSTALL) -m 644 $(UTILDIR)/*.tcc $(INCDIR)/Utils
178
179$(OBJECTS) : $(HEADS)
180
181.cc.o:
182        $(CXX) -c $< $(CINC) -o $@
183
184.c.o:
185        $(CC) -c $< $(CINC) -o $@
186
187clean :
188        rm -f $(BASE)/*.o $(ATROUSDIR)/*.o $(CUBESDIR)/*.o $(FITSIODIR)/*.o $(DETECTIONDIR)/*.o $(UTILDIR)/*.o $(PIXELMAPDIR)/*.o