############################################# # 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 \ wsock32.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) PACKAGE=(package name) VERSION=(version number) [clean] << error: echo ERROR: $(errormessage) echo ERROR: Try "$(MAKE) /F Makefile.Win32 help" for help.