[How to compile GEANT3 programs on Mac OS X]
Original Makefile by Hiro Watanabe (KEK), list of libraries given by Jon Nix (Chicago).
# ================================= # Makefile skelton # ================================= #PACK = /cern/pro/lib PACK = $(CERN_ROOT)/lib # /////////////////////////////////////////// # Source, Product Information # /////////////////////////////////////////// # The name of EXECUTABLE PROGRAM # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PROGRAM_INT = ../run/int_exam.exe PROGRAM_BAT = ../run/bat_exam.exe # The PROGRAM is made from follows # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OBJECTS = guhadr.o gukine.o guout.o guphad.o gustep.o \ gutrev.o gxphys.o ufiles.o ugeom.o uginit.o \ uglast.o uhinit.o # $(PACK)/liblapack3.a \ # $(PACK)/libblas.a \ # Flags given to C compiler in front of SOURCE FILE # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CFLAGSF = # Flags given to C compiler after SOURCE FILE # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CFLAGSB = # Flags given to G77 compiler in front of SOURCE FILE # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #FFLAGSF = -O2 -I/cern/pro/include FFLAGSF = -O2 -l$(CERN_ROOT)/include # Flags given to G77 compiler after SOURCE FILE # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FFLAGSB = # C compiler is next one # ~~~~~~~~~~~~~~~~~~~~~~ CCOMPIL = # FORTRAN compiler is next one # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ F77COMP = g77 # And finaly PROGRAM is producted by LINKER, next is as LINKER # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LINKING = g77 # Linking Flags # ~~~~~~~~~~~~~ LFLAGSF = -O2 ### for Mac OS X using Fink ### LFLAGSB = -L$(PACK) \ -lgeant321 -lpawlib -lgraflib -lgrafX11 \ -lpacklib -lmathlib -lkernlib -lphtools \ -llapack -lf77blas -lgsl -latlas \ -L/usr/X11R6/lib -lX11 \ -L/usr/lib/ -lcrypto -ldl ### For Linux ### #LFLAGSB = -L$(CERN_ROOT)/lib \ # -lgeant321 -lpawlib -lgraflib -lgrafX11 \ # -lpacklib -lmathlib -lkernlib \ # -llapack3 -lblas \ # -L/usr/X11R6/lib -lX11 -lcrypt -lnsl -ldl # //////////////////////// # Procedure Don't touch if you don't know what this is! # //////////////////////// .cc.o: $(CCOMPIL) $(CFLAGSF) -c $< $(CFLAGSB) .f.o: $(F77COMP) $(FFLAGSF) -c $< $(FFLAGSB) .F.o: $(F77COMP) $(FFLAGSF) -c $< $(FFLAGSB) all: $(PROGRAM_INT) $(PROGRAM_BAT) $(PROGRAM_INT) : gxint.o $(OBJECTS) $(LINKING) -o $(PROGRAM_INT) $(LFLAGSF) gxint.o $(OBJECTS) $(LFLAGSB) $(PROGRAM_BAT) : main.o $(OBJECTS) $(LINKING) -o $(PROGRAM_BAT) $(LFLAGSF) main.o $(OBJECTS) $(LFLAGSB) clean: rm -rf *.o $(PROGRAM_INT) $(PROGRAM_BAT) clear: rm -rf *~ # ////////////////////////////// # File Relations # ////////////////////////////// # Syntax is like this: # [ { object-file } : { souce-file source-file (header-file etc.) ....} ] *.o : geant_cmn.F