############################################# # Apache mod_jserv Makefile for Win32 systems # $Revision$ ############################################# ##################### # Don't echo commands ##################### .SILENT: ################################ # Compiler and linker definition ################################ CC = $(CC) /nologo LINK = link /nologo ################################# # Check for APACHE_SRC definition ################################# !IFNDEF APACHE_SRC errormessage = Variable "APACHE_SRC" not defined. all: error !ENDIF ############################## # Check for PACKAGE definition ############################## # !IFNDEF PACKAGE # errormessage = Variable "PACKAGE" not defined. # all: error # !ENDIF ############################## # Check for VERSION definition ############################## # !IFNDEF VERSION # errormessage = Variable "VERSION" not defined. # all: error # !ENDIF ########################## # Compile time definitions ########################## JSERV_DEFINE = /D "WIN32" /D "NDEBUG" /D "_WINDOWS" # Additional definition for STANDALONE !IFDEF STANDALONE JSERV_DEFINE = $(JSERV_DEFINE) /D "JSERV_STANDALONE" !ENDIF # Additional definition for EAPI !IFDEF EAPI JSERV_DEFINE = $(JSERV_DEFINE) /D "EAPI" !ENDIF ################################# # Include search path definitions ################################# JSERV_C_INCL = "/I$(APACHE_SRC)\include" "/I$(APACHE_SRC)\os\win32" /I. #################### # C Compiler options #################### JSERV_C_OPTS = /nologo /MD /W3 /GX /O2 /YX /FD /c /Fp"ApacheModuleJServ.pch" \ /Fo".\\" /Fd".\\" ################ # Linker options ################ JSERV_L_OPTS = /nologo "$(APACHE_SRC)\CoreR\ApacheCore.lib" kernel32.lib user32.lib \ gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \ ws2_32.lib /subsystem:console /incremental:no /machine:I386 \ /pdb:".\ApacheModuleJServ.pdb" /NODEFAULTLIB:LIBC ################################## # The target object files to build ################################## JSERV_OBJS=mod_jserv.obj \ jserv_protocols.obj \ jserv_mmap.obj \ jserv_watchdog.obj \ jserv_balance.obj \ jserv_utils.obj \ jserv_image.obj \ jserv_status.obj \ jserv_ajpv11.obj \ jserv_ajpv12.obj \ jserv_wrapper.obj \ jserv_wrapper_win.obj ############################################################ # Check if we need to build a module DLL or a StandAlone EXE ############################################################ !IFDEF STANDALONE build: jserv.h ApacheJServ.exe echo Done. !ELSE build: jserv.h "$(APACHE_SRC)\CoreR\ApacheCore.lib" ApacheModuleJServ.dll echo Done. !ENDIF ############# # Build rules ############# # jserv.h: autochange.exe # @autochange PACKAGE=$(PACKAGE) VERSION=$(VERSION) < jserv.h.in > jserv.h #autochange.exe: autochange.c # $(CC) autochange.c .c.obj: $(CC) $(JSERV_C_OPTS) $(JSERV_C_INCL) $(JSERV_DEFINE) $< ApacheModuleJServ.dll: $(JSERV_OBJS) $(LINK) $(JSERV_L_OPTS) $(JSERV_OBJS) /dll /out:"ApacheModuleJServ.dll" ApacheJServ.exe: $(JSERV_OBJS) $(LINK) $(JSERV_L_OPTS) $(JSERV_OBJS) /out:"ApacheModuleJServ.exe" ren ApacheModuleJServ.exe ApacheJServ.exe ########## # Cleaning ########## clean: erase *.obj erase *.idb # erase jserv.h # erase autochange.exe erase ApacheModuleJServ.exp erase ApacheModuleJServ.lib erase ApacheModuleJServ.pch distclean: clean erase ApacheJServ.exe erase ApacheModuleJServ.dll ################################# # Help and error messages display ################################# help: type << USAGE: nmake -f Makefile.Win32 APACHE_SRC=(apache source dir) [clean] << # PACKAGE=(package name) VERSION=(version number) [clean] error: echo ERROR: $(errormessage) echo ERROR: Try "$(MAKE) /F Makefile.Win32 help" for help.