https://github.com/root-project/root
Raw File
Tip revision: 51dc84643fbbe16f6b3ca938a013df59ff766b5e authored by Philippe Canal on 21 May 2024, 19:16:57 UTC
io: Avoid infinite recursion in TFile::Open
Tip revision: 51dc846
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 $@..."
		@rootcling -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 $<

back to top