source: trunk/MagicSoft/Simulation/Detector/Camera/Makefile@ 5097

Last change on this file since 5097 was 5097, checked in by moralejo, 21 years ago
Simplified. Now the Mars libraries are simply used for linking, but no Mars code is compiled by this Makefile.
File size: 4.7 KB
Line 
1##################################################################
2#
3# makefile
4#
5# @file makefile
6# @title Simulation of the camera and trigger logic
7# @author J C Gonz\'alez
8# @email gonzalez@mppmu.mpg.de
9# @date Fri Mar 12 11:51:11 MET 1999
10#
11#_______________________________________________________________
12#
13# Created: Fri Mar 12 11:51:11 MET 1999
14# Author: Jose Carlos Gonzalez
15# Purpose: Makefile for the compilation of the camera program
16# Notes:
17#
18#---------------------------------------------------------------
19#
20# $RCSfile: Makefile,v $
21# $Revision: 1.26 $
22# $Author: moralejo $
23# $Date: 2004-09-17 10:34:13 $
24#
25##################################################################
26# @maintitle
27
28# @code
29
30INCLUDEMK = config.mk.${OSTYPE}
31include ${INCLUDEMK}
32
33# @endcode
34
35# @code
36
37# common flags
38INCLUDES = -I${INCLUDE} \
39 -I${INCLUDE_COR} \
40 -I${INCLUDE_MC} \
41 -I${INCLUDE_LONS} \
42 -I${INCLUDE_STAR} \
43 -I${INCLUDE_TRIGGER} \
44 -I${INCLUDE_FADC} \
45 -I${INCLUDE_ROOT} \
46 -I${INCLUDE_CPLUS} \
47 -I${INCLUDE_MARS_MBASE} \
48 -I${INCLUDE_MARS_MGEOM} \
49 -I${INCLUDE_MARS_MGUI} \
50 -I${INCLUDE_MARS_MC} \
51 -I${INCLUDE_MARS_MRAW}
52
53RANLIB = -L${RANLIBDIR} -lranlib
54
55# what is needed for ROOT is inside the config.mk... file
56
57
58# special flags
59
60osf_FORLIBS = -lUfor -lfor -lutil -lots -lm
61linux_FORLIBS = -lm -ldl
62generic_FORLIBS = -lm
63
64FORLIBS = ${${SYSTEM}_FORLIBS}
65MARSLIBS = ../../../Mars/libmars.so
66
67# compilation and linking flags
68
69CXXFLAGS = -D__${SYSTEM}__ $(ROOTCFLAGS) ${INCLUDES} ${OPTIM} ${DEBUG}
70CFLAGS = ${CXXFLAGS}
71FFLAGS = ${CXXFLAGS}
72LIBS = ${RANLIB} ${ROOTLIBS} ${ROOTGLIBS} ${GLIBS} ${MARSLIBS}
73
74#------------------------------------------------------------------------------
75
76#.SILENT:
77
78.SUFFIXES: .c .cc .cxx .C .c++ .h .hxx .H .h++ .o .so .f
79
80SRCS = \
81 ${INCLUDE_MC}/MCEventHeader.cxx \
82 ${INCLUDE_MC}/MCEventHeader_2.cxx \
83 ${INCLUDE_MC}/MCCphoton.cxx \
84 ${INCLUDE_LONS}/MLons.cxx \
85 ${INCLUDE_STAR}/MStarLight.cxx \
86 ${INCLUDE_TRIGGER}/MTrigger.cxx \
87 ${INCLUDE_TRIGGER}/MGTriggerSignal.cxx \
88 ${INCLUDE_FADC}/MFadc.cxx \
89 ${INCLUDE_FADC}/MGFadcSignal.cxx \
90 creadparam.cxx \
91 camera.cxx
92
93HEADERS = \
94 MCEventHeader.hxx \
95 MCEventHeader_2.hxx \
96 MCCphoton.hxx \
97 MLons.hxx \
98 MStarLight.hxx \
99 MTRigger.hxx \
100 MGTriggerSignal.hxx \
101 MFadc.hxx \
102 MGFadcSignal.hxx \
103 lagrange.h \
104 atm.h \
105 creadparam.h \
106 camera.h
107
108OBJS = \
109 ${INCLUDE_MC}/MCEventHeader.o \
110 ${INCLUDE_MC}/MCEventHeader_2.o \
111 ${INCLUDE_MC}/MCCphoton.o \
112 ${INCLUDE_LONS}/MLons.o \
113 ${INCLUDE_STAR}/MStarLight.o \
114 ${INCLUDE_TRIGGER}/MTrigger.o \
115 ${INCLUDE_TRIGGER}/MGTriggerSignal.o \
116 ${INCLUDE_FADC}/MFadc.o \
117 ${INCLUDE_FADC}/MGFadcSignal.o \
118 creadparam.o \
119 camera.o
120
121############################################################
122
123all: rmlib rmtrig $(PROGRAM)
124 @echo " Done. "
125 @echo " "
126
127$(PROGRAM): $(LIBRARIES) $(OBJS) $(PROGRAMS:=.o)
128 @echo " Linking $@ ..."
129 $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@
130
131$(CLEANERS): makefiles
132 @echo "Cleaning $(@:.clean=):"
133 (cd $(@:.clean=); make clean; cd ..;)
134rmtrig:
135 @echo " Removing ..."
136 @echo " "
137 @rm -f ${INCLUDE_TRIGGER}/*.o
138
139depend: rmtrig
140 @makedepend $(SRCS) $(INCLUDES) -fMakefile 2> kk.kk ; cat kk.kk
141
142doc: camera-doc
143
144camera-doc:
145 @echo "Generating documentation for camera . . . "
146 $(DOCUM) -latex -o camera.tex \
147 camera.cxx camera.h \
148 creadparam.cxx creadparam.h \
149 moments.cxx moments.h
150 latex "\nonstopmode\input{camera.tex}" && \
151 makeindex camera && \
152 latex "\nonstopmode\input{camera.tex}" && \
153 latex "\nonstopmode\input{camera.tex}"
154 @echo "Files camera.tex and camera.dvi generated."
155
156.cxx.o:
157 @echo "Compiling " $<
158 $(CXX) $(CXXFLAGS) -c $< -o $@
159
160.cc.o:
161 @echo "Compiling " $<
162 $(CXX) $(CXXFLAGS) -c $< -o $@
163
164.c.o:
165 @echo "Compiling " $<
166 $(CC) $(CFLAGS) -c $< -o $@
167
168makefiles:
169 @cp Makefile.* ${INCLUDE_EVITA}
170
171lclean:
172 @echo "Cleanning..."
173 @rm -f *.o core
174
175clean: $(CLEANERS) rmcint rmobjs
176 @echo "Cleanning...done"
177
178mrproper: clean $(MRPROPERS)
179 @echo "Mr.Proper in action . . ."
180 @rm -f $(PROGRAM)
181
182listsrc:
183 @ls -m $(SRCS) $(HEADERS) | sed 's/,//g'
184
185redo: clean all
186
187cflags:
188 @echo $(INCLUDES) $(CXXFLAGS)
189
190#
191# The cleaning facility
192#
193
194rmcint:
195 @echo " Removing cint-stuff..."
196 @rm -f *Cint.*
197
198rmlib:
199 @echo " Removing libraries..."
200 @echo " "
201 @rm -f lib/lib*.a lib*.a
202
203rmobjs:
204 @echo " Removing object files..."
205 @rm -f *.o ../*/*.o
206
207rmcore:
208 @echo " Removing core files..."
209 @rm -f core*
210
211rmbin:
212 @echo " Removing binary files..."
213 @rm -f $(PROGRAM) lib/$(SOLIB) so_locations
214
215rmbak:
216 @echo " Removing backup files..."
217 @rm -f *~ kk.kk *.bak
218
219rmbakmac:
220 @echo " Removing backup files in macros"
221 @rm -f macros/*~
222
223rmhtml:
224 @echo " Removing htmldoc-tree"
225 @rm -rf htmldoc
226# @endcode
227
228# DO NOT DELETE THIS LINE -- make depend depends on it.
Note: See TracBrowser for help on using the repository browser.