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

📄 phys.mak

📁 Windows 95 系統程式設計大奧秘书籍源码
💻 MAK
字号:
PROJ = PHYS
PROJDLL32 = PHYS32
PROJDLL16 = PHYS16

PROJ_OBJS = phys.obj pagetabl.obj

PROJDLL32_OBJS = phys32.obj phystk32.obj

PROJDLL16_OBJS = phys16.obj phystk16.obj

TOOLS32 = d:\msvc20\bin
INC32 = d:\msvc20\include
    
TOOLS16 = d:\msvc\bin
LIB16 = d:\msvc\lib
INC16 = d:\msvc\include
    
CC32 = $(TOOLS32)\CL
CC16 = $(TOOLS16)\CL
ASM32 = $(TOOLS32)\ML
ASM16 = $(TOOLS16)\ML
LINK32 = $(TOOLS32)\link
LINK16 = $(TOOLS16)\link
RC32 = $(TOOLS32)\RC
RC16 = d:\MSTOOLS\binw16\RC.exe  # Need a version of RC.EXE to mark the
                                 # DLL as requiring version 4.0

DEBUG = 0

COMMON_CC_FLAGS = /D_X86_ /W3 /D"WIN32" /c /D"_WINDOWS" 

CFLAGS_D_DDLL32 = $(COMMON_CC_FLAGS) /O2 /D_DEBUG /Zi /Fd"$(PROJDLL32).PDB" /YX"$(PROJDLL32).PCH"
CFLAGS_R_DDLL32 = $(COMMON_CC_FLAGS) /O2 /DNDEBUG
LFLAGS_D_DDLL32 = /DLL /DEBUG /DEBUGTYPE:both /SUBSYSTEM:console
LFLAGS_R_DDLL32 = /DLL /SUBSYSTEM:console
LIBS_D_DDLL32 = kernel32.lib user32.lib thunk32.lib
LIBS_R_DDLL32 = kernel32.lib user32.lib thunk32.lib
CFLAGS_D_DEXE32 = $(COMMON_CC_FLAGS) /D_DEBUG /Zi /Fd"$(PROJ).PDB" /YX"$(PROJ).PCH"
CFLAGS_R_DEXE32 = $(COMMON_CC_FLAGS) /O2 /DNDEBUG
LFLAGS_D_DEXE32 = /DEBUG /DEBUGTYPE:both /SUBSYSTEM:console
LFLAGS_R_DEXE32 = /SUBSYSTEM:console
LIBS_D_DEXE32 = kernel32.lib user32.lib
LIBS_R_DEXE32 = kernel32.lib user32.lib

CFLAGS_D_DDLL16 = /I$(INC16) /c /AL /W3 /Gs /GD /Zi /YX"$(PROJDLL16).PCH"
CFLAGS_R_DDLL16 = /I$(INC16) /c /AL /W3 /Gs /GD /O2 /DNDEBUG
LFLAGS_D_DDLL16 = /ALIGNMENT:16 /ONERROR:NOEXE /NOD /NOE /MAP /LINENUMBERS
LFLAGS_R_DDLL16 = /ALIGNMENT:16 /ONERROR:NOEXE /NOD /NOE /MAP /LINENUMBERS
LIBS_D_DDLL16 = $(LIB16)\libw.lib $(LIB16)\LDLLCEW.LIB
LIBS_R_DDLL16 = $(LIB16)\libw.lib $(LIB16)\LDLLCEW.LIB

!if "$(DEBUG)" == "1"
CFLAGSDLL32 = $(CFLAGS_D_DDLL32)
LFLAGSDLL32 = $(LFLAGS_D_DDLL32)
LIBSDLL32 = $(LIBS_D_DDLL32)
CFLAGSEXE32 = $(CFLAGS_D_DEXE32)
LFLAGSEXE32 = $(LFLAGS_D_DEXE32)
LIBSEXE32 = $(LIBS_D_DEXE32)
CFLAGSDLL16 = $(CFLAGS_D_DDLL16)
LFLAGSDLL16 = $(LFLAGS_D_DDLL16)
LIBSDLL16 = $(LIBS_D_DDLL16)
!else
CFLAGSDLL32 = $(CFLAGS_R_DDLL32)
LFLAGSDLL32 = $(LFLAGS_R_DDLL32)
LIBSDLL32 = $(LIBS_R_DDLL32)
CFLAGSEXE32 = $(CFLAGS_R_DEXE32)
LFLAGSEXE32 = $(LFLAGS_R_DEXE32)
LIBSEXE32 = $(LIBS_R_DEXE32)
CFLAGSDLL16 = $(CFLAGS_R_DDLL16)
LFLAGSDLL16 = $(LFLAGS_R_DDLL16)
LIBSDLL16 = $(LIBS_R_DDLL16)
!endif

all: $(PROJDLL32).DLL $(PROJ).EXE $(PROJDLL16).DLL

$(PROJ).EXE: $(PROJ_OBJS) $(PROJ).RES
    echo >NUL @<<$(PROJ).CRF
$(LFLAGSEXE32)
$(PROJ_OBJS)
$(PROJDLL32).LIB
-OUT:$(PROJ).EXE
$(LIBSEXE32)
K32LIB.LIB
-DEF:$(PROJ).DEF
$(PROJ).RES
<<
    $(LINK32) @$(PROJ).CRF

$(PROJDLL32).DLL: $(PROJDLL32_OBJS) $(PROJDLL32).DEF
    echo >NUL @<<$(PROJDLL32).CRF
$(LFLAGSDLL32)
$(PROJDLL32_OBJS)
-OUT:$(PROJDLL32).DLL
-DEF:$(PROJDLL32).DEF
$(LIBSDLL32)
<<
    $(LINK32) @$(PROJDLL32).CRF

$(PROJDLL16).DLL: $(PROJDLL16_OBJS) $(PROJDLL16).DEF
    echo >NUL @<<$(PROJDLL16).CRF
$(LFLAGSDLL16) $(PROJDLL16_OBJS)
$(PROJDLL16).DLL
$(PROJDLL16).MAP
$(LIBSDLL16)
$(PROJDLL16).DEF
<<
    $(LINK16) @$(PROJDLL16).CRF
	$(RC16) $(PROJDLL16).DLL

phys.obj: phys.c
	$(CC32) $(CFLAGSEXE32) $?

phys32.obj: phys32.c
	$(CC32) $(CFLAGSDLL32) $?
	
phystk32.obj: phystk.asm
	$(ASM32) /c /Zi /DIS_32 /Fo"phystk32.obj" /coff $?

$(PROJ).RES: $(PROJ).RC
	$(RC32) -r $?

pagetabl.obj: pagetabl.asm
	$(ASM32) /c /Zi /coff $?

phystk.asm: phystk.thk
	thunk phystk.thk

phys16.obj: phys16.c
	$(CC16) $(CFLAGSDLL16) $?

phystk16.obj: phystk.asm
	$(ASM16) /c /Zi /DIS_16 /Fo"phystk16.obj" $?

⌨️ 快捷键说明

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