https://github.com/root-project/root
Raw File
Tip revision: 4650cc30aeef9d1806540778c306047407f75f4f authored by Rene Brun on 14 May 2008, 14:51:27 UTC
tagging development version 5.19/04
Tip revision: 4650cc3
Makefile.win32
!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 <win32.mak>
CC            = $(cc)
CXX           = $(cc)
CXXFLAGS      = $(cvarsdll) -EHsc -nologo -GR -DWIN32 \
                -D_WINDOWS -I$(ROOTSYS)/include \
                -FIw32pragma.h
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 \
                $(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


#------------------------------------------------------------------------------

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)

STRESSMATHO   = stressMathCore.$(ObjSuf) 
STRESSMATHS   = stressMathCore.$(SrcSuf) 

TRACKMATHOBJ = TrackMathCoreCint.$(ObjSuf)
TRACKMATHLIB = libTrackMathCoreCint.$(DllSuf)
STRESSMATH    = stressMathCore$(ExeSuf)

STRESSMATHMOREO   = stressMathMore.$(ObjSuf) 
STRESSMATHMORES   = stressMathMore.$(SrcSuf)  
STRESSMATHMORE    = stressMathMore$(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)

STRESSROOFITO  = stressRooFit.$(ObjSuf)
STRESSROOFITS  = stressRooFit.$(SrcSuf)
STRESSROOFIT   = stressRooFit$(ExeSuf)

STRESSFITO    = stressFit.$(ObjSuf)
STRESSFITS    = stressFit.$(SrcSuf)
STRESSFIT     = stressFit$(ExeSuf)

STRESSTMVAO    = stressTMVA.$(ObjSuf)
STRESSTMVAS    = stressTMVA.$(SrcSuf)
STRESSTMVA     = stressTMVA$(ExeSuf)

STRESSENTRYLISTO = stressEntryList.$(ObjSuf)
STRESSENTRYLISTS = stressEntryList.$(SrcSuf)
STRESSENTRYLIST  = stressEntryList$(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) \
                $(GUITESTO) $(GUIVIEWERO) $(TETRISO) \
                $(STRESSSHAPESO) $(TCOLLBMO) $(STRESSGEOMETRYO) $(STRESSLO) \
                $(STRESSGO) $(STRESSSPO) $(TESTBITSO) $(STRESSTMVAO) \
                $(CTORTUREO) $(QPRANDOMO) $(THREADO) $(STRESSVECO) \
                $(STRESSMATHO) $(STRESSFITO) $(STRESSHEPIXO) \
                $(STRESSENTRYLISTO) $(STRESSROOFITO) $(STRESSMATHMOREO)

PROGRAMS      = $(EVENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \
                $(TCOLLEX) $(TCOLLBM) $(VVECTOR) $(VMATRIX) $(VLAZY) \
                $(HELLOSO) $(ACLOCKSO) $(STRESS) $(TBENCHSO) $(BENCH) \
                $(GUITEST) $(GUIVIEWER) $(TETRISSO) \
                $(STRESSSHAPES) $(STRESSGEOMETRY) $(STRESSL) $(STRESSG) \
                $(TESTBITS) $(CTORTURE) $(QPRANDOM) $(THREADS) $(STRESSSP) \
                $(STRESSVEC) $(STRESSFIT) $(STRESSHEPIX) $(STRESSENTRYLIST) \
                $(STRESSROOFIT) $(STRESSMATH) $(STRESSTMVA) $(STRESSMATHMORE)

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/libGenVector.lib $(OutPutOpt)$@
                $(MT_EXE)
                @echo "$@ done"

$(TRACKMATHLIB):  $(TRACKMATHOBJ)
                  $(LD) $(SOFLAGS) $(LDFLAGS) $(TRACKMATHOBJ) $(LIBS) ../lib/libGenVector.lib $(OutPutOpt)$@
                  $(MT_DLL)
                  @echo "$@ done"

$(STRESSMATH):    $(STRESSMATHO) $(TRACKMATHLIB)
                  $(LD) $(LDFLAGS) $(STRESSMATHO) $(LIBS) ../lib/libGenVector.lib $(OutPutOpt)$@
                  $(MT_EXE)
                  @echo "$@ done"

$(STRESSMATHMORE): $(STRESSMATHMOREO)
                   $(LD) $(LDFLAGS) $(STRESSMATHMOREO) $(LIBS) ../lib/libMathMore.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"

$(STRESSROOFIT):  $(STRESSROOFITO)
                $(LD) $(LDFLAGS)  $(STRESSROOFITO) $(LIBS) ../lib/libRooFit.lib  ../lib/libRooFitCore.lib  ../lib/libHtml.lib  ../lib/libThread.lib  ../lib/libMinuit.lib $(OutPutOpt)$@
                $(MT_EXE)
                @echo "$@ done"

$(STRESSFIT):   $(STRESSFITO)
                $(LD) $(LDFLAGS) $(STRESSFITO) $(LIBS) $(OutPutOpt)$@
                $(MT_EXE)
                @echo "$@ done"

$(STRESSTMVA): $(STRESSTMVAO)
               $(LD) $(LDFLAGS) $(STRESSTMVAO) $(LIBS) ../lib/libTMVA.lib ../lib/libMinuit.lib ../lib/libMLP.lib ../lib/libTreePlayer.lib $(OutPutOpt)$@
               $(MT_EXE)
               @echo "$@ done"

$(STRESSENTRYLIST): $(STRESSENTRYLISTO)
                    $(LD) $(LDFLAGS) $(STRESSENTRYLISTO) $(LIBS) $(OutPutOpt)$@
                    @echo "$@ done"

$(STRESSHEPIX): $(STRESSHEPIXO) $(STRESSGEOMETRY) $(STRESSFIT) $(STRESSL) \
                $(STRESSSP) $(STRESS)
                $(LD) $(LDFLAGS) $(STRESSHEPIXO) $(LIBS) $(OutPutOpt)$@
                $(MT_EXE)
                @echo "$@ done"

$(STRESSROOFIT): $(STRESSROOFITO)
                 $(LD) $(LDFLAGS) $(STRESSROOFITO) $(LIBS) '$(ROOTSYS)/lib/libRooFit.lib' '$(ROOTSYS)/lib/libRooFitCore.lib' '$(ROOTSYS)/lib/libHtml.lib' '$(ROOTSYS)/lib/libThread.lib' '$(ROOTSYS)/lib/libMinuit.lib' $(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

stressMathCore.$(ObjSuf): TrackMathCore.h
TrackMathCoreCint.$(SrcSuf): TrackMathCore.h TrackMathCoreLinkDef.h
   @echo "Generating dictionary $@ using rootcint ..."
   @rootcint -f $@ -c TrackMathCore.h TrackMathCoreLinkDef.h

.$(SrcSuf).$(ObjSuf):
        $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) -c $<

back to top