123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731 |
- #----------------------------------------------------------------------------
- #
- # Description:
- # Make File Header for BackOffice Software Development Kit
- #
- # Copyright:
- # Copyright (C) Microsoft Corp. 1986-1999. All Rights Reserved.
- #
- #----------------------------------------------------------------------------
- !ifndef BASEMAKE_INCLUDED # Prevent multiple inclusions
- BASEMAKE_INCLUDED = 1
- #*********************************************
- #
- # Parameter Checking and Defaults
- #
- #*********************************************
- !ifndef Proj
- ! ERROR Component name (Proj) has not been defined.
- !endif
- !ifndef INCLUDE
- ! ERROR INCLUDE variable is empty; must include at least system include directory
- !endif
- !ifndef LIB
- ! ERROR LIB variable is empty; must include at least system lib directory
- !endif
- !if defined(clean)
- $(Proj): Clean
- !else
- $(Proj): All
- !endif
- !if defined(nodebug)
- BLDTYPE=Retail
- !endif
- !if "$(BLDTYPE)" == "Retail" | "$(BLDTYPE)" == "RETAIL" | "$(BLDTYPE)" == "retail" | "$(BLDTYPE)" == "RTL" | "$(BLDTYPE)" == "rtl"
- BLDTYPE1=Retail
- !else if "$(BLDTYPE)" == "Profile" | "$(BLDTYPE)" == "PROFILE" | "$(BLDTYPE)" == "profile"
- BLDTYPE1=Profile
- !else if "$(BLDTYPE)" == "Debug" | "$(BLDTYPE)" == "DEBUG" | "$(BLDTYPE)" == "debug" | "$(BLDTYPE)" == "DBG" | "$(BLDTYPE)" == "dbg"
- BLDTYPE1=Debug
- !else ifndef BLDTYPE
- BLDTYPE1=Debug
- !else
- ! ERROR BLDTYPE must be either Retail, Profile or Debug.
- !endif
- !if "$(BLDTYPE1)" == "Retail"
- nodebug=1
- !endif
- !ifndef PLATFORM
- PLATFORM=Win32
- !endif
- !ifndef CALL
- CALL=C
- !endif
- !ifndef PACK
- PACK=YES
- !endif
- # Default to logging to stdout.
- !ifndef LOG
- LOG=NO
- !endif
- !ifndef WARNING_LEVEL
- WARNING_LEVEL=3
- !endif
- !ifndef CPU
- CPU=i386
- !ifndef PROCESSOR_ARCHITECTURE
- #!ERROR CPU and PROCESSOR_ARCHITECTURE variables are empty; at least one must be defined
- !endif
- CPU=$(PROCESSOR_ARCHITECTURE)
- !if "$(CPU)"=="x86" | "$(CPU)"=="X86"
- CPU = i386
- !endif
- !endif
- !ifndef APPVER
- APPVER=5.0
- !endif
- !ifndef USE_EXCHANGE
- !include <Win32.Mak>
- !endif
- # Save build args for any recursive nmakes
- BLDARGS= BLDTYPE=$(BLDTYPE) PLATFORM=$(PLATFORM) LOG=$(LOG) CPU=$(CPU)
- #*********************************************
- #
- # Paths
- #
- #*********************************************
- !ifndef BKOFFICE
- !ifdef PROJROOT
- BKOFFICE=$(PROJROOT)\ # must add trailing backslash
- !else
- BKOFFICE=\BkOffice\ # assume a reasonable default
- !endif
- !endif
- !ifdef MAKEDIRS
- MkDest=
- !include $(MAKEDIRS)
- !else
- ResDir=.
- ObjDir=.\$(PLATFORM)\$(BLDTYPE1)
- IncDir=$(BKOFFICE)Include
- LibDir=$(BKOFFICE)Lib
- !if "$(APPVER)" == "5.01"
- INCLUDE=$(INCLUDE);$(ObjDir);$(IncDir);
- !ELSE
- INCLUDE=$(ObjDir);$(IncDir);$(INCLUDE);
- !ENDIF
- LIB=$(LibDir);$(LIB);
- # Win95 doesn't support "&" on command line
- MkDest=@for %d in ("$(PLATFORM)" "$(ObjDir)") do $(COMSPEC) /c if not exist %d md %d
- !endif
- #*********************************************
- #
- # Tools
- #
- #*********************************************
- # Check to see if Cole Porter is used
- !ifndef SUBSTITUTE_CC
- !ifdef COLE_64
- SUBSTITUTE_CC = Port64
- !endif
- !endif
- !ifndef CC_NAME
- !if "$(SUBSTITUTE_CC)" != ""
- CC_NAME = "$(SUBSTITUTE_CC)"
- LINK_NAME = Rem no Link under Cole
- !else
- CC_NAME = Cl
- LINK_NAME = Link
- !endif
- !endif
- MAKEEXE = NMake
- IMPLIB = Lib
- CC = $(CC_NAME)
- LIBU = Lib
- LINK = $(LINK_NAME)
- RC = Rc
- MC = Mc
- MIDL = Midl
- HC = Start /Wait Hcrtf
- #*********************************************
- #
- # Flags
- #
- #*********************************************
- # CL is for all C and C++ files
- # -WX Warnings as errors
- # -J char becomes unsigned char
- #
- CL=$(cflags) -c -w -J -Fo$@ /nologo $(CL)
- # LFLAGS is for all links
- LFLAGS=-NOLOGO /NODEFAULTLIB:LIBC -machine:$(CPU) -out:$@ -INCREMENTAL:NO $(LFLAGS)
- # DLLFLAGS is for linking DLLs
- DLLFLAGS=-DLL -map:"$(ObjDir)\$(@B).Map" $(DLLFLAGS)
- # LIBFLAGS is for making libraries
- LIBFLAGS=-NOLOGO -MACHINE:$(CPU) -out:"$@" $(LIBFLAGS)
- # RFLAGS is for Windows resources
- RFLAGS= -I$(ResDir) -fo$@ -DWIN32 $(noansi) -r -D_WIN32 $(RFLAGS)
- # MFLAGS is for the message compiler
- MFLAGS=-v -c -s -h "$(ObjDir)" -r "$(ObjDir)" -x "$(ObjDir)" $(MFLAGS)
- # MRFLAGS is for the resource compiler when used after the message compiler
- MRFLAGS=-l 409 -r -x -i"$(ObjDir)" $(MRFLAGS)
- # HFLAGS is for the help compiler
- HFLAGS=-xn
- #---------------------------------------------
- # Calling convention Flag
- #---------------------------------------------
- !if "$(CALL)"=="PASCAL"
- CL=-Gc $(CL)
- !endif
- #---------------------------------------------
- # Function Packaging Flag
- #---------------------------------------------
- !if "$(PACK)" == "YES"
- CL=-Gy $(CL)
- cDefines=-Gy $(cDefines)
- !endif
- #---------------------------------------------
- # Output Redirection
- #---------------------------------------------
- !if "$(LOG)" == "NO"
- LogCmd=
- !else
- LogCmd= >> "$(ObjDir)\$(Proj).Out"
- !endif
- #---------------------------------------------
- # select specific library based on target type
- #---------------------------------------------
- !if "$(BLDTYPE1)"=="Retail"
- DbgLibFlag =
- !else
- DbgLibFlag = d
- !endif
- !if defined(unicode)
- UnicodeLibFlag = u
- !else
- UnicodeLibFlag =
- !endif
- #---------------------------------------------
- # Optimization Flags
- #---------------------------------------------
- !if "$(BLDTYPE1)" == "Retail"
- CL=-O2 $(CL)
- !else if "$(BLDTYPE1)" == "Profile"
- CL=-Od -Z7 -Gh $(CL)
- !else
- CL=-Od -Z7 $(CL)
- !endif
- #---------------------------------------------
- # PLATFORM specific Flags
- #---------------------------------------------
- !if "$(CPU)" == "I386"
- CL = $(CL) -D_X86_=1
- scall = -Gz
- lflags = $(lflags) -align:0x1000
- !endif
- !if "$(CPU)" == "ALPHA"
- CL = $(CL) -D_ALPHA_=1
- scall =
- !endif
- #---------------------------------------------
- # Windows version
- #---------------------------------------------
- !if "$(APPVER)" == "4.0"
- CL = $(CL) -DWINVER=0x0400
- rflags=$(rflags) -DWINVER=0x0400
- !endif
- #---------------------------------------------
- # Additional MFC Flags
- #---------------------------------------------
- !ifdef Use_MFC
- CL= $(CL) /GX /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL
- CL= $(CL) /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
- RFLAGS = $(RFLAGS) /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
- !if "$(BLDTYPE1)"=="Debug"
- CL= $(CL) /D_DEBUG
- RFLAGS = $(RFLAGS) /D_DEBUG
- !endif # BLDTYPE == Debug
- !ifdef crtdll # Use DLL CRT? (which is multithreaded)
- crtflags = -MD$(DbgLibFlag) $(crtflags)
- !elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
- crtflags = -ML$(DbgLibFlag) $(crtflags)
- !elseif defined(crtmt) # use Multithreaded CRT?
- crtflags = -MT$(DbgLibFlag) $(crtflags)
- !else # default to crtdll
- crtflags = -MD$(DbgLibFlag) $(crtflags)
- !endif # ifdef crtdll/else crtst/crtmt/else
- !endif
- #---------------------------------------------
- # Build Type Flags (Retail/Debug)
- #---------------------------------------------
- !if "$(BLDTYPE1)"=="Retail"
- CL=-DSHIP $(CL)
- LFLAGS = $(LFLAGS) -RELEASE
- !else if "$(BLDTYPE1)"=="Profile"
- CL=-DDEBUG -DTEST -DPROFILE $(CL)
- LFLAGS = $(LFLAGS) -DEBUG:mapped,partial -DEBUGTYPE:coff -PROFILE
- libs = $(libs) CAP.Lib
- !else
- CL=-DDEBUG -DTEST $(CL)
- LFLAGS = $(LFLAGS) -debug:full -debugtype:cv
- !endif
- #---------------------------------------------
- # Determine CRT Flags
- #---------------------------------------------
- !ifdef crtdll # Use DLL CRT? (which is multithreaded)
- crtflags = -MD$(DbgLibFlag) $(crtflags)
- !elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
- crtflags = -ML$(DbgLibFlag) $(crtflags)
- !elseif defined(crtmt) # use Multithreaded CRT?
- crtflags = -MT$(DbgLibFlag) $(crtflags)
- !else # default to crtdll
- crtflags = -MD$(DbgLibFlag) $(crtflags)
- !endif # ifdef crtdll/else crtst/crtmt/else
- #---------------------------------------------
- # Determine app type Flags (console, gui, or DLL)
- #---------------------------------------------
- !if defined(unicode)
- crtflags=-D UNICODE -D _UNICODE $(crtflags)
- !endif #unicode
- !if defined(console) # console app
- !if !defined(unicode)
- linkflags=$(linkflags) -subsystem:console -entry:mainCRTStartup
- !else
- linkflags=$(linkflags) -subsystem:console -entry:wmainCRTStartup
- !endif #unicode
- !elseif !defined(dll) # not a dll, default to gui app
- !if !defined(unicode)
- linkflags=$(linkflags) -subsystem:windows -entry:WinMainCRTStartup
- !else
- linkflags=$(linkflags) -subsystem:windows -entry:wWinMainCRTStartup
- !endif #unicode
- !endif # ifdef console/else
- #*********************************************
- #
- # Libraries
- #
- #*********************************************
- #---------------------------------------------
- # Back Office SDK specific
- #---------------------------------------------
- !ifdef USE_SNA
- libs=$(libs) fmistr32.Lib ihvLink.Lib snacli.Lib wappc32.Lib wcpic32.Lib
- libs=$(libs) wincsv32.Lib winrui32.Lib winsli32.Lib
- !endif # USE_SNA
- !ifdef USE_SQL
- libs=$(libs) ntwdbLib.Lib
- !endif # USE_SQL
- !ifdef USE_ODS
- libs=$(libs) opends60.Lib
- !endif # USE_ODS
- !ifdef USE_DTC
- libs=$(libs) XOleHlp.Lib
- !endif # USE_ODS
- !ifdef USE_ODBC
- libs=$(libs) odbc32.Lib odbccp32.Lib
- !endif # USE_ODS
- !if defined(USE_MSM) || defined(USE_SMS)
- libs=$(libs) smsapi.Lib objectty.Lib
- !endif # USE_MSM || USE_SMS
- !ifdef USE_NETMON
- libs=$(libs) bhmon.Lib bhsupp.Lib filter.Lib friendly.Lib
- libs=$(libs) hexedit.Lib nal.Lib nmapi.Lib
- libs=$(libs) parser.Lib slbs.Lib toolbar.Lib
- !endif # USE_NETMON
- !ifdef USE_EXCHANGE
- ! ifndef Building_ExchSDK
- libs="ExchSDK$(DbgLibFlag).Lib" $(libs)
- ! endif # Building_ExchSDK
- # Note: when using MFC for Exchange Admin
- # extension dlls they must be statically linked to MFC.
- libs=$(libs) Mapi32.Lib Uuid.Lib
- !if "$(WARNING_LEVEL)" != "4"
- CL= $(CL) -WX
- !endif
- DLLFLAGS = $(DLLFLAGS) -def:$(@B).def
- !endif # USE_EXCHANGE
- #---------------------------------------------
- # Determine CRT Libraries
- #---------------------------------------------
- libc = libc$(DbgLibFlag).Lib oldnames.Lib
- libcmt = libcmt$(DbgLibFlag).Lib oldnames.Lib
- libcdll = msvcrt$(DbgLibFlag).Lib oldnames.Lib
- !ifdef crtdll # Use DLL CRT?
- libcrt=$(libcdll)
- !elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
- libcrt=$(libc)
- !elseif defined(crtmt) # use Multithreaded CRT?
- libcrt=$(libcmt)
- !else # default to crtdll
- libcrt=$(libcdll)
- !endif # endif crtdll/else crtst/crtmt/else
- #---------------------------------------------
- # Determine app type libraries (console, gui, or DLL)
- #---------------------------------------------
- !ifdef dll # is this a DLL?
- linklibs=$(libs) kernel32.Lib advapi32.Lib user32.Lib gdi32.Lib comctl32.Lib comdlg32.Lib ole32.Lib winspool.Lib version.Lib
- !elseif defined(console) # not a DLL, perhaps a console app
- linklibs=$(libs) kernel32.Lib advapi32.Lib user32.Lib ole32.Lib version.Lib
- !else # default to gui app
- linklibs=$(libs) kernel32.Lib $(optlibs) advapi32.Lib user32.Lib gdi32.Lib comdlg32.Lib ole32.Lib winspool.Lib version.Lib
- !endif # ifdef dll/else console/else
- #LinkLibs = $(LibList) $(linklibs) $(libcrt)
- # do not specify CRT libs if using MFC, let MFC fix this up in the default libs
- !ifdef Use_MFC
- LinkLibs = $(LibList) $(linklibs)
- !else
- LinkLibs = $(LibList) $(linklibs) $(libcrt)
- !endif
- #if necessary, force MSVCRT to be included in lib list
- !ifdef Use_MSCRT
- LinkLibs = $(LinkLibs) $(libcrt)
- !endif
- !if "$(BLDTYPE1)" == "Profile"
- LinkLibs = $(LinkLibs) cap.Lib
- !endif
- #---------------------------------------------
- # Additional MFC Libraries
- #---------------------------------------------
- # Note that linking order is important when using MFC!
- !ifdef Use_MFC
- !if !defined(nodebug)
- linklibs = mfco42$(UnicodeLibFlag)$(DbgLibFlag).Lib $(linklibs)
- !endif
- linklibs = mfcs42$(UnicodeLibFlag)$(DbgLibFlag).Lib mfc42$(UnicodeLibFlag)$(DbgLibFlag).Lib $(linklibs)
- !endif
- #*********************************************
- #
- # Inference Rules
- #
- #*********************************************
- .SUFFIXES: .c .Cpp .Cxx .Obj .Def .Lib .Dll .Exe .Idl .h .Mc .Rc .Res .Exp .Bin .Hpj .Ini .Pdb .Trg .Ocx .Tlb .Res .Srl .Odl
- # C Targets
- .c{$(ObjDir)\}.Obj:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- !endif
- $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- # C++ Targets
- .cpp{$(ObjDir)\}.Obj:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- !endif
- $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- # C++ Targets
- .cxx{$(ObjDir)\}.obj:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- !endif
- $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
- # Resource Targets from .RC files
- {$(ResDir)\}.Rc{$(ObjDir)\}.Res:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(RC) $(RFLAGS) $(ResDir)\$(@B).rc $(LogCmd)
- !endif
- $(RC) $(RFLAGS) $(ResDir)\$(@B).rc $(LogCmd)
- # Resource Targets from .MC files
- .Mc{$(ObjDir)\}.Res:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(MC) $(MFLAGS) $< $(LogCmd)
- !endif
- $(MC) $(MFLAGS) $< $(LogCmd)
- !if "$(LOG)"=="YES"
- @echo $(RC) $(MRFLAGS) -fo$@ "$(ObjDir)\$(@B).rc" $(LogCmd)
- !endif
- $(RC) $(MRFLAGS) -fo$@ "$(ObjDir)\$(@B).rc" $(LogCmd)
- # Import Libraries
- .Def{$(ObjDir)\}.Lib:
- !if "$(LOG)"=="YES"
- @echo $(IMPLIB) -NOLOGO -MACHINE:$(CPU) -DEF:$(@B).DEF -OUT:$@ $(LogCmd)
- !endif
- $(IMPLIB) -NOLOGO -MACHINE:$(CPU) -DEF:$(@B).DEF -OUT:$@ $(LogCmd)
- set copycmd=/Y
- xcopy "$@" "$(LibDir)\" $(LogCmd)
- .Def{$(ObjDir)\}.Exp:
- !if "$(LOG)"=="YES"
- @echo $(IMPLIB) -NOLOGO -MACHINE:$(CPU) -DEF:$(@B).DEF -OUT:"$(@R).Lib" $(LogCmd)
- !endif
- $(IMPLIB) -NOLOGO -MACHINE:$(CPU) -DEF:$(@B).DEF -OUT:"$(@R).Lib" $(LogCmd)
- # Static Libraries
- {$(ObjDir)\}.Obj{$(ObjDir)\}.Lib:
- !if "$(LOG)"=="YES"
- @echo $(LIBU) $(LIBFLAGS) $** $(LogCmd)
- !endif
- $(LIBU) $(LIBFLAGS) $** $(LogCmd)
- !ifdef USE_EXCHANGE
- !if "$(LOG)"=="YES"
- @echo xcopy "$(@R).Lib" "$(LibDir)" $(LogCmd)
- !endif
- set copycmd=/Y
- -xcopy "$(@R).Lib" "$(LibDir)\" $(LogCmd)
- !endif # USE_EXCHANGE
- # DLLs
- {$(ObjDir)\}.Obj{$(ObjDir)\}.Dll:
- @echo $** > "$(ObjDir)\objfiles.lst"
- @echo $(LinkLibs) > "$(ObjDir)\libfiles.lst"
- !if "$(LOG)"=="YES"
- @echo $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !endif
- $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !ifdef USE_EXCHANGE
- !if "$(LOG)"=="YES"
- @echo xcopy "$(@R).Lib" "$(LibDir)" $(LogCmd)
- !endif
- set copycmd=/Y
- -xcopy "$(@R).Lib" "$(LibDir)\" $(LogCmd)
- !endif # USE_EXCHANGE
- # OCXs
- {$(ObjDir)\}.obj{$(ObjDir)\}.Ocx:
- @echo $** > "$(ObjDir)\objfiles.lst"
- @echo $(LinkLibs) > "$(ObjDir)\libfiles.lst"
- !if "$(LOG)"=="YES"
- @echo $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !endif
- $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !ifdef USE_EXCHANGE
- !if "$(LOG)"=="YES"
- @echo xcopy "$(@R).Lib" "$(LibDir)" $(LogCmd)
- !endif
- set copycmd=/Y
- -xcopy "$(@R).Lib" "$(LibDir)\" $(LogCmd)
- !endif # USE_EXCHANGE
- # BINs
- {$(ObjDir)\}.Obj{$(ObjDir)\}.Bin:
- @echo $(LinkLibs) > "$(ObjDir)\libfiles.lst"
- !if "$(LOG)"=="YES"
- @echo $(LINK) $(LFLAGS) $(linkflags) $** "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !endif
- $(LINK) $(LFLAGS) $(linkflags) $** "@$(ObjDir)\libfiles.lst" $(LogCmd)
- # EXEs
- {$(ObjDir)\}.Obj{$(ObjDir)\}.Exe:
- @echo $** > "$(ObjDir)\objfiles.lst"
- @echo $(LinkLibs) > "$(ObjDir)\libfiles.lst"
- !if "$(LOG)"=="YES"
- @echo $(LINK) $(LFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- !endif
- $(LINK) $(LFLAGS) $(linkflags) "@$(ObjDir)\objfiles.lst" "@$(ObjDir)\libfiles.lst" $(LogCmd)
- # Helpfiles
- .Hpj{$(ObjDir)\}.Hlp:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(HC) $(HFLAGS) $(@B).Hpj
- !endif
- $(HC) $(HFLAGS) $(@B).Hpj
- !if "$(LOG)"=="YES"
- @echo xcopy "$(@F)" "$(ObjDir)"
- !endif
- set copycmd=/Y
- -xcopy "$(@F)" "$(ObjDir)" $(LogCmd)
- # TRGs
- {$(ObjDir)\}.Exe{$(ObjDir)\}.Trg:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $? /RegServer "$(ObjDir)\regsvr32.Trg" $(LogCmd)
- !endif
- @-$? /RegServer $(LogCmd)
- echo regsvr32 exec. time > "$(ObjDir)\regsvr32.Trg" $(LogCmd)
- {$(ObjDir)\}.Dll{$(ObjDir)\}.Trg:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo regsvr32 /s $? regsvr32.trg
- !endif
- @-regsvr32 /s $? $(LogCmd)
- echo regsvr32 exec. time > "$(ObjDir)\regsvr32.Trg"
- # .Hs
- .Idl{$(ObjDir)\}.H:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(MIDL) /Oicf /out "$(ObjDir)" $** $(LogCmd)
- !endif
- $(MIDL) /Oicf /out "$(ObjDir)" $** $(LogCmd)
- # .Tlbs
- .Odl{$(ObjDir)\}.Tlb:
- $(MkDest)
- !if "$(LOG)"=="YES"
- @echo $(MIDL) /nologo /out "$(ObjDir)" $** $(LogCmd)
- !endif
- $(MIDL) /nologo /out "$(ObjDir)" $** $(LogCmd)
- #*********************************************
- #
- # Make Targets
- #
- #*********************************************
- #---------------------------------------------
- # List Output Files
- #---------------------------------------------
- ListDir:
- dir "$(ObjDir)"
- #---------------------------------------------
- # Display Output Listing File
- #---------------------------------------------
- !ifndef ERRVIEW
- ERRVIEW=start notepad.Exe
- !endif
- ListOut:
- $(ERRVIEW) "$(ObjDir)\$(Proj).out"
- #---------------------------------------------
- # Delete Output Listing File
- #---------------------------------------------
- DelOut:
- del "$(ObjDir)\$(Proj).out"
- #---------------------------------------------
- # Clean Output Directories
- #---------------------------------------------
- clean:
- $(MkDest)
- !if "$(OS)" == "Windows_NT"
- -del /q "$(ObjDir)\*.Obj" \
- "$(ObjDir)\*.out" \
- "$(ObjDir)\*.h" \
- "$(ObjDir)\*.dbg" \
- "$(ObjDir)\*.Lib" \
- "$(ObjDir)\*.Exe" \
- "$(ObjDir)\*.Dll" \
- "$(ObjDir)\*.Map" \
- "$(ObjDir)\*.Res" \
- "$(ObjDir)\*.rc" \
- "$(ObjDir)\*.bin" \
- "$(ObjDir)\*.lst" \
- "$(ObjDir)\*.blt" \
- "$(ObjDir)\*.hlp" \
- "$(ObjDir)\*.trg" \
- "$(ObjDir)\*.srl" \
- "$(ObjDir)\*.ini" \
- "$(ObjDir)\*.tlb" \
- "$(ObjDir)\*.pdb" \
- "$(ObjDir)\*.exp" >NUL 2>NUL
- !else # Win95 doesn't support "2>" on command line, multiple files on a Del command, or /q
- -erase "$(ObjDir)\*.Obj" >NUL
- -erase "$(ObjDir)\*.out" >NUL
- -erase "$(ObjDir)\*.h" >NUL
- -erase "$(ObjDir)\*.dbg" >NUL
- -erase "$(ObjDir)\*.Lib" >NUL
- -erase "$(ObjDir)\*.Exe" >NUL
- -erase "$(ObjDir)\*.Dll" >NUL
- -erase "$(ObjDir)\*.Map" >NUL
- -erase "$(ObjDir)\*.Res" >NUL
- -erase "$(ObjDir)\*.rc" >NUL
- -erase "$(ObjDir)\*.bin" >NUL
- -erase "$(ObjDir)\*.lst" >NUL
- -erase "$(ObjDir)\*.blt" >NUL
- -erase "$(ObjDir)\*.hlp" >NUL
- -erase "$(ObjDir)\*.trg" >NUL
- -erase "$(ObjDir)\*.srl" >NUL
- -erase "$(ObjDir)\*.ini" >NUL
- -erase "$(ObjDir)\*.pdb" >NUL
- -erase "$(ObjDir)\*.exp" >NUL
- -erase "$(ObjDir)\*.tlb" >NUL
- -erase "$(ObjDir)\*.c" >NUL
- -erase "$(ObjDir)\*.trg" >NUL
- !endif # OS == Windows_NT
- !endif # BASEMAKE_INCLUDED
|