# This file was made by Mikhailyukov Konstantin # @2002-2004 # Last modification: 31.01.2004 TARGET = proton # Definition of source files to compile MAIN = main.cpp FSRCS = fortmain.F uginit.F ufiles.F gustep.F uglast.F source.F \ gufld.F CSRCS = save2root.cpp # Definition of object files to link FOBJS = $(FSRCS:.F=.o) COBJS = $(CSRCS:.cpp=.o) MAINOBJ=$(MAIN:.cpp=.o) # Definition of CERN libraries and GCALOR fortran libraries FLIBS_CERN = `cernlib geant graflib pawlib packlib mathlib` # Definition of root libraries CLIBS = $(shell root-config --nonew --glibs) # Definition of compilators for compiling Fortran and C++ programs FC = g77 CC = g++ # Definition of linker program LD = g77 # include directories for fortran and C++ compilation FINC = -I$(CERN_ROOT)/include CINC = -I$(CERN_ROOT)/src/cfortran \ -I$(ROOTSYS)/include # Fortran and C++ compilation flags FFLAGS = -g CFLAGS = -g -ansi -Df2cFortran LDFLAGS = -lstdc++ $(TARGET): $(MAINOBJ) $(FOBJS) $(COBJS) $(LD) $(LDFLAGS) -o $@ $(MAINOBJ) $(COBJS) $(FOBJS) $(FLIBS_CERN) $(CLIBS) clean: rm -f *.o $(TARGET) core fclean: make clean make wclean # Definition of implicit rules for making object files # from Fortran and C++ source %.o: %.F $(FC) -c $(FFLAGS) $(FINC) $< %.o: %.cpp $(CC) -c $(CFLAGS) $(CINC) $< #readcard.o: readcard.f geant.f # $(FC) -c $(FFLAGS) -Wno-globals $<