Conficuration files for the nonrecursive makefiles
[u/mrichter/AliRoot.git] / build / module.tpl
1
2 ifndef PACKFFLAGS
3 @PACKAGE@FFLAGS:=$(FFLAGS)
4 else
5 @PACKAGE@FFLAGS:=$(PACKFFLAGS)
6 endif
7
8 ifndef PACKCFLAGS
9 @PACKAGE@CFLAGS:=$(CFLAGS)
10 else
11 @PACKAGE@CFLAGS:=$(PACKCFLAGS)
12 endif
13
14 ifndef PACKCXXFLAGS
15 @PACKAGE@CXXFLAGS:=$(CXXFLAGS)
16 else
17 @PACKAGE@CXXFLAGS:=$(PACKCXXFLAGS)
18 endif
19
20
21 ifdef DHDR
22 WITHDICT=YES
23 else
24 WITHDICT=
25 endif
26
27 #Extra include,libs etc.
28 @PACKAGE@INC:=$(patsubst %,-I$(MODDIR)/%,$(EINCLUDE))
29 @PACKAGE@ELIBS:=$(patsubst %,-l%,$(ELIBS))
30 @PACKAGE@ELIBSDIR:=$(patsubst %,-L%,$(ELIBSDIR))
31
32 #c sources and headers
33
34 @PACKAGE@CS:=$(patsubst %,$(MODDIR)/%,$(CSRCS))
35 @PACKAGE@CH:=$(patsubst %,$(MODDIR)/%,$(CHDRS))
36
37 #Fortran sources 
38 @PACKAGE@FS:=$(patsubst %,$(MODDIR)/%,$(FSRCS))
39
40 #c++ sources and header
41 @PACKAGE@S:=$(patsubst %,$(MODDIR)/%,$(SRCS))
42 @PACKAGE@H:=$(patsubst %,$(MODDIR)/%,$(HDRS))
43
44
45 # Package Dictionary 
46
47 @PACKAGE@DH:=$(MODDIR)/$(DHDR)
48
49
50 #All objects
51 @PACKAGE@CO:=$(patsubst %,$(MODDIRO)/%, $(CSRCS:.c=.o))
52 TEMP:=$(FSRCS:.F=.o)
53 @PACKAGE@FO:=$(patsubst %,$(MODDIRO)/%, $(TEMP:.f=.o))
54 @PACKAGE@O:= $(patsubst %,$(MODDIRO)/%, $(SRCS:.cxx=.o)) $(@PACKAGE@FO) $(@PACKAGE@CO)
55
56 ifdef WITHDICT
57   @PACKAGE@DS:=$(MODDIRO)/G__@PACKAGE@.cxx
58   @PACKAGE@DO:=$(MODDIRO)/G__@PACKAGE@.o
59   @PACKAGE@DDEP:=$(@PACKAGE@DO:.o=.d)
60   @PACKAGE@DEP:=$(@PACKAGE@O:.o=.d) $(@PACKAGE@DDEP)
61 else
62   @PACKAGE@DS:=
63   @PACKAGE@DO:=
64   @PACKAGE@DDEP:=
65   @PACKAGE@DEP:=$(@PACKAGE@O:.o=.d)
66 endif
67
68
69 #The actual library file
70
71 @PACKAGE@LIB:=$(LIBPATH)/lib@PACKAGE@.$(SOEXT)
72
73 #The actual binary file
74
75 @PACKAGE@BIN:=$(BINPATH)/@PACKAGE@
76
77
78 # for using in the main Makefile
79
80 ifeq ($(TYPE),lib)
81 ALLLIBS += $(@PACKAGE@LIB)
82 BINLIBS += -l@PACKAGE@
83 else
84 ALLEXECS += $(@PACKAGE@BIN)
85 endif
86
87 # include all dependency files
88 INCLUDEFILES +=$(@PACKAGE@DEP)
89
90
91 #local rules
92
93 $(@PACKAGE@LIB):$(@PACKAGE@O) $(@PACKAGE@DO) @MODULE@/module.mk
94           @echo "***** Linking library $@ *****"
95           $(SHLD) $(SOFLAGS) $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(SHLIB)  -o $@ $(@PACKAGE@O) $(@PACKAGE@DO)
96           
97 $(@PACKAGE@BIN):$(@PACKAGE@O) $(@PACKAGE@DO) @MODULE@/module.mk
98           @echo "***** Makeing executable $@ *****"
99           $(LD) $(LDFLAGS) $(@PACKAGE@O) $(@PACKAGE@DO) $(BINLIBDIRS)  $(LIBS) $(@PACKAGE@ELIBS) $(EXEFLAGS) -o $@ 
100
101 $(@PACKAGE@DS): $(@PACKAGE@H) $(@PACKAGE@DH)
102          @echo "***** Creating $@ *****";       
103          @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
104          @rootcint -f $@ -c $(CINTFLAGS) $^
105
106 $(@PACKAGE@DO): $(@PACKAGE@DS)
107                 @echo "***** (Re)compiling $< *****";
108                 @$(CXX) -c $< -o $@ $(CXXFLAGS)
109
110 #Different targets for the module
111
112 all-@PACKAGE@: $(@PACKAGE@LIB)
113
114
115 depend-@PACKAGE@: $(@PACKAGE@DEP)
116
117 # determination of object files
118 $(MODDIRO)/%.o: $(MODDIR)/%.cxx $(MODDIRO)/%.d 
119         @echo "***** (Re)compiling $< *****";
120         @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
121         $(CXX) -c $(@PACKAGE@INC) $< -o $@ $(@PACKAGE@CXXFLAGS)
122
123 $(MODDIRO)/%.o: $(MODDIR)/%.F $(MODDIRO)/%.d 
124         @echo "***** (Re)compiling $< *****";
125         @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
126         $(F77) -c $(@PACKAGE@INC)  $< -o $@ $(@PACKAGE@FFLAGS)
127
128 $(MODDIRO)/%.o: $(MODDIR)/%.f $(MODDIRO)/%.d 
129         @echo "***** (Re)compiling $< *****";
130         @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
131         $(F77) -c $(@PACKAGE@INC)  $< -o $@ $(@PACKAGE@FFLAGS)
132
133 $(MODDIRO)/%.o: $(MODDIR)/%.c $(MODDIRO)/%.d 
134         @echo "***** (Re)compiling $< *****";
135         @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
136         $(CC) -c $< -o $@ $(@PACKAGE@INC)  $(@PACKAGE@CFLAGS)
137
138 $(@PACKAGE@DDEP): $(@PACKAGE@DS)
139                 @echo "***** Making dependencies for $< *****";
140                 @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
141                 @share/alibtool depend "$(@PACKAGE@ELIBSDIR) $(@PACKAGE@INC) $(DEPINC)  $<" > $@
142
143 $(MODDIRO)/%.d: $(MODDIRS)/%.cxx
144                 @echo "***** Making dependencies for $< *****";
145                 @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
146                 @share/alibtool depend "$(@PACKAGE@ELIBSDIR) $(@PACKAGE@INC) $(DEPINC)  $<" > $@
147 $(MODDIRO)/%.d: $(MODDIRS)/%.f
148                 @echo "***** Making dependencies for $< *****";
149                 @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
150                 @share/alibtool dependF "$(@PACKAGE@ELIBSDIR) $(@PACKAGE@INC) $(DEPINC)  $<" > $@
151 $(MODDIRO)/%.d: $(MODDIRS)/%.F 
152                 @echo "***** Making dependencies for $< *****";
153                 @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
154                 @share/alibtool dependF "$(@PACKAGE@ELIBSDIR) $(@PACKAGE@INC) $(DEPINC)  $<" > $@
155 $(MODDIRO)/%.d: $(MODDIRS)/%.c 
156                 @echo "***** Making dependencies for $< *****";
157                 @(if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi;)
158                 @share/alibtool depend "$(@PACKAGE@ELIBSDIR) $(@PACKAGE@INC) $(DEPINC) $<" > $@
159
160
161 #Directory creation
162
163 #$(MODDIRO):
164 #       @echo "***** Making $@ *****"
165 #       mkdir -p $@
166    
167
168
169
170
171
172
173
174
175
176