!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") || ("$(_NMAKE_VER)" == "8.00.50727.762") || ("$(_NMAKE_VER)" == "9.00.21022.08") 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) #------------------------------------------------------------------------------ MAIN = MyClassC MAINR = myclassR1 MYHDR = $(MAIN).h MyClassA.h MyClassB.h rwrapper.h MYOBJ = $(MAIN).$(ObjSuf) $(MAIN)Dict.$(ObjSuf) MyClassA.$(ObjSuf) MyClassB.$(ObjSuf) rwrapper.$(ObjSuf) MYSRC = $(MAIN).$(SrcSuf) $(MAIN)Dict.$(SrcSuf) MyClassA.$(SrcSuf) MyClassB.$(SrcSuf) rwrapper.$(SrcSuf) #MYDLL = lib$(MAINR).$(DllSuf) MYDLL = $(MAINR).$(DllSuf) OBJS = $(MYOBJ) PROGRAMS = $(MYDLL) all: $(PROGRAMS) $(MYDLL): $(MYOBJ) $(LD) $(SOFLAGS) $(LDFLAGS) $(MYOBJ) $(GLIBS) $(OutPutOpt)$@ $(MT_DLL) ### $(MAIN).$(ObjSuf): $(MYHDR) $(MAIN)Dict.$(SrcSuf): $(MYHDR) $(MAIN)LinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c $(MYHDR) $(MAIN)LinkDef.h .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) -c $< clean: @del *.obj *Dict.* *.def *.exp *.d *.log .def *.pdb *.ilk *.manifest distclean: clean @del *.exe *.root *.ps *.lib *.dll