|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[1998-12-19 11:50 UTC] rasmus
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Dec 12 20:00:01 2025 UTC |
Dear Support, I followed the instruction to compile Apache with PHP3 support. PHP3 compiled and installed with no problems, but when coming to compile the httpd binary I get the following error. Below that is the list of files that the PHP3 install placed in the /apache_1.3.3/src/modules/php3 directory, and below that, the contents of the Makefile.tmpl autocreated file. If you need anymore information regards this please don't hesitate to get in touch. Thanks in advance for you time, Geoff ===> modules/php3 make[1]: *** No rule to make target `all'. Stop. make: *** [all] Error 1 [root@dispatch modules]# [root@dispatch php3]# ls Makefile.libdir libmodphp3-so.a libphp3.module mod_php3.h Makefile.tmpl libphp3.a mod_php3.c php_version.h ## ## Apache 1.3 Makefile template for PHP3 Module ## [src/modules/php3/Makefile.tmpl] ## # the parametrized target LIB=libphp3.$(LIBEXT) # objects for building the static library OBJS=mod_php3.o OBJS_LIB=libmodphp3.a # objects for building the shared object library SHLIB_OBJS=mod_php3.so-o SHLIB_OBJS_LIB=libmodphp3-so.a # the general targets all: liblibphp3.a: $(OBJS) $(OBJS_LIB) cp $(OBJS_LIB) $@ ar r $@ $(OBJS) $(RANLIB) $@ # ugly hack to support older Apache-1.3 betas that don't set $LIBEXT libphp3.: $(OBJS) $(OBJS_LIB) cp $(OBJS_LIB) $@ ar r $@ $(OBJS) $(RANLIB) $@ cp libphp3. libphp3.a # build the shared object library by linking the object files libphp3.so: $(SHLIB_OBJS) $(SHLIB_OBJS_LIB) rm -f $@ $(LD_SHLIB) $(LDFLAGS_SHLIB) -o $@ $(SHLIB_OBJS) $(SHLIB_OBJS_LIB) $(LIB S) # 1. extension .o for shared objects cannot be used here because # first these files aren't still shared objects and second we # have to use a different name to trigger the different # implicit Make rule # 2. extension -so.o (as used elsewhere) cannot be used because # 2. extension -so.o (as used elsewhere) cannot be used because # the suffix feature of Make really wants just .x, so we use # extension .so-o .SUFFIXES: .o .so-o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $< .c.so-o: $(CC) -c $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $(SPACER) $< && mv $*.o $ *.so-o # cleanup clean: -rm -f $(OBJS) $(SHLIB_OBJS) $(LIB) # 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. depend: cp Makefile.tmpl Makefile.tmpl.bak \ && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' Makefile.new \ > Makefile.tmpl \ # 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. depend: cp Makefile.tmpl Makefile.tmpl.bak \ && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \ && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' Makefile.new \ > Makefile.tmpl \ && rm Makefile.new #Dependencies $(OBJS): Makefile # DO NOT REMOVE mod_php3.o: mod_php3.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h \ $(INCDIR)/http_config.h \ $(INCDIR)/http_core.h $(INCDIR)/http_main.h \ $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h \ $(INCDIR)/http_log.h $(INCDIR)/util_script.h mod_php3.h lib: $(LIB) # build the static library by merging the object files libphp3.a: $(OBJS) $(OBJS_LIB)