source: trunk/src/Makefile

Last change on this file was 2415, checked in by WataruKawasaki, 12 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s): sd

Description: changed the path to include Lorentzian1D.h now at the new location under casacore. also modified Makefile to not see Lorentzian*.h under asap/src (the Lorentzian* files under asap/src will be kept for a while then be removed because we now have them under casacore).


File size: 7.1 KB
Line 
1### Notice:
2###    This Makefile assumes CASA+CASACore enviroment.
3###    For who wants to build ASAP with older CASA without CASACore,
4###    1. Replace $(CASAPATH) with $(AIPSPATH).
5###    2. CASAINC should be
6###        '-I$(CASAROOT)/code/include -I$(CASAROOT)/code/casa'
7###    3. Replase library names in G2CARCH '-lcasa_*' with '-l*'.
8###    4. Comment-IN the definition of 'CXXOPTS'.
9TARGET   := /tmp/_asap.so
10
11ifndef ASAPROOT
12        ASAPROOT := $(abspath ..)
13endif
14ATNFD := external-alma
15
16# the casa environment AIPSPATH has to be defined
17CASAROOT  := $(word 1, $(CASAPATH))
18CASAARCH  := $(word 2, $(CASAPATH))
19
20CXXFLAGS := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=CXXFLAGS eval_vars) && echo $$CXXFLAGS)
21CXXOPTS := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=COPTFLAGS eval_vars) && echo $$COPTFLAGS)
22LDFLAGS := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=LD_FLAGS eval_vars) && echo $$LD_FLAGS)
23
24COREINCD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=COREINCD eval_vars) && echo $$COREINCD)
25CORELIB := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=CORELIB eval_vars) && echo $$CORELIB)
26WCSLIBLIBD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=WCSLIBLIBD eval_vars) && echo $$WCSLIBLIBD)
27WCSLIBLIB := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=WCSLIBLIB eval_vars) && echo $$WCSLIBLIB)
28PYTHONROOT := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=PYTHONROOT eval_vars) && echo $$PYTHONROOT)
29PYTHONLIBD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=PYTHONLIBD eval_vars) && echo $$PYTHONLIBD)
30PYTHONINCD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=PYTHONINCD eval_vars) && echo $$PYTHONINCD)
31PYTHONLIB := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=PYTHONLIB eval_vars) && echo $$PYTHONLIB)
32BOOSTROOT := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=BOOSTROOT eval_vars) && echo $$BOOSTROOT)
33RPFITSLIBD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=RPFITSLIBD eval_vars) && echo $$RPFITSLIBD)
34CFITSIOLIBD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=CFITSIOLIBD eval_vars) && echo $$CFITSIOLIBD)
35CFITSIOINCD := $(shell $(shell make -s -f $(CASAROOT)/$(CASAARCH)/makedefs VARS=CFITSIOINCD eval_vars) && echo $$CFITSIOINCD)
36
37CASAINC   := -I$(CASAROOT)/code/include -I$(COREINCD) -I$(CASAROOT)/$(CASAARCH)/include
38CASALIB   := $(CASAROOT)/$(CASAARCH)/lib
39CASACORELIB := $(filter $(CASALIB)/libcasa%, $(CORELIB))
40
41# the compiler
42ifndef CXX
43   CXX      := g++
44endif
45
46# compiler flags
47CXXFLAGS += -fPIC -DHAVE_LIBPYRAP
48
49PYRAPD := external/libpyrap
50PYRAPLIBD := $(ASAPROOT)/$(PYRAPD)
51PYRAPINCD := $(ASAPROOT)/$(PYRAPD)/pyrap-0.3.2
52PYRAPLIB := -L$(PYRAPLIBD) -lpyrap
53
54
55CFITSIOLIB := -lcfitsio
56
57#rpfits
58RPFITSLIB := -lrpfits
59
60G2CROOT := /usr
61G2CLIB := -lgfortran
62
63# links to external libraries
64CASAPPLIB := -L$(ASAPROOT)/$(ATNFD) -latnf $(CORELIB) $(PYRAPLIB)\
65             -L$(WCSLIBLIBD) $(WCSLIBLIB) \
66             -L$(RPFITSLIBD) $(RPFITSLIB) $(CFITSIOLIB) $(G2CLIB) -lstdc++
67
68# darwin specific CASA flags
69ifeq ($(shell uname), Darwin)
70   CASAPPLIB += -framework vecLib
71else
72   CASAPPLIB += -llapack -lblas
73endif
74
75LD        := $(CXX)
76
77# has to be build with same g++ version as casa
78BOOSTLIB  := -L$(BOOSTROOT)/lib -lboost_python
79BOOSTINC  := -I$(BOOSTROOT)/include/boost -I$(BOOSTROOT)/include
80
81LDFLAGS   += -shared
82
83
84# DO NOT MODIFY AFTER THIS
85INCDIRS   := -I. $(CASAINC)  -I$(CFITSIOINCD) $(BOOSTINC) $(addprefix -I, $(PYTHONINCD)) -I$(ASAPROOT)/$(ATNFD) -I$(PYRAPINCD)
86LIBS      := $(PYTHONLIB)  $(BOOSTLIB) $(CASAPPLIB)
87
88CCOBJECTS := MathUtils.o \
89             RowAccumulator.o \
90             Logger.o \
91             LineCatalog.o \
92             STAttr.o \
93             STHeader.o \
94             STFiller.o \
95             STMath.o \
96             STSubTable.o \
97             STMolecules.o \
98             STTcal.o \
99             STFocus.o \
100             STWeather.o \
101             STFrequencies.o \
102             STHistory.o \
103             STSelector.o \
104             STLineFinder.o \
105             STFitter.o \
106             STFitEntry.o \
107             STFit.o \
108             STPol.o \
109             STPolLinear.o \
110             STPolCircular.o \
111             STPolStokes.o \
112             STWriter.o \
113             STAsciiWriter.o \
114             STFITSImageWriter.o \
115             STAtmosphere.o \
116             Scantable.o \
117             FillerBase.o \
118             NROFiller.o \
119             PKSFiller.o \
120             AsapLogSink.o \
121             Templates.o
122
123PYOBJECTS := python_Scantable.o \
124             python_STFiller.o \
125             python_STSelector.o \
126             python_STMath.o \
127             python_Fitter.o \
128             python_Logger.o \
129             python_STLineFinder.o \
130             python_STFitEntry.o \
131             python_STWriter.o \
132             python_LineCatalog.o \
133             python_SrcType.o \
134             python_STAtmosphere.o \
135             python_STCoordinate.o \
136             python_Filler.o \
137             python_LogSink.o \
138             python_asap.o
139
140OBJECTS := $(CCOBJECTS) $(PYOBJECTS)
141
142HEADERS   := MathUtils.h \
143             LineCatalog.h \
144             Logger.h \
145             STAttr.h \
146             STHeader.h \
147             Scantable.h \
148             STFiller.h \
149             STMath.h \
150             RowAccumulator.h \
151             STSubTable.h \
152             STMolecules.h \
153             STTcal.h \
154             STFocus.h \
155             STWeather.h \
156             STHistory.h \
157             STFrequencies.h \
158             STDefs.h \
159             STWriter.h \
160             STSelector.h \
161             STFitter.h \
162             STFit.h \
163             STFitEntry.h \
164             STLineFinder.h \
165             Factory.h \
166             FactoryBase.h \
167             STPol.h \
168             STPolStokes.h \
169             STPolCircular.h \
170             STPolLinear.h \
171             STWriter.h \
172             STAsciiWriter.h \
173             STFITSImageWriter.h \
174             IndexedCompare.h \
175             STAtmosphere.h \
176             STCoordinate.h \
177             FillerBase.h \
178             NROFiller.h \
179             PKSFiller.h \
180             AsapLogSink.h
181
182# external libraries
183ifeq ($(shell uname), Darwin)
184        ATNF := $(ASAPROOT)/$(ATNFD)/libatnf.dylib
185        PYRAP := $(ASAPROOT)/$(PYRAPD)/libpyrap.dylib
186else
187        ATNF := $(ASAPROOT)/$(ATNFD)/libatnf.so
188        PYRAP := $(ASAPROOT)/$(PYRAPD)/libpyrap.so
189endif
190
191STATICCCLIB := libasap.a
192MEMBERS := $(patsubst %,$(STATICCCLIB)(%),$(CCOBJECTS))
193
194.SUFFIXES: .c .o .cpp .cc .cxx .C
195
196.cpp.o:
197        -@ echo
198          $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
199
200.cc.o:
201        -@ echo
202          $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
203
204.cxx.o:
205        -@ echo
206          $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
207
208.C.o:
209        -@ echo
210          $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
211
212
213.PHONY : all clean objects realclean relink
214
215all : $(TARGET)
216
217relink : cleanso $(TARGET)
218
219objects : $(OBJECTS)
220
221$(TARGET) : $(OBJECTS)
222        -@ echo
223          $(LD) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
224
225$(OBJECTS) : $(HEADERS) $(CASACORELIB) $(ATNF) $(PYRAP)
226
227staticlib: $(MEMBERS)
228
229clean :
230        -rm -f $(OBJECTS)
231
232cleanso :
233        -rm -f $(TARGET)
234
235realclean : clean cleanso
236
237test: objects tasap2.o
238        -@ echo
239          $(LD) -g -o /tmp/tasap2 $(OBJECTS) $(LIBS) tasap2.o
Note: See TracBrowser for help on using the repository browser.