📄 mysql.mak
字号:
# Temporarily here -- later may go into some batch file# which will set this as an environment variablePROJECT_ROOT = ..\..# Module detailsMODULE_NAME = phpmysqlMODULE_DESC = "PHP MySQL Extension"VMAJ = 0VMIN = 60VREV = 0#include the common settingsinclude $(PROJECT_ROOT)/netware/common.mif# MYSQL stuffMYSQL_DIR = P:/APPS/script/sw/mysql# Build type defaults to 'release'ifndef BUILDBUILD = releaseendif# Extensions of all input and output files.SUFFIXES:.SUFFIXES: .nlm .lib .obj .cpp .c .msg .mlc .mdb .xdc .d# Source filesC_SRC = php_mysql.c \ start.c CPP_SRC_NODIR = $(notdir $(CPP_SRC))C_SRC_NODIR = $(notdir $(C_SRC))SRC_DIR = $(dir $(CPP_SRC) $(C_SRC))# Library filesLIBRARY = $(MYSQL_DIR)/lib/libmysqlclient.lib# Destination directories and filesOBJ_DIR = $(BUILD)FINAL_DIR = $(BUILD)OBJECTS = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.obj) $(C_SRC_NODIR:.c=.obj))DEPDS = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.d) $(C_SRC_NODIR:.c=.d))# Binary fileifndef BINARY BINARY=$(FINAL_DIR)\$(MODULE_NAME).nlmendif# Compile flagsC_FLAGS = -c -maxerrors 25 -msgstyle gcc -wchar_t on -bool on -processor Pentium -align 1C_FLAGS += -nostdinc -nosyspath C_FLAGS += -DNETWARE -DZTS -DNEW_LIBC -DUSE_OLD_FUNCTIONS -DCOMPILE_DL=1C_FLAGS += -I. -I$(PROJECT_ROOT)/main -I$(PROJECT_ROOT)/ext/standard -I$(PROJECT_ROOT) -I$(PROJECT_ROOT)/netwareC_FLAGS += -I$(PROJECT_ROOT)/zend -I$(PROJECT_ROOT)/tsrmC_FLAGS += -I- -I$(SDK_DIR)/include -I$(MWCIncludes)C_FLAGS += -I$(MYSQL_DIR)/include -DCOMPILE_DL_MYSQL=1C_FLAGS += -I$(WINSOCK_DIR)/include/nlm -I$(WINSOCK_DIR)/include# Extra stuff based on debug / release buildsifeq '$(BUILD)' 'debug' SYM_FILE = $(FINAL_DIR)\$(MODULE_NAME).sym C_FLAGS += -inline smart -sym on -sym codeview4 -opt off -opt intrinsics -DDEBUGGING -DDKFBPON C_FLAGS += -exc cw -DZEND_DEBUG=1 LD_FLAGS += -sym on -sym codeview4 -osym $(SYM_FILE) export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtld.libelse C_FLAGS += -opt speed -inline on -inline smart -inline auto -sym off -opt intrinsics C_FLAGS += -opt level=4 -DZEND_DEBUG=0 LD_FLAGS += -sym off export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtl.libendif# DependenciesMODULE = LibC \ phplibIMPORT = @$(SDK_DIR)/imports/libc.imp \ @$(SDK_DIR)/imports/ws2nlm.imp \ @$(MPK_DIR)/import/mpkOrg.imp \ @$(PROJECT_ROOT)/netware/phplib.imp#EXPORT = mysql_functions \# mysql_module_entry \# ($(MODULE_NAME).nlm) get_moduleEXPORT = ($(MODULE_NAME)) get_moduleAPI = OutputToScreen# Virtual pathsvpath %.cpp .vpath %.c . ..\..\netwarevpath %.obj $(OBJ_DIR)all: prebuild project.PHONY: allprebuild: @if not exist $(OBJ_DIR) md $(OBJ_DIR)project: $(BINARY) @echo Build complete.$(OBJ_DIR)/%.d: %.cpp @echo Building Dependencies for $(<F) @$(CC) -M $< $(C_FLAGS) -o $@$(OBJ_DIR)/%.d: %.c @echo Building Dependencies for $(<F) @$(CC) -M $< $(C_FLAGS) -o $@$(OBJ_DIR)/%.obj: %.cpp @echo Compiling $?... @$(CC) $< $(C_FLAGS) -o $@ $(OBJ_DIR)/%.obj: %.c @echo Compiling $?... @$(CC) $< $(C_FLAGS) -o $@$(BINARY): $(DEPDS) $(OBJECTS) @echo Import $(IMPORT) > $(basename $@).defifdef API @echo Import $(API) >> $(basename $@).defendif @echo Module $(MODULE) >> $(basename $@).defifdef EXPORT @echo Export $(EXPORT) >> $(basename $@).defendif @echo AutoUnload >> $(basename $@).defifeq '$(BUILD)' 'debug' @echo Debug >> $(basename $@).defendif @echo Flag_On 0x00000008 >> $(basename $@).def @echo Start _NonAppStart >> $(basename $@).def @echo Exit _NonAppStop >> $(basename $@).def @echo Linking $@... @echo $(LD_FLAGS) -commandfile $(basename $@).def > $(basename $@).link @echo $(LIBRARY) $(OBJECTS) >> $(basename $@).link @$(LINK) @$(basename $@).link.PHONY: cleanclean: cleand cleanobj cleanbin.PHONY: cleandcleand: @echo Deleting all dependency files... -@del "$(OBJ_DIR)\*.d".PHONY: cleanobjcleanobj: @echo Deleting all object files... -@del "$(OBJ_DIR)\*.obj".PHONY: cleanbincleanbin: @echo Deleting binary files... -@del "$(FINAL_DIR)\$(MODULE_NAME).nlm" @echo Deleting MAP, DEF files, etc.... -@del "$(FINAL_DIR)\$(MODULE_NAME).map" -@del "$(FINAL_DIR)\$(MODULE_NAME).def" -@del "$(FINAL_DIR)\$(MODULE_NAME).link"ifeq '$(BUILD)' 'debug' -@del $(FINAL_DIR)\$(MODULE_NAME).symendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -