source: branches/alma/src/Makefile@ 1519

Last change on this file since 1519 was 1519, checked in by Takeshi Nakazato, 16 years ago

New Development: No

JIRA Issue: Yes CAS-1043

Ready to Release: Yes

Interface Changes: No

What Interface Changed: Please list interface changes

Test Programs: asap_init()

s=sd.scantable('NRO_DATA_FILE',False)

Put in Release Notes: No

Module(s): Module Names change impacts.

Description: Get all necessary informations for ASAP table

using NROReader::getScanInfo() method.


File size: 5.8 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'.
9#TARGET := /tmp/_asap.so
10TARGET := /home/nakazato/tmp/_asap.so
11
12# the casa environment AIPSPATH has to be defined
13CASAROOT := $(word 1, $(CASAPATH))
14CASAARCH := $(word 2, $(CASAPATH))
15CASAINC := -I$(CASAROOT)/code/include -I$(CASAROOT)/$(CASAARCH)/include/casacore -I$(CASAROOT)/$(CASAARCH)/include
16CASALIB := $(CASAROOT)/$(CASAARCH)/lib
17
18
19# the compiler
20ifndef CXX
21 CXX := g++
22endif
23
24# compiler flags
25CXXFLAGS := -fPIC -O3 -g
26CXXFLAGS += -ansi -Wno-long-long -Wall
27#CXXOPTS := -DAIPS_NO_TEMPLATE_SRC
28CXXOPTS := -DAIPS_64B
29
30# darwin specific flags
31ifeq "$(CASAARCH)" "darwin"
32 CXXFLAGS +=-DAIPS_DARWIN
33 CXXFLAGS += -Wno-long-double
34endif
35
36# cfitsio
37CFITSIOROOT := /usr
38CFITSIOINC := -I$(CFITSIOROOT)/include/cfitsio
39#CFITSIOLIB := -L$(CFITSIOROOT)/lib -lcfitsio
40CFITSIOLIB := -lcfitsio
41
42#rpfits
43RPFITSROOT := /usr
44#RPFITSLIB := $(RPFITSROOT)/lib/librpfits.a
45RPFITSLIB := -lrpfits
46
47G2CROOT := /usr
48G2CARCH := $(G2CROOT)/lib/gcc/i386-apple-darwin8.7.1/4.2.0/libgcc.a
49G2CARCH := $(G2CROOT)/lib/gcc/powerpc-apple-darwin8.7.0/4.2.0/libgcc.a
50G2CARCH := $(G2CROOT)/lib/gcc/i386-redhat-linux/4.1.0/libgcc.a
51#G2CLIB := $(G2CROOT)/lib/libgfortran.a
52G2CLIB := -lg2c
53
54# This assumes all casa libs are static only (*.a)
55# if not than there might by symbol resolution errors.
56CASAPPLIB := -L$(CASALIB) \
57 -latnf -lcasa_images -lcasa_ms -lcasa_components -lcasa_coordinates \
58 -lcasa_lattices -lcasa_fits -lcasa_measures -lcasa_measures_f \
59 -lcasa_tables -lcasa_scimath -lcasa_scimath_f -lcasa_casa \
60 /usr/lib64/libwcs.so \
61 $(RPFITSLIB) $(CFITSIOLIB) $(G2CLIB) -lstdc++
62
63# darwin specific CASA flags
64ifeq "$(CASAARCH)" "darwin"
65 CASAPPLIB += -framework vecLib
66else
67 CASAPPLIB += -llapack -lblas
68endif
69
70# python
71PYVERSION := 2.5
72PYTHONROOT := /usr/lib/casapy
73PYTHONINC := -I$(PYTHONROOT)/include/python$(PYVERSION)
74PYTHONLIB := -L$(PYTHONROOT)/lib -lpython$(PYVERSION)
75
76# use python universal build
77ifeq "$(CASAARCH)" "darwin"
78 PYVERSION := 2.5
79 PYTHONROOT := /Library/Frameworks/Python.framework/Versions/$(PYVERSION)
80 PYTHONINC := -I$(PYTHONROOT)/include/python$(PYVERSION)
81 PYTHONLIB := -L$(PYTHONROOT)/lib -framework Python
82endif
83
84# the linker
85LD := $(CXX)
86
87# has to be build with same g++ version as casa
88#BOOSTROOT := /home/casa/boost
89BOOSTROOT := /usr/lib/casapy
90#BOOSTLIB := -L$(BOOSTROOT)/lib -lboost_python-gcc34
91BOOSTLIB := -L$(BOOSTROOT)/lib -lboost_python
92#BOOSTINC := -I$(BOOSTROOT)/include/boost-1_35
93BOOSTINC := -I$(BOOSTROOT)/include/boost
94
95LDFLAGS := -shared -Wl$(TARGET) -s -Xlinker -rpath -Xlinker $(BOOSTROOT)/lib:$(PYTHONROOT)/lib:$(CASALIB)
96ifeq "$(CASAARCH)" "darwin"
97 LDFLAGS := -bundle
98endif
99
100
101# DO NOT MODIFY AFTER THIS
102INCDIRS := -I. $(CASAINC) $(CFITSIOINC) $(BOOSTINC) $(PYTHONINC)
103LIBS := $(PYTHONLIB) $(BOOSTLIB) $(CASAPPLIB)
104
105CCOBJECTS := MathUtils.o \
106 RowAccumulator.o \
107 Logger.o \
108 LineCatalog.o \
109 STAttr.o \
110 STHeader.o \
111 STFiller.o \
112 STMath.o \
113 STSubTable.o \
114 STMolecules.o \
115 STTcal.o \
116 STFocus.o \
117 STWeather.o \
118 STFrequencies.o \
119 STHistory.o \
120 STSelector.o \
121 STLineFinder.o \
122 STFitter.o \
123 STFitEntry.o \
124 STFit.o \
125 STPol.o \
126 STPolLinear.o \
127 STPolCircular.o \
128 STPolStokes.o \
129 STWriter.o \
130 STAsciiWriter.o \
131 Scantable.o \
132 Templates.o
133PYOBJECTS := python_Scantable.o \
134 python_STFiller.o \
135 python_STSelector.o \
136 python_STMath.o \
137 python_Fitter.o \
138 python_Logger.o \
139 python_STLineFinder.o \
140 python_STFitEntry.o \
141 python_STWriter.o \
142 python_LineCatalog.o \
143 python_asap.o
144
145OBJECTS := $(CCOBJECTS) $(PYOBJECTS)
146
147HEADERS := MathUtils.h \
148 Logger.h \
149 STAttr.h \
150 STHeader.h \
151 Scantable.h \
152 STFiller.h \
153 STMath.h \
154 RowAccumulator.h \
155 STSubTable.h \
156 STMolecules.h \
157 STTcal.h \
158 STFocus.h \
159 STWeather.h \
160 STHistory.h \
161 STFrequencies.h \
162 STDefs.h \
163 STWriter.h \
164 STSelector.h \
165 STFitter.h \
166 STFit.h \
167 STFitEntry.h \
168 STLineFinder.h \
169 Factory.h \
170 FactoryBase.h \
171 STPol.h \
172 STPolStokes.h \
173 STPolCircular.h \
174 STPolLinear.h \
175 STWriter.h \
176 STAsciiWriter.h
177
178STATICCCLIB := libasap.a
179MEMBERS := $(patsubst %,$(STATICCCLIB)(%),$(CCOBJECTS))
180
181.SUFFIXES: .c .o .cpp .cc .cxx .C
182
183.cpp.o:
184 -@ echo
185 $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
186
187.cc.o:
188 -@ echo
189 $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
190
191.cxx.o:
192 -@ echo
193 $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
194
195.C.o:
196 -@ echo
197 $(CXX) $(CXXOPTS) -c $(CXXFLAGS) $(INCDIRS) -o $@ $<
198
199
200.PHONY : all clean objects realclean relink
201
202all : $(TARGET)
203
204relink : cleanso $(TARGET)
205
206objects : $(OBJECTS)
207
208$(TARGET) : $(OBJECTS)
209 -@ echo
210 $(LD) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
211
212$(OBJECTS) : $(HEADERS)
213
214staticlib: $(MEMBERS)
215
216clean :
217 -rm -f $(OBJECTS)
218
219cleanso :
220 -rm -f $(TARGET)
221
222realclean : clean cleanso
223
224test: objects tasap2.o
225 -@ echo
226 $(LD) -g -o /tmp/tasap2 $(OBJECTS) $(LIBS) tasap2.o
Note: See TracBrowser for help on using the repository browser.