Annotation of embedaddon/php/sapi/apache/apMakefile.tmpl, revision 1.1.1.1

1.1       misho       1: ##
                      2: ##  Apache 1.3 Makefile template for PHP 5.0 Module
                      3: ##  [src/modules/php5/Makefile.tmpl]
                      4: ##
                      5: 
                      6: #   the parametrized target
                      7: LIB=libphp5.$(LIBEXT)
                      8: 
                      9: #   objects for building the static library
                     10: OBJS=mod_php5.o
                     11: OBJS_LIB=libmodphp5.a
                     12: 
                     13: #   objects for building the shared object library
                     14: SHLIB_OBJS=mod_php5.so-o
                     15: SHLIB_OBJS_LIB=libmodphp5.a
                     16: 
                     17: #   the general targets
                     18: all: lib
                     19: lib: $(LIB)
                     20: 
                     21: #   build the static library by merging the object files
                     22: libphp5.a: $(OBJS) $(OBJS_LIB)
                     23:        cp $(OBJS_LIB) $@
                     24:        ar r $@ $(OBJS)
                     25:        $(RANLIB) $@
                     26: 
                     27: #   ugly hack to support older Apache-1.3 betas that don't set $LIBEXT
                     28: libphp5.: $(OBJS) $(OBJS_LIB)
                     29:        cp $(OBJS_LIB) $@
                     30:        ar r $@ $(OBJS)
                     31:        $(RANLIB) $@
                     32:        cp libphp5. libphp5.a
                     33: 
                     34: #   build the shared object library by linking the object files
                     35: libphp5.so: $(SHLIB_OBJS) $(SHLIB_OBJS_LIB)
                     36:        rm -f $@
                     37:        $(LD_SHLIB) $(LDFLAGS_SHLIB) -o $@ $(SHLIB_OBJS) $(SHLIB_OBJS_LIB) $(LIBS) $(PHP_LIBS) 
                     38: 
                     39: # 1. extension .o for shared objects cannot be used here because
                     40: #    first these files aren't still shared objects and second we
                     41: #    have to use a different name to trigger the different
                     42: #    implicit Make rule
                     43: # 2. extension -so.o (as used elsewhere) cannot be used because
                     44: #    the suffix feature of Make really wants just .x, so we use
                     45: #    extension .so-o
                     46: .SUFFIXES: .o .so-o
                     47: .c.o:
                     48:        $(CC) -c $(INCLUDES) $(CFLAGS) $(PHP_CFLAGS) $(CPPFLAGS) $(SPACER) $<
                     49: .c.so-o:
                     50:        $(CC) -c $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $(PHP_CFLAGS) $(CPPFLAGS) $(SPACER) $< && mv $*.o $*.so-o
                     51: 
                     52: #   cleanup
                     53: clean:
                     54:        -rm -f $(OBJS) $(SHLIB_OBJS) $(LIB)
                     55: 
                     56: # We really don't expect end users to use this rule.  It works only with
                     57: # gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
                     58: # using it.
                     59: depend:
                     60:        cp Makefile.tmpl Makefile.tmpl.bak \
                     61:            && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \
                     62:            && gcc -MM $(INCLUDES) $(CFLAGS) $(PHP_CFLAGS) $(CPPFLAGS) *.c >> Makefile.new \
                     63:            && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' Makefile.new \
                     64:                > Makefile.tmpl \
                     65:            && rm Makefile.new
                     66: 
                     67: #Dependencies
                     68: 
                     69: $(OBJS): Makefile
                     70: 
                     71: # DO NOT REMOVE
                     72: mod_php5.o: mod_php5.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
                     73:  $(INCDIR)/buff.h \
                     74:  $(INCDIR)/http_config.h \
                     75:  $(INCDIR)/http_core.h $(INCDIR)/http_main.h \
                     76:  $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h \
                     77:  $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_php5.h

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>