!IF "$(CFG)" == "" CFG = Debug !MESSAGE No configuration specified. Defaulting to Win32 Debug. !ENDIF !IF "$(CFG)" != "Release" && "$(CFG)" != "Debug" !MESSAGE Invalid configuration "$(CFG)" specified. !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "Makefile.win32" CFG="Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "Release" (based on "Win32 (x86) Library") !MESSAGE "Debug" (based on "Win32 (x86) Library") !MESSAGE !ERROR An invalid configuration is specified. !ENDIF ObjSuf = obj SrcSuf = cxx ExeSuf = .exe DllSuf = dll OutPutOpt = -out: # Win32 system with Microsoft Visual C/C++ !include CC = $(cc) CXX = $(cc) CXXFLAGS = $(cvarsdll) -EHsc -nologo -GR -DWIN32 \ -DVISUAL_CPLUSPLUS -D_WINDOWS -I$(ROOTSYS)/include LD = $(link) !IF "$(CFG)" == "Release" CXXOPT = -O2 -MD LDOPT = -opt:ref !ELSEIF "$(CFG)" == "Debug" CXXOPT = -Z7 -MDd LDOPT = -debug !ENDIF !if "$(_NMAKE_VER)" == "8.00.50727.42" MT_EXE = mt -nologo -manifest $@.manifest -outputresource:$@;1 MT_DLL = mt -nologo -manifest $@.manifest -outputresource:$@;2 EXTRAFLAGS = -D_CRT_SECURE_NO_DEPRECATE !else MT_EXE = MT_DLL = EXTRAFLAGS = -G5 !endif LDFLAGS = $(LDOPT) $(conlflags) -nologo -include:_G__cpp_setupG__Hist \ -include:_G__cpp_setupG__Graf1 -include:_G__cpp_setupG__G3D \ -include:_G__cpp_setupG__GPad -include:_G__cpp_setupG__Tree \ -include:_G__cpp_setupG__Rint -include:_G__cpp_setupG__PostScript \ -include:_G__cpp_setupG__Matrix -include:_G__cpp_setupG__Physics SOFLAGS = $(dlllflags:-pdb:none=) ROOTLIBS = $(ROOTSYS)/lib/libCore.lib \ $(ROOTSYS)/lib/libCint.lib $(ROOTSYS)/lib/libHist.lib \ $(ROOTSYS)/lib/libGraf.lib $(ROOTSYS)/lib/libGraf3d.lib \ $(ROOTSYS)/lib/libGpad.lib $(ROOTSYS)/lib/libTree.lib \ $(ROOTSYS)/lib/libRint.lib $(ROOTSYS)/lib/libPostscript.lib \ $(ROOTSYS)/lib/libMatrix.lib $(ROOTSYS)/lib/libPhysics.lib \ $(ROOTSYS)/lib/libNet.lib $(ROOTSYS)/lib/libRIO.lib LIBS = $(ROOTLIBS) GLIBS = $(LIBS) $(ROOTSYS)/lib/libGui.lib $(ROOTSYS)/lib/libGraf.lib \ $(ROOTSYS)/lib/libGpad.lib LIBSALL = $(ROOTLIBS) EVENTLIB = libEvent.lib #------------------------------------------------------------------------------ EVENTO = Event.$(ObjSuf) EventDict.$(ObjSuf) EVENTS = Event.$(SrcSuf) EventDict.$(SrcSuf) EVENTSO = libEvent.$(DllSuf) EVENT = Event$(ExeSuf) EVENTLIB = libEvent.lib MAINEVENTO = MainEvent.$(ObjSuf) MAINEVENTS = MainEvent.$(SrcSuf) HWORLDO = hworld.$(ObjSuf) HWORLDS = hworld.$(SrcSuf) HWORLD = hworld$(ExeSuf) CTORTUREO = ctorture.$(ObjSuf) CTORTURES = ctorture.$(SrcSuf) CTORTURE = ctorture$(ExeSuf) HSIMPLEO = hsimple.$(ObjSuf) HSIMPLES = hsimple.$(SrcSuf) HSIMPLE = hsimple$(ExeSuf) MINEXAMO = minexam.$(ObjSuf) MINEXAMS = minexam.$(SrcSuf) MINEXAM = minexam$(ExeSuf) TSTRINGO = tstring.$(ObjSuf) TSTRINGS = tstring.$(SrcSuf) TSTRING = tstring$(ExeSuf) TCOLLEXO = tcollex.$(ObjSuf) TCOLLEXS = tcollex.$(SrcSuf) TCOLLEX = tcollex$(ExeSuf) TCOLLBMO = tcollbm.$(ObjSuf) TCOLLBMS = tcollbm.$(SrcSuf) TCOLLBM = tcollbm$(ExeSuf) VVECTORO = vvector.$(ObjSuf) VVECTORS = vvector.$(SrcSuf) VVECTOR = vvector$(ExeSuf) VMATRIXO = vmatrix.$(ObjSuf) VMATRIXS = vmatrix.$(SrcSuf) VMATRIX = vmatrix$(ExeSuf) STRESSLO = stressLinear.$(ObjSuf) STRESSLS = stressLinear.$(SrcSuf) STRESSL = stressLinear$(ExeSuf) STRESSGO = stressGraphics.$(ObjSuf) STRESSGS = stressGraphics.$(SrcSuf) STRESSG = stressGraphics$(ExeSuf) STRESSVECO = stressVector.$(ObjSuf) STRESSVECS = stressVector.$(SrcSuf) STRESSVEC = stressVector$(ExeSuf) VLAZYO = vlazy.$(ObjSuf) VLAZYS = vlazy.$(SrcSuf) VLAZY = vlazy$(ExeSuf) GUITESTO = guitest.$(ObjSuf) GUITESTS = guitest.$(SrcSuf) GUITEST = guitest$(ExeSuf) GUIVIEWERO = guiviewer.$(ObjSuf) guiviewerDict.$(ObjSuf) GUIVIEWERS = guiviewer.$(SrcSuf) guiviewerDict.$(SrcSuf) GUIVIEWER = guiviewer$(ExeSuf) HELLOO = Hello.$(ObjSuf) HelloDict.$(ObjSuf) HELLOS = Hello.$(SrcSuf) HelloDict.$(SrcSuf) HELLOSO = Hello.$(DllSuf) ACLOCKO = Aclock.$(ObjSuf) AclockDict.$(ObjSuf) ACLOCKS = Aclock.$(SrcSuf) AclockDict.$(SrcSuf) ACLOCKSO = Aclock.$(DllSuf) TETRISO = Tetris.$(ObjSuf) TetrisDict.$(ObjSuf) TETRISS = Tetris.$(SrcSuf) TetrisDict.$(SrcSuf) TETRISSO = Tetris.$(DllSuf) STRESSO = stress.$(ObjSuf) STRESSS = stress.$(SrcSuf) STRESS = stress$(ExeSuf) STRESSGEOMETRYO = stressGeometry.$(ObjSuf) STRESSGEOMETRYS = stressGeometry.$(SrcSuf) STRESSGEOMETRY = stressGeometry$(ExeSuf) STRESSSHAPESO = stressShapes.$(ObjSuf) STRESSSHAPESS = stressShapes.$(SrcSuf) STRESSSHAPES = stressShapes$(ExeSuf) STRESSFITO = stressFit.$(ObjSuf) STRESSFITS = stressFit.$(SrcSuf) STRESSFIT = stressFit$(ExeSuf) STRESSHEPIXO = stressHepix.$(ObjSuf) STRESSHEPIXS = stressHepix.$(SrcSuf) STRESSHEPIX = stressHepix$(ExeSuf) STRESSSPO = stressSpectrum.$(ObjSuf) STRESSSPS = stressSpectrum.$(SrcSuf) STRESSSP = stressSpectrum$(ExeSuf) TBENCHO = TBench.$(ObjSuf) TBenchDict.$(ObjSuf) TBENCHS = TBench.$(SrcSuf) TBenchDict.$(SrcSuf) TBENCHSO = TBench.$(DllSuf) BENCHO = bench.$(ObjSuf) BENCHS = bench.$(SrcSuf) BENCH = bench$(ExeSuf) TESTBITSO = testbits.$(ObjSuf) TESTBITSS = testbits.$(SrcSuf) TESTBITS = testbits$(ExeSuf) QPRANDOMO = QpRandomDriver.$(ObjSuf) QPRANDOMS = QpRandomDriver.$(SrcSuf) QPRANDOM = QpRandomDriver$(ExeSuf) THREADSO = threads.$(ObjSuf) THREADSS = threads.$(SrcSuf) THREADS = threads$(ExeSuf) OBJS = $(EVENTO) $(MAINEVENTO) $(HWORLDO) $(HSIMPLEO) $(MINEXAMO) \ $(TSTRINGO) $(TCOLLEXO) $(VVECTORO) $(VMATRIXO) $(VLAZYO) \ $(HELLOO) $(ACLOCKO) $(STRESSO) $(TBENCHO) $(BENCHO) \ $(STRESSSHAPESO) $(TCOLLBMO) $(STRESSGEOMETRYO) $(STRESSLO) \ $(STRESSGO) $(STRESSSPO) $(TESTBITSO) \ $(CTORTUREO) $(QPRANDOMO) $(THREADO) $(STRESSVECO) \ $(STRESSFITO) $(STRESSHEPIXO) \ $(GUITESTO) $(GUIVIEWERO) $(TETRISO) PROGRAMS = $(EVENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \ $(TCOLLEX) $(TCOLLBM) $(VVECTOR) $(VMATRIX) $(VLAZY) \ $(HELLOSO) $(ACLOCKSO) $(STRESS) $(TBENCHSO) $(BENCH) \ $(STRESSSHAPES) $(STRESSGEOMETRY) $(STRESSL) $(STRESSG) \ $(TESTBITS) $(CTORTURE) $(QPRANDOM) $(THREADS) $(STRESSSP) \ $(STRESSVEC) $(STRESSFIT) $(STRESSHEPIX) \ $(GUITEST) $(GUIVIEWER) $(TETRISSO) all: $(PROGRAMS) $(EVENTSO): $(EVENTO) BINDEXPLIB $* $(EVENTO) > $*.def lib -nologo -MACHINE:IX86 $(EVENTO) -def:$*.def $(OutPutOpt)$(EVENTLIB) $(LD) $(SOFLAGS) $(LDFLAGS) $(EVENTO) $*.exp $(LIBS) $(OutPutOpt)$(EVENTSO) $(MT_DLL) @echo "$(EVENTSO) done" $(EVENT): $(EVENTSO) $(MAINEVENTO) $(LD) $(LDFLAGS) $(MAINEVENTO) $(EVENTLIB) $(LIBS) $(OutPutOpt)$(EVENT) $(MT_EXE) @echo "$(EVENT) done" $(HWORLD): $(HWORLDO) $(LD) $(LDFLAGS) $(HWORLDO) $(GLIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(CTORTURE): $(CTORTUREO) $(LD) $(LDFLAGS) $(CTORTUREO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(HSIMPLE): $(HSIMPLEO) $(LD) $(LDFLAGS) $(HSIMPLEO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(MINEXAM): $(MINEXAMO) $(LD) $(LDFLAGS) $(MINEXAMO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(TSTRING): $(TSTRINGO) $(LD) $(LDFLAGS) $(TSTRINGO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(TCOLLEX): $(TCOLLEXO) $(LD) $(LDFLAGS) $(TCOLLEXO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(TCOLLBM): $(TCOLLBMO) $(LD) $(LDFLAGS) $(TCOLLBMO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(VVECTOR): $(VVECTORO) $(LD) $(LDFLAGS) $(VVECTORO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(VMATRIX): $(VMATRIXO) $(LD) $(LDFLAGS) $(VMATRIXO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(VLAZY): $(VLAZYO) $(LD) $(LDFLAGS) $(VLAZYO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSL): $(STRESSLO) $(LD) $(LDFLAGS) $(STRESSLO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSG): $(STRESSGO) $(LD) $(LDFLAGS) $(STRESSGO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSSP): $(STRESSSPO) $(LD) $(LDFLAGS) $(STRESSSPO) $(LIBS) ../lib/libSpectrum.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSVEC): $(STRESSVECO) $(LD) $(LDFLAGS) $(STRESSVECO) $(LIBS) ../lib/libMathCore.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(TESTBITS): $(TESTBITSO) $(LD) $(LDFLAGS) $(TESTBITSO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(THREADS): $(THREADSO) $(LD) $(LDFLAGS) $(THREADSO) $(LIBS) ../lib/libThread.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(QPRANDOM): $(QPRANDOMO) $(LD) $(LDFLAGS) $(QPRANDOMO) $(LIBS) ../lib/libQuadp.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(GUITEST): $(GUITESTO) $(LD) $(LDFLAGS) $(GUITESTO) $(GLIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(GUIVIEWER): $(GUIVIEWERO) $(LD) $(LDFLAGS) $(GUIVIEWERO) $(GLIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESS): $(STRESSO) $(EVENT) $(LD) $(LDFLAGS) $(STRESSO) $(EVENTLIB) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSGEOMETRY): $(STRESSGEOMETRYO) $(LD) $(LDFLAGS) $(STRESSGEOMETRYO) $(LIBS) ../lib/libGeom.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSSHAPES): $(STRESSSHAPESO) $(LD) $(LDFLAGS) $(STRESSSHAPESO) $(LIBS) ../lib/libGeom.lib $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSFIT): $(STRESSFITO) $(LD) $(LDFLAGS) $(STRESSFITO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(STRESSHEPIX): $(STRESSHEPIXO) $(STRESSGEOMETRY) $(STRESSFIT) $(STRESSL) \ $(STRESSSP) $(STRESS) $(LD) $(LDFLAGS) $(STRESSHEPIXO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" $(BENCH): $(BENCHO) $(TBENCHSO) $(LD) $(LDFLAGS) $(BENCHO) $(TBENCHO) $(LIBS) $(OutPutOpt)$@ $(MT_EXE) @echo "$@ done" Hello: $(HELLOSO) $(HELLOSO): $(HELLOO) $(LD) $(SOFLAGS) $(LDFLAGS) $(HELLOO) $(GLIBS) $(OutPutOpt)$@ $(MT_DLL) Aclock: $(ACLOCKSO) $(ACLOCKSO): $(ACLOCKO) $(LD) $(SOFLAGS) $(LDFLAGS) $(ACLOCKO) $(GLIBS) $(OutPutOpt)$@ $(MT_DLL) Tetris: $(TETRISSO) $(TETRISSO): $(TETRISO) $(LD) $(SOFLAGS) $(LDFLAGS) $(TETRISO) $(GLIBS) $(OutPutOpt)$@ $(MT_DLL) $(TBENCHSO): $(TBENCHO) $(LD) $(SOFLAGS) $(LDFLAGS) $(TBENCHO) $(LIBS) $(OutPutOpt)$@ $(MT_DLL) clean: @del *.obj *Dict.* *.def *.exp *.d *.log .def *.pdb *.ilk *.manifest distclean: clean @del *.exe *.root *.ps *.lib *.dll ### Event.$(ObjSuf): Event.h MainEvent.$(ObjSuf): Event.h EventDict.$(SrcSuf): Event.h EventLinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c Event.h EventLinkDef.h Hello.$(ObjSuf): Hello.h HelloDict.$(SrcSuf): Hello.h @echo "Generating dictionary $@..." @rootcint -f $@ -c Hello.h Aclock.$(ObjSuf): Aclock.h AclockDict.$(SrcSuf): Aclock.h @echo "Generating dictionary $@..." @rootcint -f $@ -c Aclock.h Tetris.$(ObjSuf): Tetris.h TetrisDict.$(SrcSuf): Tetris.h @echo "Generating dictionary $@..." @rootcint -f $@ -c Tetris.h TBench.$(ObjSuf): TBench.h TBenchDict.$(SrcSuf): TBench.h benchLinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c TBench.h benchLinkDef.h guiviewer.$(ObjSuf): guiviewer.h guiviewerDict.$(SrcSuf): guiviewer.h guiviewerLinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c guiviewer.h guiviewerLinkDef.h .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) -c $<