source: trunk/src2/core/Makefile.in @ 951

Last change on this file since 951 was 951, checked in by gah, 16 years ago

added datarootdir to Makefile.in

File size: 5.8 KB
Line 
1# Makefile for Rappture2
2# Copyright (C) 2004-2007 Derrick S. Kearney.
3# For conditions of distribution and use, see license.terms
4
5# To compile and test, type:
6#    ./configure; make test
7# The call of configure is optional if you don't have special requirements
8#
9# To install librappture2.* and rappture2.h, type:
10#    make install
11# To install in $HOME instead of /usr/local, use:
12#    make install prefix=$HOME
13
14CXX             = @CXX@
15
16CFLAGS=-g -Wall -fPIC
17#CFLAGS=-O
18#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
19#CFLAGS=-g -DDEBUG
20#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
21#           -Wstrict-prototypes -Wmissing-prototypes
22
23LDFLAGS=librappture2.a
24LDSHARED=$(CXX)
25CPP=$(CC) -E
26
27LIBS=librappture2.a
28SHAREDLIB=librappture2.so
29SHAREDLIBV=librappture2.so.0.0
30SHAREDLIBM=librappture2.so.1
31
32AR=ar rcv
33RANLIB=ranlib
34TAR=tar
35SHELL=/bin/sh
36EXE=
37
38prefix = @prefix@
39datadir = @datadir@
40datarootdir = @datarootdir@
41exec_prefix = ${prefix}
42libdir = ${exec_prefix}/lib
43includedir = ${prefix}/include
44mandir = ${prefix}/share/man
45man3dir = ${mandir}/man3
46
47OBJS = RpMesh1D.o RpField1D.o RpMeshTri2D.o RpMeshRect3D.o \
48       RpFieldRect3D.o RpMeshPrism3D.o RpFieldPrism3D.o RpSerialBuffer.o \
49       RpSerializer.o RpSerializable.o RpBuffer.o RpEncode.o Ptr.o Outcome.o
50       # Lookup.o
51
52OBJA =
53# to use the asm code: make OBJA=match.o
54
55TEST_OBJS = test.o RpBuffer_test.o
56
57all: test$(EXE) RpBuffer_test$(EXE)
58
59check: testall
60testall: all
61        @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
62        if ./test; then \
63          echo '                *** test test OK ***'; \
64        else \
65          echo '                *** test test FAILED ***'; \
66        fi
67        if ./RpBuffer_test; then \
68          echo '                *** RpBuffer_test test OK ***'; \
69        else \
70          echo '                *** RpBuffer_test test FAILED ***'; \
71        fi
72
73librappture2.a: $(OBJS) $(OBJA)
74        $(AR) $@ $(OBJS) $(OBJA)
75        -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
76
77$(SHAREDLIBV): $(OBJS)
78        $(LDSHARED) -shared -o $@ $(OBJS) @LIB_SEARCH_DIRS@ -lz -lb64
79        rm -f $(SHAREDLIB) $(SHAREDLIBM)
80        ln -s $@ $(SHAREDLIB)
81        ln -s $@ $(SHAREDLIBM)
82
83test(EXE): test.o Ptr.o Outcome.o Lookup.o
84        $(CXX) $(CFLAGS) -o $@ test.o Ptr.o Outcome.o Lookup.o
85
86
87RpBuffer_test$(EXE): RpBuffer_test.o $(LIBS)
88        $(CXX) $(CFLAGS) -o $@ RpBuffer_test.o $(LDFLAGS) @LIB_SEARCH_DIRS@ -lz -lb64
89
90install: $(LIBS) $(SHAREDLIBV)
91        -@if [ ! -d $(exec_prefix) ]; then mkdir -p $(exec_prefix); fi
92        -@if [ ! -d $(includedir)/rappture2  ]; then mkdir -p $(includedir)/rappture2; fi
93        -@if [ ! -d $(libdir)      ]; then mkdir -p $(libdir); fi
94        -@if [ ! -d $(man3dir)     ]; then mkdir -p $(man3dir); fi
95        cp *.h $(includedir)/rappture2
96        chmod 644 $(includedir)/rappture2/*.h
97        cp $(LIBS) $(libdir)
98        cp $(SHAREDLIBV) $(libdir)
99        cd $(libdir); chmod 755 $(LIBS)
100        -@(cd $(libdir); $(RANLIB) librappture2.a || true) >/dev/null 2>&1
101        cd $(libdir); if test -f $(SHAREDLIBV); then \
102          rm -f $(SHAREDLIB) $(SHAREDLIBM); \
103          ln -s $(SHAREDLIBV) $(SHAREDLIB); \
104          ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
105          (ldconfig || true)  >/dev/null 2>&1; \
106        fi
107#       cp rappture.3 $(man3dir)
108#       chmod 644 $(man3dir)/rappture.3
109# The ranlib in install is needed on NeXTSTEP which checks file times
110# ldconfig is for Linux
111
112uninstall:
113        cd $(includedir)/rappture2; rm *.h; \
114        cd $(libdir); rm -f librappture2.a; \
115        if test -f $(SHAREDLIBV); then \
116          rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
117        fi
118        cd $(man3dir); rm -f rappture.3
119
120mostlyclean: clean
121clean:
122        rm -f *.o *~ viz buffer1.txt test$(EXE) RpBuffer_test$(EXE) librappture2.*
123
124maintainer-clean: distclean
125distclean: clean
126        rm Makefile
127
128depend:
129        makedepend -- $(CFLAGS) -- *.[ch]
130
131# DO NOT DELETE THIS LINE -- make depend depends on it.
132
133viz: viz.o librappture2.a
134        $(CXX) $(CFLAGS) -o viz $^
135
136libviz.a: Outcome.o RpMesh1D.o RpField1D.o RpMeshTri2D.o RpMeshRect3D.o RpFieldRect3D.o RpMeshPrism3D.o RpFieldPrism3D.o RpSerialBuffer.o RpSerializer.o RpSerializable.o RpBuffer.o
137        $(AR) $@ $^
138
139viz.o: viz.cc
140        $(CXX) $(CFLAGS) -c -o viz.o viz.cc
141
142test: test.o Ptr.o Outcome.o Lookup.o
143        $(CXX) $(CFLAGS) -o test test.o Ptr.o Outcome.o Lookup.o
144
145docs:
146        if test ! -d ../../docs/rappture2; then \
147          mkdir ../../docs; \
148          mkdir ../../docs/rappture2; \
149        fi
150        doxygen
151
152test.o: test.cc Ptr.h
153        $(CXX) $(CFLAGS) -c -o test.o test.cc
154
155Ptr.o: Ptr.h Ptr.cpp
156        $(CXX) $(CFLAGS) -c -o Ptr.o Ptr.cpp
157
158Outcome.o: Outcome.cpp Ptr.h
159        $(CXX) $(CFLAGS) -c -o Outcome.o Outcome.cpp
160
161Lookup.o: Lookup.cpp Ptr.h
162        $(CXX) $(CFLAGS) -c -o Lookup.o Lookup.cpp
163
164RpMesh1D.o: RpMesh1D.cc RpMesh1D.h RpNode.h
165        $(CXX) $(CFLAGS) -c -o RpMesh1D.o RpMesh1D.cc
166
167RpField1D.o: RpField1D.cc RpField1D.h RpMesh1D.h RpNode.h
168        $(CXX) $(CFLAGS) -c -o RpField1D.o RpField1D.cc
169
170RpMeshTri2D.o: RpMeshTri2D.cc RpMeshTri2D.h RpNode.h
171        $(CXX) $(CFLAGS) -c -o RpMeshTri2D.o RpMeshTri2D.cc
172
173RpFieldTri2D.o: RpFieldTri2D.cc RpFieldTri2D.h RpNode.h
174        $(CXX) $(CFLAGS) -c -o RpFieldTri2D.o RpFieldTri2D.cc
175
176RpMeshRect3D.o: RpMeshRect3D.cc RpMeshRect3D.h RpNode.h
177        $(CXX) $(CFLAGS) -c -o RpMeshRect3D.o RpMeshRect3D.cc
178
179RpFieldRect3D.o: RpFieldRect3D.cc RpFieldRect3D.h RpNode.h
180        $(CXX) $(CFLAGS) -c -o RpFieldRect3D.o RpFieldRect3D.cc
181
182RpMeshPrism3D.o: RpMeshPrism3D.cc RpMeshPrism3D.h RpNode.h
183        $(CXX) $(CFLAGS) -c -o RpMeshPrism3D.o RpMeshPrism3D.cc
184
185RpFieldPrism3D.o: RpFieldPrism3D.cc RpFieldPrism3D.h RpNode.h
186        $(CXX) $(CFLAGS) -c -o RpFieldPrism3D.o RpFieldPrism3D.cc
187
188RpSerialBuffer.o: RpSerialBuffer.cc RpSerialBuffer.h
189        $(CXX) $(CFLAGS) -c -o RpSerialBuffer.o RpSerialBuffer.cc
190
191RpSerializer.o: RpSerializer.cc RpSerializer.h
192        $(CXX) $(CFLAGS) -c -o RpSerializer.o RpSerializer.cc
193
194RpSerializable.o: RpSerializable.cc RpSerializable.h
195        $(CXX) $(CFLAGS) -c -o RpSerializable.o RpSerializable.cc
196
197RpEncode.o: RpEncode.cc RpEncode.h
198        $(CXX) $(CFLAGS) -c -o RpEncode.o RpEncode.cc
199
200RpBuffer.o: RpBuffer.cc RpBuffer.h
201        $(CXX) $(CFLAGS) -c -o $@ -I ${includedir} RpBuffer.cc
202
203RpBuffer_test.o: RpBuffer_test.cc
204        $(CXX) $(CFLAGS) -c -o $@ -I ${includedir} RpBuffer_test.cc
205
Note: See TracBrowser for help on using the repository browser.