1 ########################
3 # START of maketail.inc
5 ########################
7 # for long doubles -m96bit-long-double
8 ##CFLAGSGCCOTHER= -O2 -m128bit-long-double -Wall -Wuninitialized -fno-builtin -DUSINGICC=0
9 ##CFLAGSOTHER= -O3 -long-double -unroll -Wall -Wuninitialized -fno-builtin -DUSINGICC=0
16 ########################
18 # Setup CC and CC2 and MMCOMP
20 ########################
24 ifeq ($(USEMCCSWITCH),1)
25 CC=$(MCC) -cc=$(COMP) $(CFLAGS3) $(CFLAGS2) $(CDEBUG)
28 ifeq ($(USEMCCSWITCH),0)
29 CC=$(MCC) $(CFLAGS3) $(CFLAGS2) $(CDEBUG)
32 ifeq ($(USEMCCSWITCHFORGCC),1)
33 CC=$(MCC) -cc=$(COMP) $(CFLAGS3) $(CFLAGS2) $(CDEBUG)
34 CC2=$(MCC) -cc=gcc $(GCCCFLAGS)
37 ifeq ($(USEMCCSWITCHFORGCC),0)
42 #MMCOMP=$(MCC) $(CFLAGS3) $(CFLAGS2) $(CDEBUG)
46 ############## endif usempich==1
51 CC=$(COMP) $(CFLAGS3) $(CFLAGS2) $(CDEBUG)
57 ########### endif usempich==0
62 ########################
64 # How to compile generatenprs
66 ########################
68 ifeq ($(USESPECIAL4GENERATE),1)
69 CCGENERATEFINAL=$(CCGENERATE)
72 ifeq ($(USESPECIAL4GENERATE),0)
77 ########################
81 ########################
83 $(warning COMP is $(COMP))
84 $(warning MMCOMP is $(MMCOMP))
85 $(warning CC is $(CC))
86 $(warning CC2 is $(CC2))
87 $(warning CCGENERATEFINAL is $(CCGENERATEFINAL))
90 ########################
94 ########################
96 # when adding C files, only need to modify the below
97 include maketail.harm.inc
99 # below is for long double code (not HARM)
100 include maketail.ldouble.inc
102 # below is for liaison code
103 include maketail.liaison.inc
105 # below is for joninterp code
106 include maketail.joninterp.inc
108 # below is for bin2txt code
109 include maketail.bin2txt.inc
111 # below is for smcalc code
112 include maketail.smcalc.inc
116 # "make prep" must be called first so these are set correctly
117 #MYCOMMANDS1 := $(shell cat objsonepoint.cmd.list )
118 #MYCOMMANDS2 := $(shell cat objsmanypoints.cmd.list )
119 #MYCOMMANDS3 := $(shell cat objspuredouble.cmd.list )
122 ########################
126 ########################
128 #all: $(PREP) $(CMD) $(FINISH)
129 all: $(CMD) $(FINISH)
132 ########################
136 ########################
137 # CAREFUL with spaces below -- don't put space in front of "*":
152 rm -
rf $(CMD) $(CMD2) $(LIAISONCMD) $(JONINTERPCMD) $(BIN2TXTCMD) $(SMCALCCMD) $(PREP) $(PREPLD) $(PREPLIAISON) $(PREPJONINTERP) deps.onepoint.list deps.manypoints.list deps.puredouble.list objsmanypoints.cmd.list objsonepoint.cmd.list objslong.cmd.list objspuredouble.cmd.list global.defnprs.h generatenprs libml.a
153 rm -
rf objsonepoint.cmd.list objsmanypoints.cmd.list objspuredouble.cmd.list objslong.cmd.list objsdepsliaison.cmd.list objsdepsjoninterp.cmd.list
154 rm -
rf deps.manypoints.list deps.onepoint.list deps.puredouble.list deps.long.list deps.depsliaison.list deps.depsjoninterp.list
155 rm -
rf objsonepoint objsmanypoints objspuredouble onepoint manypoints puredouble
156 rm -
rf decs.h mpidecs.h superdecs.h superdecs.pointers.h decs.user.h decs.general.h supermpidecs.h mpidecs.mpi_grmhd_grray_liaison.h rancdecs.h
157 rm -
rf freespace.o tau_neededbyharm.o testfpp.o
158 rm -
rf depssmcalc depsliaison depsjoninterp deps.depssmcalc.list deps.depsbin2txt.list depsbin2txt
159 # below are just links
160 rm -
rf global.h defs.h
161 rm -
rf extractnonfunc gprof-helper.so
162 rm -
rf objslong objsdepssmcalc.cmd.list objsdepssmcalc objsdepsliaison objsdepsjoninterp objsdepsbin2txt.cmd.list objsdepsbin2txt
163 rm -
rf prepbin2txt prepsmcalc
164 rm -
rf initbase.defaultnprlists.c
165 rm -
rf *.deps.puredouble.list *.deps.manypoints.list *.deps.onepoint.list
167 superfclean: cleanall superclean
170 # removes in addition the links to
user code
171 # useful when wanting to compare with SVN that has no such files
172 ultraclean: superclean
176 ########################
178 # Setup how to create global.defnprs.h
using generatenprs
180 ########################
183 global.defnprs.h : global.realdef.h global.nondepmnemonics.h definit.h
init.h generatenprs.c
184 $(CCGENERATEFINAL) -o generatenprs generatenprs.c ; ./generatenprs
187 ########################
189 # Prepare to make GRMHD code
191 ########################
193 PREPDEP=makefile makedecs.h.sh makehead.inc maketail.harm.inc maketail.inc maketail.ldouble.deps.inc maketail.ldouble.inc maketailsuperlong.inc defs.grmhd.h defs.general.h mpidefs.h rancdefs.h superdefs.h superdefs.pointers.h supermpidefs.h global.defnprs.h kazfulleos.defsglobalprivate.h kazfulleos.superdefs.h mpidefs.mpi_grmhd_grray_liaison.h
197 ############################################
198 #below is for GRMHD code
199 ############################################
202 # can't make below 2 background
203 rm -
rf defs.h ; ln -s defs.grmhd.h defs.h
204 rm -
rf global.h ; ln -s global.grmhd.h global.h
208 ############################################
209 #below is for code working per point
210 ############################################
211 echo $(OBJSONEPOINT) > objsonepoint
212 #
remove and touch (so exists) files to create
213 rm -
rf objsonepoint.cmd.list ; rm -
rf onepoint ; touch objsonepoint.cmd.list ; touch onepoint
214 # create list of prefixes
216 for fil in `cat objsonepoint` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> onepoint ; done
217 # create list of commands
218 for fil in `cat onepoint` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objsonepoint.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISE) -c $$fil.c $(LDFLAGS)" >> objsonepoint.cmd.list ; done
219 # remove old depenedencies file and create
220 rm -
rf deps.onepoint.list ; touch deps.onepoint.list
221 # create new dependencies file
222 for fil in `cat onepoint` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c > $
$fil.deps.onepoint.list & done; wait;
223 for fil in `cat onepoint` ; do (cat $
$fil.deps.onepoint.list >> deps.onepoint.list) ; done ; wait
226 ############################################
227 #below is for code working on multiple point at once
228 ############################################
229 # below is only different in CFLAGS part
230 echo $(OBJSMANYPOINTS) > objsmanypoints
231 #
remove and touch (so exists) files to create
232 rm -
rf objsmanypoints.cmd.list ; rm -
rf manypoints ; touch objsmanypoints.cmd.list ; touch manypoints
233 # create list of prefixes
234 for fil in `cat objsmanypoints` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> manypoints ; done
235 # create list of commands
236 for fil in `cat manypoints` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objsmanypoints.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGS) -c $$fil.c $(LDFLAGS)" >> objsmanypoints.cmd.list ; done
237 # remove old depenedencies file and create
238 rm -
rf deps.manypoints.list ; touch deps.manypoints.list
239 # create new dependencies file
240 for fil in `cat manypoints` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c > $
$fil.deps.manypoints.list & done; wait;
241 for fil in `cat manypoints` ; do (cat $
$fil.deps.manypoints.list >> deps.manypoints.list) ; done
242 echo $(OBJSMANYPOINTS) > $(PREP)
244 # wait for background processes
247 ############################################
248 #below is for double-only code (that can't be long double converted or compiled with -long_double
249 ############################################
250 echo $(OBJSPUREDOUBLE) > objspuredouble
251 #
remove and touch (so exists) files to create
252 rm -
rf objspuredouble.cmd.list ; rm -
rf puredouble ; touch objspuredouble.cmd.list ; touch puredouble
253 # create list of prefixes
255 for fil in `cat objspuredouble` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> puredouble ; done
256 # create list of commands
257 for fil in `cat puredouble` ;
do echo ${ECHOSWITCH}
"$$fil.o :">> objspuredouble.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISENOLONG) -c $$fil.c $(LDFLAGS)" >> objspuredouble.cmd.list ; done
258 # remove old depenedencies file and create
259 rm -
rf deps.puredouble.list ; touch deps.puredouble.list
260 # create new dependencies file
261 for fil in `cat puredouble` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c > $
$fil.deps.puredouble.list & done; wait;
262 for fil in `cat puredouble` ; do (cat $
$fil.deps.puredouble.list >> deps.puredouble.list) ; done
265 ############################################
266 #below is for GRMHD code
267 ############################################
268 ############################################
269 #below is for fortran bits
270 ############################################
271 #Sasha added the two seds that cleaned up after fpp (remove stray characters "&" and "f" at the beginning of lines)
272 ifeq ($(USEKRAKEN),$(ZERO))
273 fpp -P test.f > testfpp.temp1.f ; sed 's/^f.*$$
275 # otherwise assume created testfpp.P and testfpp.c on another computer and copied to Kraken
276 echo
"DONE" > $(PREPF)
280 ########################
282 # Prepare to make
long double version of GRMHD code
284 ########################
287 $(PREPLD): $(PREPDEP) maketail.ldouble.deps.inc maketail.ldouble.inc maketailsuperlong.inc
288 ############################################
289 # below is for long double code
290 ############################################
292 ( rm -
rf defs.h ; ln -s defs.grmhd.h defs.h )
293 ( rm -
rf global.h ; ln -s global.grmhd.h global.h )
294 ( sh ./makedecs.h.sh defs.h )
295 ( sh ./makedecs.h.sh mpidefs.h )
296 ( sh ./makedecs.h.sh rancdefs.h )
297 ( sh ./makedecs.h.sh kazfulleos.defsglobalprivate.h )
298 ( sh ./makedecs.h.sh kazfulleos.superdefs.h )
299 ( sh ./makedecs.h.sh superdefs.h )
300 ( sh ./makedecs.h.sh superdefs.pointers.h )
301 ( sh ./makedecs.h.sh superdefs.rad.h )
302 ( sh ./makedecs.h.sh superdefs.pointers.rad.h )
303 ( sh ./makedecs.h.sh defs.user.h )
304 ( sh ./makedecs.h.sh defs.general.h )
305 ( sh ./makedecs.h.sh supermpidefs.h )
306 ( sh ./makedecs.h.sh mpidefs.mpi_grmhd_grray_liaison.h )
308 ( echo $(OBJSOTHER) > objslong )
309 #
remove and touch (so exists) files to create
310 ( rm -
rf objslong.cmd.list ; rm -
rf long ; touch objslong.cmd.list ; touch
long)
311 # create list of prefixes
312 (
for fil in `cat objslong` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> long ; done )
313 # create list of commands
314 (
for fil in `cat
long` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objslong.cmd.list ; echo ${ECHOSWITCH}
" $(CC2) $(GCCCFLAGS) -c $$fil.c $(LDFLAGS)" >> objslong.cmd.list ; done )
315 #
remove old depenedencies file and create
316 ( rm -
rf deps.long.list ; touch deps.long.list )
317 # create new dependencies file
318 (
for fil in `cat
long` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c >> deps.long.list ; done )
320 # create prep file for make to know to recompile or prep again
321 ( echo $(OBJSMANYPOINTS) > $(PREPLD) )
325 ########################
327 # Prepare to make liaison code
329 ########################
331 $(PREPLIAISON): $(PREPDEP) maketail.liaison.inc defs.liaison.h defs.liaison.h liaison.defs.h
332 ############################################
333 #below is for liaison code
334 ############################################
338 ( rm -
rf defs.h ; ln -s defs.liaison.h defs.h )
339 ( rm -
rf global.h ; ln -s global.liaison.h global.h )
340 ( sh ./makedecs.h.sh defs.h )
341 ( sh ./makedecs.h.sh mpidefs.h )
342 ( sh ./makedecs.h.sh rancdefs.h )
343 ( sh ./makedecs.h.sh kazfulleos.defsglobalprivate.h )
344 ( sh ./makedecs.h.sh kazfulleos.superdefs.h )
345 ( sh ./makedecs.h.sh superdefs.h )
346 ( sh ./makedecs.h.sh superdefs.pointers.h )
347 ( sh ./makedecs.h.sh superdefs.rad.h )
348 ( sh ./makedecs.h.sh superdefs.pointers.rad.h )
349 ( sh ./makedecs.h.sh supermpidefs.h )
350 ( sh ./makedecs.h.sh liaison.defs.h )
351 ( sh ./makedecs.h.sh mpidefs.mpi_grmhd_grray_liaison.h )
353 ( echo $(OBJSLIAISON) > objsdepsliaison )
354 # remove and touch (so exists) files to create
355 ( rm -
rf objsdepsliaison.cmd.list ; rm -
rf depsliaison ; touch objsdepsliaison.cmd.list ; touch depsliaison)
356 # create list of prefixes
357 (
for fil in `cat objsdepsliaison` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> depsliaison ; done )
358 # create list of commands
359 (
for fil in `cat depsliaison` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objsdepsliaison.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISE) -c $$fil.c $(LDFLAGS)" >> objsdepsliaison.cmd.list ; done )
360 #
remove old depenedencies file and create
361 ( rm -
rf deps.depsliaison.list ; touch deps.depsliaison.list )
362 # create new dependencies file
363 (
for fil in `cat depsliaison` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c >> deps.depsliaison.list ; done )
365 # create prep file for make to know to recompile or prep again
366 ( echo $(OBJSLIAISON) > $(PREPLIAISON) )
370 ########################
372 # Prepare to make iinterp code
374 ########################
377 $(PREPJONINTERP): $(PREPDEP) defs.jon_interp.h global.jon_interp.h
378 ############################################
379 #below is
for jon_interp code
380 ############################################
384 ( rm -
rf defs.h ; ln -s defs.jon_interp.h defs.h )
385 ( rm -
rf global.h ; ln -s global.jon_interp.h global.h )
386 ( sh ./makedecs.h.sh rancdefs.h )
387 ( sh ./makedecs.h.sh defs.h )
389 ( echo $(OBJSJONINTERP) > objsdepsjoninterp )
390 #
remove and touch (so exists) files to create
391 ( rm -
rf objsdepsjoninterp.cmd.list ; rm -
rf depsjoninterp ; touch objsdepsjoninterp.cmd.list ; touch depsjoninterp)
392 # create list of prefixes
393 (
for fil in `cat objsdepsjoninterp` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> depsjoninterp ; done )
394 # create list of commands
395 (
for fil in `cat depsjoninterp` ;
do echo ${ECHOSWITCH}
"$$fil.o :">> objsdepsjoninterp.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISE) -c $$fil.c $(LDFLAGS)" >> objsdepsjoninterp.cmd.list ; done )
396 #
remove old depenedencies file and create
397 ( rm -
rf deps.depsjoninterp.list ; touch deps.depsjoninterp.list )
398 # create new dependencies file
399 (
for fil in `cat depsjoninterp` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c >> deps.depsjoninterp.list ; done )
401 # create prep file for make to know to recompile or prep again
402 ( echo $(OBJSJONINTERP) > $(PREPJONINTERP) )
405 ########################
407 # Prepare to make bin2txt code
409 ########################
411 $(PREPBIN2TXT): makefile makehead.inc maketail.inc maketail.ldouble.deps.inc maketail.ldouble.inc maketailsuperlong.inc
412 ############################################
413 #below is for bin2txt code
414 ############################################
416 ( echo $(OBJSBIN2TXT) > objsdepsbin2txt )
417 # remove and touch (so exists) files to create
418 ( rm -
rf objsdepsbin2txt.cmd.list ; rm -
rf depsbin2txt ; touch objsdepsbin2txt.cmd.list ; touch depsbin2txt)
419 # create list of prefixes
420 (
for fil in `cat objsdepsbin2txt` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> depsbin2txt ; done )
421 # create list of commands
422 (
for fil in `cat depsbin2txt` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objsdepsbin2txt.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISE) -c $$fil.c $(BIN2TXTLIBS1) $(LDFLAGS) $(BIN2TXTLIBS2)" >> objsdepsbin2txt.cmd.list ; done )
423 #
remove old depenedencies file and create
424 ( rm -
rf deps.depsbin2txt.list ; touch deps.depsbin2txt.list )
425 # create new dependencies file
426 (
for fil in `cat depsbin2txt` ;
do echo $
$fil.c ; $(MMCOMP) $(BIN2TXTLIBS1) -c -MM $
$fil.c >> deps.depsbin2txt.list ; done )
428 # create prep file
for make to know to recompile or prep again
429 ( echo $(OBJSBIN2TXT) > $(PREPBIN2TXT) )
432 ########################
434 # Prepare to make smcalc code
436 ########################
438 $(PREPSMCALC): makefile makehead.inc maketail.inc maketail.ldouble.deps.inc maketail.ldouble.inc maketailsuperlong.inc
439 ############################################
440 #below is
for smcalc code
441 ############################################
443 ( echo $(OBJSSMCALC) > objsdepssmcalc )
444 #
remove and touch (so exists) files to create
445 ( rm -
rf objsdepssmcalc.cmd.list ; rm -
rf depssmcalc ; touch objsdepssmcalc.cmd.list ; touch depssmcalc)
446 # create list of prefixes
447 (
for fil in `cat objsdepssmcalc` ;
do prefa=`basename $
$fil .o` ; pref=`echo $$prefa | awk
'{print $$1}'` ; echo ${ECHOSWITCH} $$pref >> depssmcalc ; done )
448 # create list of commands
449 (
for fil in `cat depssmcalc` ;
do echo ${ECHOSWITCH}
"$$fil.o :" >> objsdepssmcalc.cmd.list ; echo ${ECHOSWITCH}
" $(CC) $(CFLAGSNONPRECISE) -c $$fil.c $(LDFLAGS)" >> objsdepssmcalc.cmd.list ; done )
450 #
remove old depenedencies file and create
451 ( rm -
rf deps.depssmcalc.list ; touch deps.depssmcalc.list )
452 # create new dependencies file
453 (
for fil in `cat depssmcalc` ;
do echo $
$fil.c ; $(MMCOMP) -c -MM $
$fil.c >> deps.depssmcalc.list ; done )
455 # create prep file for make to know to recompile or prep again
456 ( echo $(OBJSSMCALC) > $(PREPSMCALC) )
464 ########################
466 # COMMANDS to compile codes:
468 ########################
472 # rm -
rf objsonepoint objsmanypoints objspuredouble
474 #$(CMD): GROUP1 GROUP2 makefile freespace.o tau_neededbyharm.o testfpp.o
475 # echo objsmanypoints: $(OBJSMANYPOINTS)
476 # echo objsonepoint: $(OBJSONEPOINT)
477 # echo objspuredouble: $(OBJSPUREDOUBLE)
483 $(CMD): $(PREP) $(OBJSMANYPOINTS) $(OBJSONEPOINT) $(OBJSPUREDOUBLE) makefile testfpp.P testfpp.c
484 $(CC) $(CFLAGSNONPRECISE) -o $(CMD) $(OBJSMANYPOINTS) $(OBJSONEPOINT) $(OBJSPUREDOUBLE) $(LDFLAGS)
487 $(CMD2): $(PREP) $(PREPLD) $(OBJSMANYPOINTS) $(OBJSONEPOINT) $(OBJSPUREDOUBLE) makefile libml.
a $(OBJSOTHER)
488 $(CC2) $(GCCCFLAGS) -c polevll.c $(LDFLAGS) $(LDFLAGSOTHER)
489 $(CC) $(CFLAGS) -o $(CMD2) $(OBJSMANYPOINTS) $(OBJSONEPOINT) $(OBJSPUREDOUBLE) polevll.o libml.
a $(LDFLAGS) $(LDFLAGSOTHER)
491 $(LIAISONCMD): $(PREPLIAISON) $(OBJSLIAISON) makefile
492 $(CC) $(CFLAGS) -DUSINGLIAISON=1 -o $(LIAISONCMD) $(OBJSLIAISON) $(LDFLAGS) $(LDFLAGSOTHER)
494 $(JONINTERPCMD): $(PREPJONINTERP) $(OBJSJONINTERP) makefile
495 $(CC) $(CFLAGS) -DUSINGJONINTERP=1 -o $(JONINTERPCMD) $(OBJSJONINTERP) $(LDFLAGS) $(LDFLAGSOTHER)
498 $(BIN2TXTCMD): $(PREPBIN2TXT) $(OBJSBIN2TXT) makefile
499 $(CC) $(CFLAGS) -o $(BIN2TXTCMD) $(OBJSBIN2TXT) $(LDFLAGS) $(LDFLAGSOTHER) $(BIN2TXTLIBS2)
502 $(SMCALCCMD): $(PREPSMCALC) $(OBJSSMCALC) makefile
503 $(CC) $(CFLAGS) -o $(SMCALCCMD) $(OBJSSMCALC) $(LDFLAGS) $(LDFLAGSOTHER)
506 ########################
508 # Includes of object lists and dependencies autogenerated during prepare step
509 # Note that if one does just
"make" after changing the makefile, the below are included *before* the automatically-called prep command changes them. So not consistent. Have to do
"make prep ; make" if one changes the makefile itself.
511 ########################
514 ifeq ($(MYMAKECMDGOALS),$(filter $(MYMAKECMDGOALS),$(BINARYTARGETS)))
515 -include objsonepoint.cmd.list
516 -include objsmanypoints.cmd.list
517 -include objspuredouble.cmd.list
518 -include deps.manypoints.list
519 -include deps.onepoint.list
520 -include deps.puredouble.list
523 ifeq ($(MYMAKECMDGOALS),$(CMD2))
524 -include objslong.cmd.list
525 -include deps.long.list
528 ifeq ($(MYMAKECMDGOALS),$(LIAISONCMD))
529 -include objsdepsliaison.cmd.list
530 -include deps.depsliaison.list
533 ifeq ($(MYMAKECMDGOALS),$(JONINTERPCMD))
534 -include objsdepsjoninterp.cmd.list
535 -include deps.depsjoninterp.list
538 ifeq ($(MYMAKECMDGOALS),$(BIN2TXTCMD))
539 -include objsdepsbin2txt.cmd.list
540 -include deps.depsbin2txt.list
543 ifeq ($(MYMAKECMDGOALS),$(SMCALCCMD))
544 -include objsdepssmcalc.cmd.list
545 -include deps.depssmcalc.list
550 # below automatic now (original has special code for assembly but doesn
't work anymore on ki-rh42)
551 #-include maketail.ldouble.deps.inc
554 ########################
556 # How to compile other non-standard parts of code.
558 # Old Intel compiler wouldn't compile freespace properly due to sys/vfs.h stuff.
559 # Old Intel compiler wouldn
't compile tau_needbyharm properly due to f2c conversion. Now tau_neededbyharm doesn't contain anything that requires f2c libraries.
561 # So, now (06/04/09) seems fine.
563 # This all was spurred by trying to avoid gcc since on TACC
's Ranger, their gcc changed with mpicc -cc=gcc error due to -i-dynamic not recognized by gcc. Stupid Intel specific commands in their mpicc.
565 ########################
567 #freespace.o : freespace.c $(PREP) makefile maketail.inc defs.h defs.general.h
568 # $(CC2) $(GCCCFLAGS) -c freespace.c $(LDFLAGS)
570 #tau_neededbyharm.o : tau_neededbyharm.c $(PREP) makefile maketail.inc defs.h defs.general.h
571 ## $(CC2) $(GCCCFLAGS) -c tau_neededbyharm.c -lm
572 ## $(CC2) $(GCCCFLAGS) -c tau_neededbyharm.c -lf2c -lm
573 #testfpp.o : testfpp.c $(PREP) makefile maketail.inc defs.h defs.general.h
574 ## $(CC2) $(GCCCFLAGS) -c testfpp.c -lm
575 ## $(CC2) $(GCCCFLAGS) -c testfpp.c -lf2c -lm
577 # Might generally want to compile with -lf2c, unless sure have all needed functions.
578 #If getting "undefined reference to MAIN__", can fix by either
579 # making sure that you're linking to libf2c.
a and not libf2c.so,
580 # or adding option
"-u MAIN__" to linker.
584 ########################
586 # how to compile long double library
588 ########################
591 # Use $(OBJS) in ar command for libml.
a if possible;
else *.o
592 libml.a: $(OBJSOTHER) mconf.h objslong.cmd.list deps.long.list
593 ar -rv libml.a $(OBJSOTHER)
603 ########################
605 # END of maketail.inc
607 ########################