⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basemake.inc

📁 vc6.0完整版
💻 INC
📖 第 1 页 / 共 2 页
字号:
crtflags = -DWIN32 $(noansi) -D_WIN32
!elseif defined(crtmt)                        # use Multithreaded CRT?
crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT
!else                                         # default to crtdll
crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT -D_DLL
!endif                                        # ifdef crtdll/else crtst/crtmt/else

#---------------------------------------------
# Determine app type Flags (console, gui, or DLL)
#---------------------------------------------

!if defined(console)                          # console app
linkflags=$(linkflags) -subsystem:console -entry:mainCRTStartup
!elseif !defined(dll)                         # not a dll, default to gui app
linkflags=$(linkflags) -subsystem:windows -entry:WinMainCRTStartup
!endif                                        # ifdef console/else



#*********************************************
#
# Libraries
#
#*********************************************

!if "$(BLDTYPE1)"=="Retail"
DbgLibFlag =
!else
DbgLibFlag = d
!endif

#---------------------------------------------
# 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

!if defined(USE_MSM) || defined(USE_SMS)
libs=$(libs) smsapi.lib objectty.lib
!endif # USE_MSM || USE_SMS

!ifdef USE_NETMON
libs=$(libs) atalk.lib bhmon.lib bhsupp.lib browser.lib filter.lib friendly.lib
libs=$(libs) hexedit.lib llc.lib nal.lib ncp.lib netlogon.lib nmapi.lib
libs=$(libs) parser.lib ppp.lib slbs.lib toolbar.lib
!endif # USE_NETMON

!ifdef USE_EXCHANGE
!  ifndef Building_ExchSDK
libs=ExchSDK$(DbgLibFlag).Lib $(libs)
!  endif # Building_ExchSDK

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)

!if "$(BLDTYPE1)" == "Profile"
LinkLibs = $(LinkLibs) cap.lib
!endif


#---------------------------------------------
# Additional MFC Libraries
#---------------------------------------------
# Note that linking order is important when using MFC!

!ifdef Use_MFC
linklibs = mfcs40$(DbgLibFlag).lib mfc40$(DbgLibFlag).lib $(linklibs)
!endif


#*********************************************
#
# Inference Rules
#
#*********************************************
.SUFFIXES:
.SUFFIXES: .c .cpp .obj .def .lib .dll .exe .mc .rc .res .exp .bin .hpj

# 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)

# 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)
    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)
!if "$(LOG)"=="YES"
    @echo xcopy $@ $(LibDir) $(LogCmd)
!endif
    xcopy $@ $(LibDir)\ $(LogCmd)

# 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)
!if "$(LOG)"=="YES"
    @echo xcopy $(@R).lib $(LibDir) $(LogCmd)
!endif
    -xcopy $(@R).lib $(LibDir)\ $(LogCmd)

# 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
    -xcopy $(@F) $(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)\*.srl \
        $(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)\*.srl >NUL
 erase  $(ObjDir)\*.exp >NUL
!endif  # OS == Windows_NT
!endif      # BASEMAKE_INCLUDED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -