# d0_geometry/tests/GNUmakefile # $Id: oldGNUmakefile,v 1.1 1998/09/18 20:27:58 melanson Exp $ # ############################################################# # ifneq (,$(findstring Linux,$(BFARCH))) FTNLIB += -ldl endif # List of tests to construct. SIMPLE_TESTS = test_d0_channel test_d0_material IO_TESTS = build_geometry readGeometry TESTS = $(SIMPLE_TESTS) $(IO_TESTS) TESTBINS = $(foreach t,$(TESTS),$(workdir)$t) LOADLIBES = -ld0geom -lcalgeom -lsilgeom -lcftgeom -lcft_util \ -lmaterial -lthinshells -lgeom \ -lCLHEP -lLinearAlgebra \ -lrcp -lidentifiers -ld0om -ld0_util -lstream -lNameTrans -lcint-lite ################################################################ $(workdir)%.o: %.cpp echo Compiling $< $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(curdir)/$< -o $(workdir)$(*F).o $(foreach x,$(SIMPLE_TESTS),$(workdir)$x) : %: %.o -ld0geom echo Linking $< ifdef IBMXLC $(bindir)/xlc-ld \ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ \ -qtempinc=$(workdir)/tempinc-$* \ $(filter %.o %.a,$^) $(LOADLIBES) $(FTNLIB) -lm else # for gcc and KCC $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ \ $(filter %.o %.a,$^) $(LOADLIBES) $(FTNLIB) -lm endif ############## Now explicitly for the files doing d0om i/o ############ D0OMLIBES = -lstream_ds -ld0om_ds -lstream -ld0om -ld0_util -lNameTrans \ -lcint-lite -ldspack -lftn # Lists of _lnk files needed to build saveGeometry, and the library from # which they come... GEOMLIB = $(BFDIST)/releases/$(BFCURRENT)/lib/$(BFARCH)/libgeom.a GEOLNKS = AnnularSurfaceSection_lnk.o AnnularSurface_lnk.o \ CylindricalSurface_lnk.o Disk_lnk.o GenTrapezoid_lnk.o \ GeometryElement_lnk.o GeometryXform_lnk.o IsoscelesPentagon_lnk.o \ Plane_lnk.o ReferencePoint_lnk.o SphericalSurface_lnk.o \ Trapezoid_lnk.o TubularSection_lnk.o TubularShell_lnk.o \ Wedge_lnk.o SlantedTubeSection_lnk.o absGeometryDistortion_lnk.o \ CartesianCoordinate_lnk.o LocalPoint_lnk.o SIGEOMLIB = $(BFDIST)/releases/$(BFCURRENT)/lib/$(BFARCH)/libsilgeom.a SILNKS = SiBaseGeometry_lnk.o SiBarrel_lnk.o SiDisk_lnk.o SiLayer_lnk.o \ SiLadder_lnk.o SiCentral_lnk.o SiEnd_lnk.o SiWedge_lnk.o SiWedgeHolder_lnk.o \ SiCenter_lnk.o CFTGEOMLIB = $(libdir)/libcftgeom.a CFTLNKS = CftBarrelSurface_lnk.o CftBaseGeometry_lnk.o \ CftDoubletSurface_lnk.o CftFiberSurface_lnk.o CALGEOMLIB = $(BFDIST)/releases/$(BFCURRENT)/lib/$(BFARCH)/libcalgeom.a CALLNKS = CalBaseGeometry_lnk.o CCmodule_lnk.o ECmodule_lnk.o MHmodule_lnk.o \ CCfloor_lnk.o ECfloor_lnk.o MHfloor_lnk.o CCgeom_lnk.o ECgeom_lnk.o \ CCcell_lnk.o ECcell_lnk.o MHcell_lnk.o CALcell_lnk.o OHfloor_lnk.o \ OHmodule_lnk.o OHcell_lnk.o CCmasslessGap_lnk.o MHmasslessGap_lnk.o \ OHmasslessGap_lnk.o MGcell_lnk.o BASELIB = $(libdir)/libd0geom.a BASELNKS = BaseGeometry_lnk.o $(foreach x,$(IO_TESTS),$(workdir)$x) : % : %.o -ld0geom -lcftgeom -lsilgeom -lgeom echo Linking $< ar x $(BFDIST)/releases/$(BFCURRENT)/lib/$(BFARCH)/libstream_ds.a d0StreamDSPACK.o ar x $(CALGEOMLIB) $(CALLNKS) ar x $(CFTGEOMLIB) $(CFTLNKS) ar x $(SIGEOMLIB) $(SILNKS) ar x $(GEOMLIB) $(GEOLNKS) ar x $(BASELIB) $(BASELNKS) $(CXX) -o $@ $< d0StreamDSPACK.o \ $(BASELNKS) $(CALLNKS) $(CFTLNKS) $(SILNKS) $(GEOLNKS) \ $(DEBUG) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) \ $(LOADLIBES) $(D0OMLIBES) -lm rm d0StreamDSPACK.o $(SILNKS) $(GEOLNKS) $(CFTLNKS) $(BASELNKS) $(CALLNKS) .PHONY: test test: $(TESTBINS) ############################################################# # Rules for running tests. Put them in workdir. ifneq (,$(findstring AIX,$(BFARCH))) DIFFFLAGS = -c # diff on AIX doesn't support unidiffs. else DIFFFLAGS = -u endif DIFFTARGS = $(foreach t,$(TESTS),$t.diffs) .PHONY: diffs $(DIFFTARGS) diffs: $(DIFFTARGS) $(DIFFTARGS): %.diffs : $(workdir)% %.exp echo Diffing $* $(workdir)$* 2>&1 | diff $(DIFFFLAGS) $*.exp - ############################################################ include SoftRelTools/standard.mk ############################################################ -include $(foreach t,$(TESTS),$(workdir)$t.d)