https://github.com/root-project/root
Tip revision: 8483108b510b110a664c89af1e452e5547bdaa38 authored by Fons Rademakers on 31 October 2013, 15:46:31 UTC
make version v5-34-11.
make version v5-34-11.
Tip revision: 8483108
Makefile.win32
!if "$(CFG)" == ""
!if ([findstr /c:"--build=debug" $(ROOTSYS)\bin\root-config > nul ] == 0)
CFG = Win32 Debug
!if ([findstr /c:"--disable-winrtdebug" $(ROOTSYS)\bin\root-config > nul ] == 0)
RUNTIME = Release
!else
RUNTIME = Debug
!endif
!message No configuration specified: Defaulting to Win32 Debug
!message With $(RUNTIME) Runtime DLL (Taken from ROOT config).
!message .
!else
CFG = Win32 Release
RUNTIME = Release
!message No configuration specified: Defaulting to Win32 Release
!message With $(RUNTIME) Runtime DLL (Taken from ROOT config).
!message .
!endif
!else
!if "$(CFG)" == "Win32 Release"
RUNTIME = Release
!elseif "$(CFG)" == "Win32 Debug"
RUNTIME = Debug
!endif
!endif
!if "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 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.msc" CFG="Win32 Debug"
!message
!message Possible choices for configuration are:
!message
!message "Win32 Release" (based on "Win32 (x86) Dynamic Library")
!message "Win32 Debug" (based on "Win32 (x86) Dynamic 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 <win32.mak>
CC = $(cc)
CXX = $(cc)
CXXFLAGS = -nologo -EHsc -GR -DWIN32 -W3 -D_WINDOWS \
-DVISUAL_CPLUSPLUS -I$(ROOTSYS)/include \
-wd4244 -FIw32pragma.h
LD = $(link)
!if "$(CFG)" == "Win32 Release"
CXXOPT = -O2 -arch:SSE2 -MD
LDOPT = -opt:ref
!elseif "$(CFG)" == "Win32 Debug"
!if "$(RUNTIME)" == "Debug"
CXXOPT = -Z7 -MDd
!else
CXXOPT = -Z7 -O2 -arch:SSE2 -MD
!endif
LDOPT = -debug
!endif
# Check if nmake version is 8.xx or 9.xx
!if ([nmake /? 2>&1 | findstr /c:"Version 8\." > nul ] == 0) || \
([nmake /? 2>&1 | findstr /c:"Version 9\." > nul ] == 0)
MT_EXE = mt -nologo -manifest $@.manifest -outputresource:$@;1
MT_DLL = mt -nologo -manifest $@.manifest -outputresource:$@;2
EXTRAFLAGS = -D_CRT_SECURE_NO_DEPRECATE
!else if ([nmake /? 2>&1 | findstr /c:"Version 10\." > nul ] == 0)
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__Graf -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 \
$(ROOTSYS)\lib\libMathCore.lib
LIBS = $(ROOTLIBS)
GLIBS = $(LIBS) $(ROOTSYS)\lib\libGui.lib $(ROOTSYS)\lib\libGraf.lib \
$(ROOTSYS)\lib\libGpad.lib
LIBSALL = $(ROOTLIBS)
EVENTLIB = libEvent.lib
#------------------------------------------------------------------------------
RIDES = main.$(SrcSuf) TGRootIDE.$(SrcSuf) RIDEDict.$(SrcSuf)
RIDEO = main.$(ObjSuf) TGRootIDE.$(ObjSuf) RIDEDict.$(ObjSuf)
RIDE = RIDE$(ExeSuf)
OBJS = $(RIDEO)
PROGRAMS = $(RIDE)
#------------------------------------------------------------------------------
all: $(PROGRAMS)
$(RIDE): $(RIDEO)
$(LD) $(LDFLAGS) \
$(RIDEO) $(GLIBS) $(ROOTSYS)\lib\libGuiHtml.lib \
$(ROOTSYS)\lib\libHtml.lib $(OutPutOpt)$@
$(MT_EXE)
@echo "$@ done"
RIDEDict.$(SrcSuf): TGRootIDE.h LinkDef.h
@echo "Generating dictionary $@..."
@rootcint -f $@ -c TGRootIDE.h LinkDef.h
#------------------------------------------------------------------------------
clean:
@del *.obj *Dict.* *.def *.exp *.d *.log .def *.pdb *.ilk *.manifest
distclean: clean
@del *.exe *.root *.ps *.lib *.dll
###
.$(SrcSuf).$(ObjSuf):
$(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) -c $<