📄 helloworld.mak
字号:
MAKEFILENAME = helloworld
# Machine Type
PRO_MACHINE_TYPE = i486_nt
# Executable names
EXE = helloworld.exe
EXE_DLL = helloworld.dll
# Pro/Toolkit Source & Machine Loadpoint (EXTERNAL USE - DEFAULT)
PROTOOL_SRC = c:/proe2001/protoolkit
PROTOOL_SYS = $(PROTOOL_SRC)/$(PRO_MACHINE_TYPE)
# Include File Paths
INCS = -I. -I$(PROTOOL_SRC)/protk_appls/includes -I$(PROTOOL_SRC)/includes
# Compiler Flags
CC = cl
MACH = -DPRO_MACHINE=29 -DPRO_OS=4
CCFLAGS = -Dhypot=_hypot -DMSB_LEFT -Dfar=ptc_far -Dhuge=p_huge -Dnear=p_near -c -W2 -G4 -Za -D_X86_=1 -D_WSTDIO_DEFINED /Od /Z7
CFLAGS = $(CCFLAGS) $(INCS) $(MACH)
# Libraries
PTCLIBS = $(PROTOOL_SYS)/obj/protoolkit.lib
PTCLIBS_DLL = $(PROTOOL_SYS)/obj/protk_dll.lib
LIBS = libc.lib kernel32.lib user32.lib wsock32.lib advapi32.lib mpr.lib winspool.lib
# Object files
OBJS = helloworld.obj
# Linker
LINK = link
$(EXE) : $(OBJS) $(PTCLIBS)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
@echo PROTOOL_SYS = $(PROTOOL_SYS)
#Executable applications compiled using WinMain() instead of main() should set the subsystem to windows instead of console.
$(LINK) /subsystem:console -out:$(EXE) /debug:none /debugtype:coff /machine:i386 @<<longline.list
$(OBJS) $(PTCLIBS) $(LIBS)
<<
@echo Finished at `date`
del $(OBJS)
# Dll target
dll: $(EXE_DLL)
$(EXE_DLL) : $(OBJS) $(PTCLIBS_DLL)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
@echo PROTOOL_SYS = $(PROTOOL_SYS)
$(LINK) /subsystem:console -out:$(EXE_DLL) /debug:none /machine:i386 /dll @<<longline.list
$(OBJS) $(PTCLIBS_DLL) $(LIBS)
<<
@echo Finished at `date`
del $(OBJS)
# object dependencies
PROTK_INST = d:/ptk/10toolkit/ch03
helloworld.obj: $(PROTK_INST)/helloworld.c
$(CC) $(CFLAGS) $(PROTK_INST)/helloworld.c
clean :
del $(OBJS)
del $(EXE)
nmake -f $(MAKEFILENAME)
clean_dll :
del $(OBJS)
del $(EXE_DLL)
nmake -f $(MAKEFILENAME) dll
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -