httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Sutton <...@hyperreal.org>
Subject cvs commit: apachen/src/support Makefile.tmpl
Date Sat, 26 Jul 1997 21:08:10 GMT
pcs         97/07/26 14:08:09

  Modified:    src       Configure Makefile.tmpl
  Log:
  Source re-organisation. Configure can get module info from source
  file or separet file for binary modules.
  
  Revision  Changes    Path
  1.123     +290 -108  apachen/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/Configure,v
  retrieving revision 1.122
  retrieving revision 1.123
  diff -u -r1.122 -r1.123
  --- Configure	1997/07/25 02:10:46	1.122
  +++ Configure	1997/07/26 21:06:47	1.123
  @@ -21,6 +21,8 @@
   ##
   file=Configuration
   tmpfile=htconf.$$
  +tmpfile2=$tmpfile.2
  +tmpfile3=$tmpfile.3
   makefile_tmpl=Makefile.tmpl
   
   ####################################################################
  @@ -76,6 +78,7 @@
   # we bail out
   #
   if egrep -v '^%?Module[ 	]+[A-Za-z0-9_]+[ 	]+[^ 	]+$' $tmpfile \
  + | egrep -v '^%?AddModule[ 	]+[^ 	]+$' \
    | grep -v = > /dev/null
   then
     echo "Syntax error --- The configuration file is used only to"
  @@ -93,39 +96,6 @@
   if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi
   
   ####################################################################
  -# Start building the modules.c file from what was included
  -# in Configuration
  -####
  -sed -e 's/_module//' $tmpfile | awk >modules.c '\
  -   BEGIN { modules[n++] = "core" ; pmodules[pn++] = "core"} \
  -   /^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \
  -   /^%Module/ { pmodules[pn++] = $2 } \
  -   END { print "/* modules.c --- automatically generated by Apache"; \
  -	 print " * configuration script.  DO NOT HAND EDIT!!!!!"; \
  -	 print " */"; \
  -	 print ""; \
  -	 print "#include \"httpd.h\""; \
  -	 print "#include \"http_config.h\""; \
  -	 print ""; \
  -	 for (i = 0; i < pn; ++i) { \
  -	     printf ("extern module %s_module;\n", pmodules[i]); \
  -	 } \
  -	 print ""; \
  -	 print "module *prelinked_modules[] = {"; \
  -	 for (i = 0; i < n; ++i) { \
  -	     printf "  &%s_module,\n", modules[i]; \
  -	 } \
  -	 print "  NULL"; \
  -	 print "};"; \
  -	 print "module *preloaded_modules[] = {"; \
  -	 for (i = 0; i < pn; ++i) { \
  -	     printf "  &%s_module,\n", pmodules[i]; \
  -	 } \
  -	 print "  NULL"; \
  -	 print "};"; \
  -   }'
  -
  -####################################################################
   # Start creating the Makefile. We add some comments and
   # then fold in the modules that were included in Configuration
   #
  @@ -136,17 +106,6 @@
   echo "# is re-run" >> Makefile
   echo "#" >> Makefile
   
  -awk >>Makefile <$tmpfile '\
  -   /^Module/ { modules[n++] = $3 } \
  -   /^%Module/ { modules[n++] = $3 } \
  -   END { print "MODULES=\\"; \
  -	 for (i = 0; i < n; ++i) { \
  -	     if (i < n-1) printf ("  %s \\\n", modules[i]); \
  -	     else printf ("  %s\n", modules[i]); \
  -	 } \
  -	 print "" \
  -       }'
  -
   ####################################################################
   # Now we create a stub file, called Makefile.config, which
   # just includes those assignments (eg: CC=gcc) in Configuration
  @@ -196,6 +155,9 @@
   
   PLAT=`./helpers/GuessOS`
   
  +SHELL="/bin/sh"
  +OSDIR="os/unix"
  +
   case "$PLAT" in
       *MPE/iX*)
           OS='MPE/iX'
  @@ -536,6 +498,7 @@
   ####################################################################
   # Show user what OS we came up with
   #
  +SRCDIR=`pwd`
   echo " + configured for $OS platform"
   
   ####################################################################
  @@ -662,45 +625,6 @@
       fi
   fi
   
  -#
  -# Now HS's POSIX regex implementation if needed/wanted
  -#
  -if [ "$RULE_WANTHSREGEX" = "yes" ]; then
  -    REGLIB="regex/libregex.a"
  -    INCLUDES="$INCLUDES -Iregex"
  -fi
  -
  -#
  -# Now SOCKS4.
  -#  NOTE: We assume that if they are using SOCKS4, then they've
  -#   adjusted EXTRA_LIBS and/or EXTRA_LDFLAGS as required,
  -#   otherwise we assume "-L/usr/local/lib -lsocks"
  -#
  -if [ "$RULE_SOCKS4" = "yes" ]; then
  -    # Set flag and check Makefile for -lsocks line
  -    CFLAGS="$CFLAGS -Dconnect=Rconnect -Dselect=Rselect"
  -    CFLAGS="$CFLAGS -Dgethostbyname=Rgethostbyname"
  -    if grep "EXTRA_" Makefile | grep "\-lsocks" > /dev/null; then : ;
  -    else
  -	LIBS="$LIBS -L/usr/local/lib -lsocks"
  -    fi
  -    if [ "$OS" = "Solaris 2" ]; then
  -	LIBS="$LIBS -lresolv"
  -    fi
  -fi
  -
  -####################################################################
  -# Continue building Makefile.config. We can add all flags with
  -# the exception of LIBS at this point
  -#
  -echo "CFLAGS1=$CFLAGS">> Makefile.config
  -echo "INCLUDES1=$INCLUDES">> Makefile.config
  -echo "LDFLAGS1=$LDFLAGS">> Makefile.config
  -echo "BROKEN_BPRINTF_FLAGS=$OSBPRINTF">> Makefile.config
  -echo "REGLIB=$REGLIB">> Makefile.config
  -echo "RANLIB=$RANLIB">> Makefile.config
  -echo "SHELL=$SHELL">> Makefile.config
  -
   ####################################################################
   # Use TestCompile to see if $(CC) is ANSI
   #
  @@ -720,7 +644,7 @@
   #
   
   case "$PLAT" in
  -    *-linux*)
  +  *-linux*)
   	# newer systems using glibc 2.x need -lcrypt
   	if ./helpers/TestCompile lib crypt; then
   	    LIBS="$LIBS -lcrypt"
  @@ -736,6 +660,8 @@
   	    DBM_LIB="-ldbm"
   	elif ./helpers/TestCompile lib ndbm; then
   	    DBM_LIB="-lndbm"
  +	elif ./helpers/TestCompile lib gdbm; then
  +	    DBM_LIB="-lgdbm"
   	fi
   	;;
   esac
  @@ -743,19 +669,231 @@
   #
   # Are they using dbm/db auth? If so, add DBM/DB library.
   #
  -if grep mod_auth_dbm Makefile > /dev/null; then
  -    LIBS="$LIBS $DBM_LIB"
  -    if [ "X$DBM_LIB" != "X" ]; then
  -	echo " + using $DBM_LIB for mod_auth_dbm"
  -    fi
  +#if grep mod_auth_dbm Makefile > /dev/null; then
  +#    LIBS="$LIBS $DBM_LIB"
  +#    if [ "X$DBM_LIB" != "X" ]; then
  +#	echo " + using $DBM_LIB for mod_auth_dbm"
  +#    fi
  +#fi
  +#if grep mod_auth_db Makefile > /dev/null; then
  +#    LIBS="$LIBS $DB_LIB"
  +#    if [ "X$DB_LIB" != "X" ]; then
  +#	echo " + using $DB_LIB for mod_auth_db"
  +#    fi
  +#fi
  +
  +#
  +# Now HS's POSIX regex implementation if needed/wanted
  +#
  +if [ "$RULE_WANTHSREGEX" = "yes" ]; then
  +    REGLIB="regex/libregex.a"
  +    INCLUDES="$INCLUDES -I${SRCDIR}/regex"
   fi
  -if grep mod_auth_db Makefile > /dev/null; then
  -    LIBS="$LIBS $DB_LIB"
  -    if [ "X$DB_LIB" != "X" ]; then
  -	echo " + using $DB_LIB for mod_auth_db"
  +
  +#
  +# Now SOCKS4.
  +#  NOTE: We assume that if they are using SOCKS4, then they've
  +#   adjusted EXTRA_LIBS and/or EXTRA_LDFLAGS as required,
  +#   otherwise we assume "-L/usr/local/lib -lsocks"
  +#
  +if [ "$RULE_SOCKS4" = "yes" ]; then
  +    # Set flag and check Makefile for -lsocks line
  +    CFLAGS="$CFLAGS -Dconnect=Rconnect -Dselect=Rselect"
  +    CFLAGS="$CFLAGS -Dgethostbyname=Rgethostbyname"
  +    if grep "EXTRA_" Makefile | grep "\-lsocks" > /dev/null; then : ;
  +    else
  +	LIBS="$LIBS -L/usr/local/lib -lsocks"
  +    fi
  +    if [ "$OS" = "Solaris 2" ]; then
  +	LIBS="$LIBS -lresolv"
       fi
   fi
   
  +#
  +# Find out what modules we want and try and configure things for them
  +# Module lines can look like this:
  +#
  +#  Module  name_module    some/path/mod_name[.[oa]]
  +#  AddModule              some/path/mod_name[.[oa]]
  +#
  +# In both cases, the some/path can either be an arbitrary path (including
  +# an absolue path), or a path like "modules/DIR", in which case we _might_
  +# auto-generate a Makefile in modules/DIR (see later).
  +#
  +# The first case is the original style, where we give the module's
  +# name as well as it's binary file location - either a .o or .a.
  +#
  +# The second format is new, and means we do not repeat the module
  +# name, which is already part of the module source or definition.
  +# The way we find the module name (and other optional information about
  +# the module) is like this:
  +#
  +#  1 If extension is not given or is .c, assume .o was given and goto 3
  +#  2 If extension if .module, go to D1
  +#  3 If extension is .o, look for a corresponding .c file and if
  +#      found, go to C1
  +#  4 If no .c file was found, look for a .module file (Apache module
  +#      definition file). If found, go to D1
  +#  5 Assume module name is the "name" part of "mod_name", as in
  +#      name_module.
  +#
  +# If a C file is found:
  +#
  +# C1 Look for module name given by an MODULE: line (e.g. MODULE: name_module)
  +#      If found assume module contains a definition, and go to D1
  +# C2 If not found, look for a module name given on the declaration of the
  +#      module structure (e.g. module name_module).
  +# C3 If neither given, go to 4 above.
  +#
  +# If a definition file is found, or a .c file includes a module definition:
  +#
  +# D1 Get the module name from the MODULE: name= line
  +# D2 Get other module options (libraries etc). To be done later.
  +#
  +
  +# For now, we will convert the AddModule lines into Module format
  +# lines, so the rest of Configure can do its stuff without too much
  +# additional hackery. It would be nice to reduce the number of times
  +# we have to awk the $tmpfile, though.
  +
  +# MODFILES contains a list of module filenames (could be .c, .o, .a
  +#    or .module files) from AddModule lines only
  +# MODDIRS contains a list of subdirectories under 'modules' which
  +#    contain modules we want to build from both AddModule and Module
  +#    lines
  +
  +MODFILES=`awk <$tmpfile '$1 == "AddModule" { printf "%s ", $2 }'`
  +MODDIRS=`awk < $tmpfile '\
  +	($1 == "Module" && $3 ~ /^modules\//) { \
  +	    split ($3, pp, "/"); \
  +	if (! SEEN[pp[2]]) { printf "%s ", pp[2]; SEEN[pp[2]] = 1; } \
  +    	} \
  +	($1 == "AddModule" && $2 ~ /^modules\//) { \
  +	    split ($2, pp, "/"); \
  +	if (! SEEN[pp[2]]) { printf "%s ", pp[2]; SEEN[pp[2]] = 1; } \
  +    	} \
  +'`
  +
  +#
  +# Now autoconfigure each of the modules specified by AddModule.
  +# Use tmpfile2 for the module definition file, and tmpfile3 for the
  +# shell commands to be executed for this module.
  +#
  +
  +for modfile in $MODFILES ; do
  +#	echo Trying to find $modfile
  +	rm -f $tmpfile2 $tmpfile3
  +	modname=
  +
  +	ext=`echo $modfile | sed 's/^.*\.//'`
  +	modbase=`echo $modfile | sed 's/\.[^.]*$//'`
  +	if [ x$ext = x$modfile ]; then ext=o; modbase=$modfile; modfile=$modbase.o; fi
  +	if [ x$ext = x ] ; then ext=o; modbase=$modfile; fi
  +
  +	# modbase is the path+filename without extension, ext is the
  +	# extension given, or if none, o
  +#	echo bas=$modbase ext=$ext
  +
  +	if [ -r $modbase.module ] ; then
  +		cat $modbase.module > $tmpfile2
  +	elif [ -e $modbase.c ] ; then
  +		# Guess module structure name in case there is not
  +		# module definition in this file
  +		modname=`grep '^module .*;' $modbase.c | head -1 |\
  +			sed 's/^module.*[ 	][ 	]*//' | \
  +			sed 's/[ 	]*;[ 	]*$//'`
  +		# Get any module definition part
  +		if fgrep "MODULE-DEFINITION-" $modbase.c > /dev/null; then
  +		cat $modbase.c | \
  +		sed '1,/MODULE-DEFINITION-START/d;/MODULE-DEFINITION-END/,$d' \
  +			> $tmpfile2
  +		fi
  +	fi		
  +	if [ -r $tmpfile2 ] ; then
  +		# Read a module definition from .module or .c
  +		modname=`fgrep "Name:" $tmpfile2 | sed 's/^.*Name:[ 	]*//'`
  +		cat $tmpfile2 | sed '1,/ConfigStart/d;/ConfigEnd/,$d' > \
  +			$tmpfile3
  +		. $tmpfile3
  +		rm -f $tmpfile2 $tmpfile3
  +		ext=o
  +	fi
  +	if [ -z "$modname" ] ; then
  +		modname=`echo $modbase | sed 's/^.*\///' | \
  +			sed 's/^mod_//' | sed 's/^lib//' | sed 's/$/_module/'`
  +	fi
  +	echo "Adding Module $modname $modbase.$ext"
  +	echo "Module $modname $modbase.$ext" >>$tmpfile
  +done
  +
  +# $tmpfile now contains Module lines for all the modules we want
  +
  +# create modules.c
  +
  +sed -e 's/_module//' $tmpfile | awk >modules.c '\
  +   BEGIN { modules[n++] = "core" ; pmodules[pn++] = "core"} \
  +   /^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \
  +   /^%Module/ { pmodules[pn++] = $2 } \
  +   END { print "/* modules.c --- automatically generated by Apache"; \
  +	 print " * configuration script.  DO NOT HAND EDIT!!!!!"; \
  +	 print " */"; \
  +	 print ""; \
  +	 print "#include \"httpd.h\""; \
  +	 print "#include \"http_config.h\""; \
  +	 print ""; \
  +	 for (i = 0; i < pn; ++i) { \
  +	     printf ("extern module %s_module;\n", pmodules[i]); \
  +	 } \
  +	 print ""; \
  +	 print "module *prelinked_modules[] = {"; \
  +	 for (i = 0; i < n; ++i) { \
  +	     printf "  &%s_module,\n", modules[i]; \
  +	 } \
  +	 print "  NULL"; \
  +	 print "};"; \
  +	 print "module *preloaded_modules[] = {"; \
  +	 for (i = 0; i < pn; ++i) { \
  +	     printf "  &%s_module,\n", pmodules[i]; \
  +	 } \
  +	 print "  NULL"; \
  +	 print "};"; \
  +   }'
  +
  +# Add the module targets to the Makefile
  +
  +awk >>Makefile <$tmpfile '\
  +   /^Module/ { modules[n++] = $3 } \
  +   /^%Module/ { modules[n++] = $3 } \
  +   END { print "MODULES=\\"; \
  +	 for (i = 0; i < n; ++i) { \
  +	     if (i < n-1) printf ("  %s \\\n", modules[i]); \
  +	     else printf ("  %s\n", modules[i]); \
  +	 } \
  +	 print "" \
  +       }'
  +
  +####################################################################
  +# Continue building Makefile.config. We can add all flags with
  +# the exception of LIBS at this point
  +#
  +echo  >> Makefile
  +if [ "x$CC" != "x" ]; then
  +    echo "CC=$CC" >> Makefile.config
  +fi
  +if [ "x$OPTIM" != "x" ]; then
  +    echo "OPTIM=$OPTIM" >> Makefile.config
  +fi
  +echo "CFLAGS1=$CFLAGS">> Makefile.config
  +echo "INCLUDES1=$INCLUDES -I${SRCDIR}/core">> Makefile.config
  +echo "LIBS1=$LIBS">> Makefile.config
  +echo "LDFLAGS1=$LDFLAGS">> Makefile.config
  +echo "BROKEN_BPRINTF_FLAGS=$OSBPRINTF">> Makefile.config
  +echo "REGLIB=$REGLIB">> Makefile.config
  +echo "RANLIB=$RANLIB">> Makefile.config
  +echo "SHELL=$SHELL">> Makefile.config
  +echo "OSOBJ=${SRCDIR}/$OSDIR/os.o">> Makefile.config
  +echo "OSDIR=${SRCDIR}/$OSDIR">> Makefile.config
  +
   ####################################################################
   # NOW we finish Makefile.config
   #
  @@ -763,6 +901,8 @@
   echo >> Makefile.config
   echo "#### End of Configure created section ####">> Makefile.config
   
  +cp $OSDIR/os.h core/os.h
  +
   ####################################################################
   # Now (finish) creating the makefiles
   #
  @@ -772,11 +912,16 @@
   sed -e "s#@@Configuration@@#$file#" "$makefile_tmpl" >>Makefile
   awk >>Makefile <$tmpfile \
      '($1 == "Module" && $3 ~ /modules\//) { printf "%s: modules/last-built ; @cat
/dev/null\n\n", $3, $3}'
  -cat Makefile.config ../support/Makefile.tmpl > ../support/Makefile
   
   #
  -# ./modules/Makefile
  +# directories to create makefiles in
   #
  +MAKEDIRS="support core $OSDIR"
  +for dir in $MAKEDIRS ; do
  +	echo Creating Makefile in $dir
  +	cat Makefile.config $dir/Makefile.tmpl > $dir/Makefile
  +done
  +
   cat << EOF > modules/Makefile
   # 
   # Simple Makefile for modules in src/modules.
  @@ -794,17 +939,14 @@
   echo "INCLUDES2=$INCLUDES2">> modules/Makefile
   echo "MOD_CFLAGS=\$(INCLUDES2) \$(AUX_CFLAGS)">> modules/Makefile
   
  -awk >> modules/Makefile < $tmpfile '\
  -   BEGIN {printf "MODULES="} \
  -   ($1 == "Module" && $3 ~ /modules\//) {split ($3, pp, "/"); printf "%s ", pp[2]}
\
  -   END {printf "\n"}'
  -
  -awk >> modules/Makefile < $tmpfile '\
  -   BEGIN {printf "CLEANERS="} \
  -   ($1 == "Module" && $3 ~ /modules\//) {split ($3, pp, "/"); printf "%s_clean
", pp[2]} \
  -   END {printf "\n"}'
  +CLEANERS=""
  +for i in $MODDIRS ; do
  +	CLEANERS="$CLEANERS${i}_clean "
  +done
   
   cat << EOF >> modules/Makefile
  +MODULES=$MODDIRS
  +CLEANERS=$CLEANERS
   
   default: \$(MODULES)
   	@echo "Done building module subdirectories"
  @@ -812,14 +954,54 @@
   clean: \$(CLEANERS)
   	@echo "Done cleaning module subdirectories"
   
  -placeholder \$(MODULES): ForceMe
  +\$(MODULES): ForceMe
   	(cd \$@; \$(MAKE) CC='\$(CC)' AUX_CFLAGS='\$(MOD_CFLAGS)' RANLIB='\$(RANLIB)')
   
   ForceMe:
   
   EOF
   
  -awk >>modules/Makefile <$tmpfile \
  -   '($1 == "Module" && $3 ~ /modules\//) { split ($3, pp, "/"); \
  -   printf "%s_clean:\n\t(cd %s; $(MAKE) clean)\n\n", pp[2], pp[2]}'
  +(
  +for i in $MODDIRS ; do
  +	echo "${i}_clean:"
  +	echo "	(cd ${i}; \$(MAKE) clean)"
  +	echo ""
  +done
  +) >> modules/Makefile
  +
  +for moddir in $MODDIRS ; do
  +	if [ ! -e modules/$moddir/Makefile.tmpl ] ; then
  +		continue
  +	fi
  +	echo "Creating Makefile in modules/$moddir"
  +
  +	cat Makefile.config > modules/$moddir/Makefile
  +	awk >> modules/$moddir/Makefile < $tmpfile '\
  +	    BEGIN { printf "OBJS=" }\
  +	    ($1 == "Module" && $3 ~ /^modules\/'$moddir'\//) { \
  +		split ($3, pp, "/"); \
  +		printf "%s ", pp[3]; \
  +	    	} \
  +	   END {printf "\n"}'
  +
  +	cat << 'EOF' >> modules/$moddir/Makefile
  +CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  +LIBS=$(EXTRA_LIBS) $(LIBS1)
  +INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  +LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
  +INCDIR=../../core
  +
  +all:	$(OBJS)
  +
  +.c.o:
  +	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
  +
  +clean:
  +	rm -f $(OBJS)
  +
  +EOF
  +cat >> modules/$moddir/Makefile < modules/$moddir/Makefile.tmpl
  +
  +done
  +
   
  
  
  
  1.53      +28 -112   apachen/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- Makefile.tmpl	1997/07/17 04:37:46	1.52
  +++ Makefile.tmpl	1997/07/26 21:06:48	1.53
  @@ -8,15 +8,21 @@
   INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
   
  -OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \
  -  http_log.o http_protocol.o rfc1413.o util.o util_script.o modules.o buff.o\
  -  md5c.o util_md5.o explain.o http_bprintf.o util_date.o util_snprintf.o\
  +OBJS= \
  +  core/alloc.o core/http_main.o core/http_core.o \
  +  core/http_config.o core/http_request.o core/http_log.o \
  +  core/http_protocol.o core/rfc1413.o core/util.o \
  +  core/util_script.o core/buff.o core/md5c.o \
  +  core/util_md5.o core/explain.o core/http_bprintf.o \
  +  core/util_date.o core/util_snprintf.o \
  +  modules.o \
  +  $(OSOBJ) \
     $(MODULES)
   
   .c.o:
   	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
   
  -all: @@Configuration@@ httpd
  +all: @@Configuration@@ os-dir core-dir modules/last-built httpd 
   
   @@Configuration@@: Configuration.tmpl
   	@echo "@@Configuration@@ older than Configuration.tmpl, or doesn't exist."
  @@ -25,7 +31,7 @@
   	@echo "If not, you will at least have to touch @@Configuration@@."
   	@false
   
  -httpd: $(REGLIB) $(OBJS)
  +httpd: $(REGLIB) modules.o
   	$(CC) $(LDFLAGS)  -o httpd $(OBJS) $(REGLIB) $(LIBS)
   
   regex/libregex.a:
  @@ -35,10 +41,23 @@
   	(cd modules; \
   	$(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)')
   
  +support: support-dir
  +
  +support-dir:
  +	cd support; $(MAKE)
  +
  +core-dir:
  +	cd core; $(MAKE)
  +
  +os-dir:	
  +	cd $(OSDIR); $(MAKE)
  +
   clean:
  -	rm -f httpd *.o core
  +	rm -f httpd *.o $(OBJS) 
  +	cd core; $(MAKE) clean
   	cd regex; $(MAKE) clean
   	cd modules; $(MAKE) clean
  +	cd support; $(MAKE) clean
   
   dist.tar: 
   	# Assure a semi-sensible configuration going out...
  @@ -47,10 +66,6 @@
   	tar cvf dist.tar README INSTALL CHANGES TODO API.html \
   		Configuration Configure Makefile.tmpl Makefile *.h *.c
   
  -# Work around broken compilers
  -http_bprintf.o: http_bprintf.c
  -	$(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c
  -
   # We really don't expect end users to use this rule.  It works only with
   # gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
   # using it.
  @@ -60,110 +75,11 @@
   	    && mv Makefile.tmpl Makefile.tmpl.bak \
   	    && mv Makefile.new Makefile.tmpl
   
  +
   #Dependencies
   
   $(OBJS): Makefile
   
   # DO NOT REMOVE
  -alloc.o: alloc.c httpd.h conf.h alloc.h buff.h multithread.h
  -buff.o: buff.c httpd.h conf.h alloc.h buff.h http_main.h
  -dummy.o: dummy.c
  -explain.o: explain.c explain.h
  -http_bprintf.o: http_bprintf.c httpd.h conf.h alloc.h buff.h
  -http_config.o: http_config.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_log.h http_request.h \
  - http_conf_globals.h explain.h
  -http_core.o: http_core.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_protocol.h http_conf_globals.h http_main.h \
  - http_log.h rfc1413.h util_md5.h md5.h scoreboard.h
  -http_log.o: http_log.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_log.h
  -http_main.o: http_main.c httpd.h conf.h alloc.h buff.h http_main.h \
  - http_log.h http_config.h http_protocol.h http_request.h \
  - http_conf_globals.h http_core.h scoreboard.h multithread.h explain.h
  -http_protocol.o: http_protocol.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_protocol.h http_main.h http_log.h \
  - util_date.h
  -http_request.o: http_request.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_protocol.h http_log.h \
  - http_main.h scoreboard.h
  -md5c.o: md5c.c md5.h
  -mod_access.o: mod_access.c httpd.h conf.h alloc.h buff.h http_core.h \
  - http_config.h http_log.h http_request.h
  -mod_actions.o: mod_actions.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_protocol.h http_main.h \
  - http_log.h util_script.h
  -mod_alias.o: mod_alias.c httpd.h conf.h alloc.h buff.h http_config.h
  -mod_asis.o: mod_asis.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_protocol.h http_log.h util_script.h http_main.h http_request.h
  -mod_auth.o: mod_auth.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_log.h http_protocol.h
  -mod_auth_anon.o: mod_auth_anon.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_log.h http_protocol.h
  -mod_auth_db.o: mod_auth_db.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_log.h http_protocol.h
  -mod_auth_dbm.o: mod_auth_dbm.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_log.h http_protocol.h
  -mod_auth_msql.o: mod_auth_msql.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_log.h http_protocol.h
  -mod_autoindex.o: mod_autoindex.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h http_request.h http_protocol.h http_log.h \
  - http_main.h util_script.h
  -mod_browser.o: mod_browser.c httpd.h conf.h alloc.h buff.h \
  - http_config.h
  -mod_cern_meta.o: mod_cern_meta.c httpd.h conf.h alloc.h buff.h \
  - http_config.h util_script.h http_log.h http_request.h
  -mod_cgi.o: mod_cgi.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_request.h http_core.h http_protocol.h http_main.h http_log.h \
  - util_script.h http_conf_globals.h
  -mod_digest.o: mod_digest.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_log.h http_protocol.h util_md5.h md5.h
  -mod_dir.o: mod_dir.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_request.h http_protocol.h http_log.h http_main.h \
  - util_script.h
  -mod_dld.o: mod_dld.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_conf_globals.h
  -mod_env.o: mod_env.c httpd.h conf.h alloc.h buff.h http_config.h
  -mod_expires.o: mod_expires.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_log.h
  -mod_headers.o: mod_headers.c httpd.h conf.h alloc.h buff.h \
  - http_config.h
  -mod_imap.o: mod_imap.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_request.h http_core.h http_protocol.h http_main.h http_log.h \
  - util_script.h
  -mod_include.o: mod_include.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_protocol.h http_log.h \
  - http_main.h util_script.h
  -mod_info.o: mod_info.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_log.h http_main.h http_protocol.h util_script.h \
  - http_conf_globals.h
  -mod_log_agent.o: mod_log_agent.c httpd.h conf.h alloc.h buff.h \
  - http_config.h
  -mod_log_config.o: mod_log_config.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h
  -mod_log_referer.o: mod_log_referer.c httpd.h conf.h alloc.h buff.h \
  - http_config.h
  -mod_mime.o: mod_mime.c httpd.h conf.h alloc.h buff.h http_config.h
  -mod_mime_magic.o: mod_mime_magic.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_log.h http_protocol.h
  -mod_negotiation.o: mod_negotiation.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_log.h util_script.h
  -mod_rewrite.o: mod_rewrite.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_request.h http_core.h http_log.h mod_rewrite.h
  -mod_status.o: mod_status.c httpd.h conf.h alloc.h buff.h http_config.h \
  - http_core.h http_protocol.h http_main.h util_script.h scoreboard.h \
  - http_log.h
  -mod_userdir.o: mod_userdir.c httpd.h conf.h alloc.h buff.h \
  - http_config.h
  -mod_usertrack.o: mod_usertrack.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_core.h
  -modules.o: modules.c httpd.h conf.h alloc.h buff.h http_config.h
  -rfc1413.o: rfc1413.c httpd.h conf.h alloc.h buff.h http_log.h \
  - rfc1413.h http_main.h
  -util.o: util.c httpd.h conf.h alloc.h buff.h http_conf_globals.h
  -util_date.o: util_date.c util_date.h
  -util_md5.o: util_md5.c httpd.h conf.h alloc.h buff.h util_md5.h md5.h
  -util_script.o: util_script.c httpd.h conf.h alloc.h buff.h \
  - http_config.h http_conf_globals.h http_main.h http_log.h \
  - http_protocol.h http_core.h http_request.h util_script.h
  -util_snprintf.o: util_snprintf.c conf.h
  +modules.o: modules.c core/httpd.h core/conf.h core/alloc.h core/buff.h \
  + core/http_config.h
  
  
  

  Added:       src/core  Makefile.tmpl
  Log:
  Dependencies in new core directory
  
  Revision  Changes    Path
  1.1                  apachen/src/core/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  # Apache makefile suffix for core files
  
  # This is combined with the information in the "Configuration" file
  # by the configure script to make the actual Makefile.
  
  CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  LIBS=$(EXTRA_LIBS) $(LIBS1)
  INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
  
  OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \
    http_log.o http_protocol.o rfc1413.o util.o util_script.o buff.o\
    md5c.o util_md5.o explain.o http_bprintf.o util_date.o util_snprintf.o
  
  .c.o:
  	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
  
  all: $(OBJS)
  
  clean:
  	rm -f $(OBJS) 
  
  # Work around broken compilers
  http_bprintf.o: http_bprintf.c
  	$(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c
  
  #Dependencies
  
  $(OBJS): 
  
  # DO NOT REMOVE
  alloc.o: alloc.c httpd.h conf.h alloc.h buff.h multithread.h
  buff.o: buff.c httpd.h conf.h alloc.h buff.h http_main.h
  dummy.o: dummy.c
  explain.o: explain.c explain.h
  http_bprintf.o: http_bprintf.c httpd.h conf.h alloc.h buff.h
  http_config.o: http_config.c httpd.h conf.h alloc.h buff.h \
   http_config.h http_core.h http_log.h http_request.h \
   http_conf_globals.h explain.h
  http_core.o: http_core.c httpd.h conf.h alloc.h buff.h http_config.h \
   http_core.h http_protocol.h http_conf_globals.h http_main.h \
   http_log.h rfc1413.h util_md5.h md5.h scoreboard.h
  http_log.o: http_log.c httpd.h conf.h alloc.h buff.h http_config.h \
   http_core.h http_log.h
  http_main.o: http_main.c httpd.h conf.h alloc.h buff.h http_main.h \
   http_log.h http_config.h http_protocol.h http_request.h \
   http_conf_globals.h http_core.h scoreboard.h multithread.h explain.h
  http_protocol.o: http_protocol.c httpd.h conf.h alloc.h buff.h \
   http_config.h http_core.h http_protocol.h http_main.h http_log.h \
   util_date.h
  http_request.o: http_request.c httpd.h conf.h alloc.h buff.h \
   http_config.h http_request.h http_core.h http_protocol.h http_log.h \
   http_main.h scoreboard.h
  md5c.o: md5c.c md5.h
  rfc1413.o: rfc1413.c httpd.h conf.h alloc.h buff.h http_log.h \
   rfc1413.h http_main.h
  util.o: util.c httpd.h conf.h alloc.h buff.h http_conf_globals.h
  util_date.o: util_date.c util_date.h
  util_md5.o: util_md5.c httpd.h conf.h alloc.h buff.h util_md5.h md5.h
  util_script.o: util_script.c httpd.h conf.h alloc.h buff.h \
   http_config.h http_conf_globals.h http_main.h http_log.h \
   http_protocol.h http_core.h http_request.h util_script.h
  util_snprintf.o: util_snprintf.c conf.h
  
  
  

  Modified:    src/modules/example  Makefile
               src/modules/proxy  Makefile proxy_ftp.c
  Log:
  Header files now in core dir
  
  Revision  Changes    Path
  1.3       +1 -1      apachen/src/modules/example/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/example/Makefile,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile	1997/07/23 18:08:45	1.2
  +++ Makefile	1997/07/26 21:07:21	1.3
  @@ -56,7 +56,7 @@
   # directory.  If the depth or relationship changes, the following line
   # may need to be changed.
   #
  -INCDIR=../..
  +INCDIR=../../core
   
   #
   # Everything below this point should be invariant.
  
  
  
  1.12      +1 -1      apachen/src/modules/proxy/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/proxy/Makefile,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Makefile	1997/03/18 10:23:56	1.11
  +++ Makefile	1997/07/26 21:07:29	1.12
  @@ -53,7 +53,7 @@
   
   SHELL = /bin/sh
   
  -INCDIR = ../..
  +INCDIR = ../../core
   
   LIB=libproxy.a
   
  
  
  
  1.27      +1 -1      apachen/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- proxy_ftp.c	1997/07/21 03:37:53	1.26
  +++ proxy_ftp.c	1997/07/26 21:07:29	1.27
  @@ -54,7 +54,7 @@
   
   #include "mod_proxy.h"
   #include "http_main.h"
  -#include "mod_mime.h"
  +#include "../../modules/standard/mod_mime.h"
   
   /*
    * Decodes a '%' escaped string, and returns the number of characters
  
  
  

  Added:       src/os/unix  Makefile.tmpl os.c os.h
  Log:
  Dummy os files for Unix (at the moment)
  
  Revision  Changes    Path
  1.1                  apachen/src/os/unix/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  LIBS=$(EXTRA_LIBS) $(LIBS1)
  INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS)
  INCDIR=../../core
  
  OBJS=	os.o
  
  all:	$(OBJS)
  
  .c.o:
  	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
  
  clean:
  	rm -f $(OBJS)
  
  # DO NOT REMOVE
  os.o:	os.c
  
  
  
  1.1                  apachen/src/os/unix/os.c
  
  Index: os.c
  ===================================================================
  
  
  
  1.1                  apachen/src/os/unix/os.h
  
  Index: os.h
  ===================================================================
  
  
  

  Modified:    src/support  Makefile.tmpl
  Log:
  Updated make for new location of support dir
  
  Revision  Changes    Path
  1.5       +2 -2      apachen/src/support/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/support/Makefile.tmpl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Makefile.tmpl	1997/07/20 23:44:49	1.4
  +++ Makefile.tmpl	1997/07/26 21:08:08	1.5
  @@ -16,10 +16,10 @@
   all: $(TARGETS)
   
   htpasswd: htpasswd.c
  -	$(CC) $(CFLAGS) htpasswd.c -o htpasswd $(LIBS)
  +	$(CC) $(INCLUDES) $(CFLAGS) htpasswd.c -o htpasswd $(LIBS)
   
   htdigest: htdigest.c
  -	$(CC) $(CFLAGS) htdigest.c -o htdigest $(LIBS)
  +	$(CC) $(INCLUDES) $(CFLAGS) htdigest.c -o htdigest
   
   httpd_monitor: httpd_monitor.c
   	$(CC) $(INCLUDES) $(CFLAGS) httpd_monitor.c -o httpd_monitor
  
  
  

Mime
View raw message