# SHELL = /bin/sh # # Executable name # PROG = bmap_display ############################################################################# # The user hook routines (see USRSRCS below) are no longer simple # dummy examples but now include examples of standard analysis code. # By default some of this is compiled in and linked. Users can control # what is called by FFREAD cards defined in "analysis_cntrl_ffcards.F". # This method compiles/links in the code but uses the data cards for # deciding whether to call the routines at run-time. Users can activate # or bypass the inclusion of calls to routines (and thus making the executable # larger or smaller) by using -D flags: # # USRDFLGS= -DNOSTD << include no standard analysis code (makes the # user hook routines into true dummy subroutines) # -DKILLADC0 << call code to remove FLSDigit w/ ADC(1)=0 # -DNOAPT << bypass linking in APT code # -DNOVTX << bypass linking in vertex finding # -DNOFLSSMR << bypass linking in fls_smear_response # -DNOMUON << bypass linking in reco_muon code # -DNOMHPD << bypass linking in mhpd drawing package ############################################################################# ifeq ($(USRDFLGS),) # if user hasn't defined a shell variable to use... USRDFLGS = -DNOMUON endif # # This is the list of files to be maintained by this Makefile. # These will normally be the user versions of the "hook" files plus # whatever additional (private) analysis code. # USRSRCS = test_map_hook.F USROBJS = $(USRSRCS:.F=.o) # # This is where to put pre-compiled .o files that need to be linked in # * users might also need to pick up BLOCK DATA routines such as: # * $(LABYRINTH_LIB)/csbutt.o $(LABYRINTH_LIB)/bdpart.o # * $(LUNDLIBS)/ludata.o $(LUNDLIBS)/pydata.o # USRPREOBJ = # # This is where to list any additional link library commands. # Remember to give -L as well as -l if necessary. # USRLIBS = # # This is where to list any additional locations for include files. # These should take the form "-I -I" # default: add current working directory to list of locations # (any listed here will be at the front of the list and thus # take precedence over those found in more standard locations) # USRINCFLGS = -I. # # This is where to put the name of the source and .o files that contain # the main program. The user should set one *or* the other of these # (but not both). By default the # MAINOBJ = $(LABYRINTH_LIB)/reco_minos.o # setting is used to link in the standard "reco_minos" main driver. # If you use the MAINSRC for your own version it *must* have the # extension ".F" (ie. not ".f") # MAINSRC = bmap_display.F MAINOBJ = # # Machine specific flags and locations (include files & libraries) # now located in Make.include # (This must come *after* defining USRDFLGS) # include $(THESEUS)/Make.theseus help : @echo "This Makefile accepts the following arguments:" @echo "all - make everything possible in this directory" @echo "clean - remove .o and executable" @echo "veryclean - clean + backup files" all : depend $(PROG) depend : @makedepend $(F77INCS) $(MDFLAGS) -f Makefile $(MAINSRC) $(USRSRCS) FORCE: # # A little fancy foot-work here to allow the user to optionally # specify a source file for the main program or alternatively # supply a .o file. # ifeq ($(MAINSRC),) # MAINSRC not given ... so don't try to remove the .o for target "clean" RMMAINOBJ = else # MAINSRC given, give a rule to create it ... and allow "clean" to remove it MAINOBJ = $(MAINSRC:.F=.o) RMMAINOBJ = $(MAINOBJ) $(MAINOBJ) : $(MAINSRC) endif # # In order to run this executable the user must define # RECO_GAF_LIST --- list of files to process # RECO_FFR --- FFREAD data cards # The user should probably also set the following: # RECO_HISTFILE --- histogram output file (standard reco_finish) # MHPD_METAFILE --- file where MHPD puts postscript output # # ${USRLIBS} listed twice so that it has both first and last crack # at satisfying externals # $(PROG) : depend ${MAINOBJ} ${USROBJS} ${USRPREOBJ} ${FORT} -o $@ $(PROFILEFLG) ${MAINOBJ} ${USROBJS} \ ${USRPREOBJ} ${USRLIBS} ${LABYRINTHLIBS} \ ${PACKAGELIBS} ${BASELIBS} ${USRLIBS} ${SPECIALOBJ} clean: FORCE rm -f $(PROG) $(USROBJS) $(RMMAINOBJ) veryclean: clean rm -f Makefile.bak Makefile~ rm -f *.F~ rm -f *.inc~ trim: FORCE ${GMINOSBIN}/trim_makefile.sh # DO NOT DELETE THIS LINE -- make depend depends on it.