costin 02/04/02 11:03:12 Modified: jk/native2/server/apache2 Makefile Log: Fixed the makefile. Now you can use gnumake to compile mod_jk. We support 2 build methods: ant and gnumake. We may add .dsp if needed ( I prefer to use ant ). One thing I want to avoid is having 'special' makefiles for each platform. Revision Changes Path 1.2 +49 -19 jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile Index: Makefile =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Makefile 31 Dec 2001 19:56:13 -0000 1.1 +++ Makefile 2 Apr 2002 19:03:12 -0000 1.2 @@ -1,37 +1,65 @@ -# Gnu makefile is required +# Gnu makefile and libtool are required # use -D options to overrides defaults - #ifndef APACHE2_HOME APACHE2_HOME=/opt/apache2 #endif +JK_DIR := ../.. +BUILD_DIR = ${JK_DIR}/../build/WEB-INF/jk2/apache2 + + +# Extract EXTRA_CFLAGS and EXTRA_CPPFLAGS - same flags used during apache2 +# compilation include ${APACHE2_HOME}/build/config_vars.mk -# Yes, we use the same properties as ant + +# Yes, we use the same properties file as ant include ../../../build.properties +LIBTOOL=${APACHE2_HOME}/build/libtool + +# It doesn't hurt if we include all +INCLUDES= -I${JK_DIR}/include \ + -I${APACHE2_HOME}/include \ + -I${JAVA_HOME}/include \ + -I${JAVA_HOME}/include\linux \ + -I${JAVA_HOME}/include\hp-ux + +JK_CFLAGS=-DCHUNK_SIZE=4096 -DUSE_APACHE_MD5 -DHAS_APR -DHAVE_JNI + +###### Based on rules.mk ########################################## +ALL_CFLAGS = $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) +ALL_CPPFLAGS = $(DEFS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) +ALL_LDFLAGS = $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS) +ALL_LIBS = $(EXTRA_LIBS) $(NOTEST_LIBS) $(LIBS) +ALL_INCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) + +# Compile commands +COMPILE = $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(ALL_INCLUDES) + +SH_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) -prefer-pic +MOD_LINK = $(LIBTOOL) --mode=link $(CC) -module -shared $(LT_LDFLAGS) $(ALL_LDFLAGS) + +############################################################################# # ---------- File list creation -------------------- # Same behavior as ant - 'all files from a dir'. # Excludes are not yet implemented. -JK_DIR := ../.. -BUILD_DIR = ${JK_DIR}/../build/WEB-INF/jk2/apache2 COMMON_C_FILES := $(wildcard ${JK_DIR}/common/*.c ) +JNI_C_FILES := $(wildcard ${JK_DIR}/jni/*.c ) A2_C_FILES := $(wildcard ${JK_DIR}/server/apache2/*.c ) H_FILES := $(wildcard ${JK_DIR}/include/*.h ) COMMON_LO_FILES := $(patsubst ${JK_DIR}/common/%, ${BUILD_DIR}/%, \ $(patsubst %c, %lo, ${COMMON_C_FILES} )) +JNI_LO_FILES := $(patsubst ${JK_DIR}/jni/%, ${BUILD_DIR}/%, \ + $(patsubst %c, %lo, ${JNI_C_FILES} )) A2_LO_FILES := $(patsubst ${JK_DIR}/server/apache2/%, ${BUILD_DIR}/%, \ $(patsubst %c, %lo, ${A2_C_FILES} )) # ---------- Compile rules -------------------- -JK_CFLAGS=-I${JK_DIR}/include -I${JAVA_HOME}/include \ - ${EXTRA_CPPFLAGS} ${EXTRA_CFLAGS} \ - -I${APACHE2_HOME}/include - .PHONY: all @@ -39,25 +67,27 @@ VPATH=.:../../common .c.lo: - ${LIBTOOL} --mode=compile ${CC} ${CFLAGS} -c $< -o $> + ${SH_COMPILE} -c $< -o $> ${BUILD_DIR}/%.lo: ${JK_DIR}/common/%.c - ${LIBTOOL} --mode=compile ${CC} ${CFLAGS} ${JK_CFLAGS} -c $< -o $@ + ${SH_COMPILE} -c $< -o $@ + +${BUILD_DIR}/%.lo: ${JK_DIR}/jni/%.c + ${SH_COMPILE} -c $< -o $@ ${BUILD_DIR}/%.lo: ${JK_DIR}/server/apache2/%.c - ${LIBTOOL} --mode=compile ${CC} ${CFLAGS} ${JK_CFLAGS} -c $< -o $@ + ${SH_COMPILE} -c $< -o $@ # ---------- Targets -------------------- -all: prepare ${APACHE2_HOME}/modules/mod_jk.so +all: prepare ${BUILD_DIR}/mod_jk2.so ${BUILD_DIR}/jkjni.so -${APACHE2_HOME}/modules/mod_jk.so: ${BUILD_DIR}/libjk.la - ( cd ${BUILD_DIR} ; ${LIBTOOL} --mode=finish libjk.la ) - ( cd ${BUILD_DIR} ; ${LIBTOOL} --mode=install --debug cp libjk.la ${APACHE2_HOME}/modules ) +${BUILD_DIR}/jkjni.so: ${JNI_LO_FILES} + $(MOD_LINK) -o $@ $^ -${BUILD_DIR}/libjk.la: ${COMMON_LO_FILES} ${A2_LO_FILES} - ${LIBTOOL} --mode=link ${CC} $< -o $@ +${BUILD_DIR}/mod_jk2.so: ${COMMON_LO_FILES} ${A2_LO_FILES} + ${MOD_LINK} -o $@ $^ ${COMMON_C_FILES} ${A2_C_FILES}: ${H_FILES} @@ -65,4 +95,4 @@ mkdir -p ${BUILD_DIR} clean: - rm ${BUILD_DIR}/*.lo ${BUILD_DIR}/*.la ${BUILD_DIR}/*.o \ No newline at end of file + rm -rf ${BUILD_DIR}/*.lo ${BUILD_DIR}/*.la ${BUILD_DIR}/*.o ${BUILD_DIR}/.libs ${BUILD_DIR}/*.so \ No newline at end of file
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>