## ## Makefile.tmpl -- Makefile template for mod_perl (Apache-side) ## Written by Ralf S. Engelschall ## ## This is a hybrid Makefile template: It can is used both ## inside the Apache source tree as the skeleton for the ## src/modules/perl/Makefile which is created by Apache's ## src/Configure script and out-side of the Apache source tree ## for building via APXS. Here it is the skeketon for the ## Makefile created by the local configure script. ## # Reassemble mod_perl parameters # from Perl and Apache parameters MP_CC=$(PERL_CC) MP_CFLAGS=$(PERL_OPTIMIZE) -I$(PERL_INC) $(PERL_CCFLAGS) \ $(PERL_DEFS) $(INCLUDES) $(AP_CFLAGS) $(CFLAGS) MP_CFLAGS_SHLIB=$(PERL_CCCDLFLAGS) $(MP_CFLAGS) MP_LD=$(PERL_LD) MP_LDFLAGS_SHLIB=$(PERL_LDDLFLAGS) MP_LIBS=$(PERL_LIBS) MP_XSUBPP=$(PERL_XSUBPP) MP_XSINIT=$(PERL_XSINIT) MP_RM=rm -f MP_AR=$(PERL_AR) MP_RANLIB=$(PERL_RANLIB) MP_STATIC_EXTS=$(PERL_STATIC_EXTS) MP_STATIC_AR=$(PERL_STATIC_AR) MP_STATIC_SRCS=$(PERL_STATIC_SRCS) MP_STATIC_OBJS=$(PERL_STATIC_OBJS) MP_STATIC_OBJS_PIC=$(PERL_STATIC_OBJS_PIC) MP_LIBS=$(PERL_LIBS) MP_DISTCLEAN_FILES=Makefile $(ADD_DISTCLEAN_FILES) ## ## ____ DO NOT CHANGE ANYTHING BELOW THIS LINE ______________________ ## # the library to build MP_LIB=libperl.$(LIBEXT) # the objects to use MP_OBJS=\ mod_perl.o perlxsi.o perl_config.o perl_util.o perlio.o mod_perl_opmask.o \ $(MP_STATIC_OBJS) MP_OBJS_PIC=\ mod_perl.lo perlxsi.lo perl_config.lo perl_util.lo perlio.lo mod_perl_opmask.lo \ $(MP_STATIC_OBJS_PIC) all: lib lib: $(MP_LIB) libperl.a: $(MP_OBJS) $(MP_RM) $@ $(MP_AR) crv $@ $(MP_OBJS) $(MP_RANLIB) $@ libperl.$(PERL_DLEXT): $(MP_OBJS_PIC) $(MP_RM) $@ $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS) .SUFFIXES: .xs .c .o .lo .c.lo: $(MP_CC) $(MP_CFLAGS_SHLIB) -c $< && mv $*.o $*.lo .c.o: $(MP_CC) $(MP_CFLAGS) -c $< .xs.c: $(MP_XSUBPP) $*.xs >$@ .xs.o: $(MP_XSUBPP) $*.xs >$*.c $(MP_CC) $(MP_CFLAGS) -c $*.c .xs.lo: $(MP_XSUBPP) $*.xs >$*.c $(MP_CC) $(MP_CFLAGS_SHLIB) -c $*.c && mv $*.o $*.lo perlxsi.c: $(MP_XSINIT) -- -o perlxsi.c -std $(MP_STATIC_EXTS) clean: $(MP_RM) $(MP_LIB) $(MP_RM) $(MP_OBJS) $(MP_RM) $(MP_OBJS_PIC) $(MP_RM) $(MP_STATIC_SRCS) $(MP_RM) perlxsi.c distclean: clean $(MP_RM) $(MP_DISTCLEAN_FILES) # FOR STAND-ALONE BUILDING ONLY install: $(APXS) -i -a -n perl libperl.$(LIBEXT) depend: cp Makefile.tmpl Makefile.tmpl.bak \ && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \ && gcc -MM $(INCLUDES) $(AP_CFLAGS) $(CFLAGS) *.c >> Makefile.new \ && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \ -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \ > Makefile.tmpl \ && rm Makefile.new # Dependencies $(MP_OBJS) $(MP_OBJS_PIC): Makefile # DO NOT REMOVE