|
| 1 | +# Temporarily here -- later may go into some batch file |
| 2 | +# which will set this as an environment variable |
| 3 | +PROJECT_ROOT = ..\.. |
| 4 | + |
| 5 | +# Module details |
| 6 | +MODULE_NAME = php_imap |
| 7 | +MODULE_DESC = "PHP 4.2.3 - IMAP Extension" |
| 8 | +VMAJ = 1 |
| 9 | +VMIN = 0 |
| 10 | +VREV = 0 |
| 11 | + |
| 12 | +#include the common settings |
| 13 | +include $(PROJECT_ROOT)/netware/common.mif |
| 14 | + |
| 15 | +# Extensions of all input and output files |
| 16 | +.SUFFIXES: |
| 17 | +.SUFFIXES: .nlm .lib .obj .cpp .c .msg .mlc .mdb .xdc .d |
| 18 | + |
| 19 | +# Source files |
| 20 | +C_SRC = php_imap.c \ |
| 21 | + start.c |
| 22 | + |
| 23 | +CPP_SRC_NODIR = $(notdir $(CPP_SRC)) |
| 24 | +C_SRC_NODIR = $(notdir $(C_SRC)) |
| 25 | +SRC_DIR = $(dir $(CPP_SRC) $(C_SRC)) |
| 26 | + |
| 27 | +# Library files |
| 28 | +LIBRARY = |
| 29 | + |
| 30 | +# Destination directories and files |
| 31 | +OBJ_DIR = $(BUILD) |
| 32 | +FINAL_DIR = $(BUILD) |
| 33 | +MAP_FILE = $(FINAL_DIR)\$(MODULE_NAME).map |
| 34 | +OBJECTS = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.obj) $(C_SRC_NODIR:.c=.obj)) |
| 35 | +DEPDS = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.d) $(C_SRC_NODIR:.c=.d)) |
| 36 | + |
| 37 | +# Binary file |
| 38 | +ifndef BINARY |
| 39 | + BINARY=$(FINAL_DIR)\$(MODULE_NAME).nlm |
| 40 | +endif |
| 41 | + |
| 42 | +# Compile flags |
| 43 | +C_FLAGS += -c -maxerrors 25 -msgstyle gcc |
| 44 | +C_FLAGS += -wchar_t on -bool on |
| 45 | +C_FLAGS += -processor Pentium |
| 46 | +C_FLAGS += -nostdinc -nosyspath |
| 47 | +C_FLAGS += -DNETWARE -DZTS |
| 48 | +C_FLAGS += -DNEW_LIBC |
| 49 | +##C_FLAGS += -DCOMPILE_DL_LDAP -DCOMPILE_DL=1 |
| 50 | +C_FLAGS += -DCOMPILE_DL=1 |
| 51 | +C_FLAGS += -I. -I$(PROJECT_ROOT)/main -I$(PROJECT_ROOT)/ext/standard -I$(PROJECT_ROOT) -I$(PROJECT_ROOT)/netware |
| 52 | +C_FLAGS += -I$(PROJECT_ROOT)/zend -I$(PROJECT_ROOT)/tsrm |
| 53 | +C_FLAGS += -I- -I$(SDK_DIR)/include -I$(MWCIncludes) |
| 54 | +##C_FLAGS += -I$(LDAP_DIR)/inc |
| 55 | +C_FLAGS += -I$(WINSOCK_DIR)/include/nlm -I$(WINSOCK_DIR)/include |
| 56 | + |
| 57 | +ifndef STACK_SIZE |
| 58 | +STACK_SIZE=8192 |
| 59 | +endif |
| 60 | + |
| 61 | +# Extra stuff based on debug / release builds |
| 62 | +ifeq '$(BUILD)' 'debug' |
| 63 | + SYM_FILE = $(FINAL_DIR)\$(MODULE_NAME).sym |
| 64 | + C_FLAGS += -inline smart -sym on -sym codeview4 -opt off -opt intrinsics -sym internal -DDEBUGGING -DDKFBPON |
| 65 | + C_FLAGS += -exc cw -DZEND_DEBUG=1 |
| 66 | + LD_FLAGS += -sym on -sym codeview4 -osym $(SYM_FILE) |
| 67 | + export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtld.lib |
| 68 | +else |
| 69 | + C_FLAGS += -opt speed -inline on -inline smart -inline auto -sym off |
| 70 | + C_FLAGS += -opt intrinsics |
| 71 | + C_FLAGS += -opt level=4 -DZEND_DEBUG=0 |
| 72 | + LD_FLAGS += -sym off |
| 73 | + export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtl.lib |
| 74 | +endif |
| 75 | + |
| 76 | +# Dependencies |
| 77 | +MODULE = LibC \ |
| 78 | + phplib |
| 79 | +IMPORT = @$(SDK_DIR)/imports/libc.imp \ |
| 80 | + @$(SDK_DIR)/imports/ws2nlm.imp \ |
| 81 | + @$(MPK_DIR)/import/mpkOrg.imp \ |
| 82 | + @$(PROJECT_ROOT)/netware/phplib.imp |
| 83 | +#EXPORT = get_module |
| 84 | +#EXPORT = ldap_functions \ |
| 85 | +# ldap_module_entry \ |
| 86 | +# ($(MODULE_NAME).nlm) get_module |
| 87 | +EXPORT = ($(MODULE_NAME)) get_module |
| 88 | +API = OutputToScreen |
| 89 | + |
| 90 | + |
| 91 | +# Virtual paths |
| 92 | +vpath %.cpp . |
| 93 | +vpath %.c . ..\..\netware |
| 94 | +vpath %.obj $(OBJ_DIR) |
| 95 | + |
| 96 | + |
| 97 | +all: prebuild project |
| 98 | + |
| 99 | +.PHONY: all |
| 100 | + |
| 101 | +prebuild: |
| 102 | + @if not exist $(OBJ_DIR) md $(OBJ_DIR) |
| 103 | + |
| 104 | +project: $(BINARY) |
| 105 | + @echo Build complete. |
| 106 | + |
| 107 | +$(OBJ_DIR)/%.d: %.cpp |
| 108 | + @echo Building Dependencies for $(<F) |
| 109 | + @$(CC) -M $< $(C_FLAGS) -o $@ |
| 110 | + |
| 111 | +$(OBJ_DIR)/%.d: %.c |
| 112 | + @echo Building Dependencies for $(<F) |
| 113 | + @$(CC) -M $< $(C_FLAGS) -o $@ |
| 114 | + |
| 115 | +$(OBJ_DIR)/%.obj: %.cpp |
| 116 | + @echo Compiling $?... |
| 117 | + @$(CC) $< $(C_FLAGS) -o $@ |
| 118 | + |
| 119 | +$(OBJ_DIR)/%.obj: %.c |
| 120 | + @echo Compiling $?... |
| 121 | + @$(CC) $< $(C_FLAGS) -o $@ |
| 122 | + |
| 123 | + |
| 124 | +#$(BINARY): $(DEPDS) $(OBJECTS) |
| 125 | +$(BINARY): $(OBJECTS) |
| 126 | + @echo Import $(IMPORT) > $(basename $@).def |
| 127 | +ifdef API |
| 128 | + @echo Import $(API) >> $(basename $@).def |
| 129 | +endif |
| 130 | + @echo Module $(MODULE) >> $(basename $@).def |
| 131 | +ifdef EXPORT |
| 132 | + @echo Export $(EXPORT) >> $(basename $@).def |
| 133 | +endif |
| 134 | + @echo AutoUnload >> $(basename $@).def |
| 135 | +ifeq '$(BUILD)' 'debug' |
| 136 | + @echo Debug >> $(basename $@).def |
| 137 | +endif |
| 138 | + @echo Flag_On 0x00000008 >> $(basename $@).def |
| 139 | + @echo Start _NonAppStart >> $(basename $@).def |
| 140 | + @echo Exit _NonAppStop >> $(basename $@).def |
| 141 | + |
| 142 | + $(MPKTOOL) $(XDCFLAGS) $(basename $@).xdc |
| 143 | + @echo xdcdata $(basename $@).xdc >> $(basename $@).def |
| 144 | + |
| 145 | + @echo Linking $@... |
| 146 | + @echo $(LD_FLAGS) -commandfile $(basename $@).def > $(basename $@).link |
| 147 | + @echo $(LIBRARY) $(OBJECTS) >> $(basename $@).link |
| 148 | + |
| 149 | + @$(LINK) @$(basename $@).link |
| 150 | + |
| 151 | + |
| 152 | +.PHONY: clean |
| 153 | +#clean: cleand cleanobj cleanbin |
| 154 | +clean: cleanobj cleanbin |
| 155 | + |
| 156 | +.PHONY: cleand |
| 157 | +cleand: |
| 158 | + @echo Deleting all dependency files... |
| 159 | + -@del "$(OBJ_DIR)\*.d" |
| 160 | + |
| 161 | +.PHONY: cleanobj |
| 162 | +cleanobj: |
| 163 | + @echo Deleting all object files... |
| 164 | + -@del "$(OBJ_DIR)\*.obj" |
| 165 | + |
| 166 | +.PHONY: cleanbin |
| 167 | +cleanbin: |
| 168 | + @echo Deleting binary files... |
| 169 | + -@del "$(FINAL_DIR)\$(MODULE_NAME).nlm" |
| 170 | + @echo Deleting MAP, DEF files, etc.... |
| 171 | + -@del "$(FINAL_DIR)\$(MODULE_NAME).map" |
| 172 | + -@del "$(FINAL_DIR)\$(MODULE_NAME).def" |
| 173 | + -@del "$(FINAL_DIR)\$(MODULE_NAME).link" |
| 174 | +ifeq '$(BUILD)' 'debug' |
| 175 | + -@del $(FINAL_DIR)\$(MODULE_NAME).sym |
| 176 | +endif |
0 commit comments