# -*-Mode: Makefile;-*- # # To rebuild PERL2ARB from $ARBHOME call # make perl_clean perl THIS=Makefile.main MAKETHIS=$(MAKE) -f $(THIS) #MAKETHIS=$(MAKE) -d -f $(THIS) LIB=$(ARBHOME)/lib ARBDB=$(ARBHOME)/ARBDB ARB_PROTO_2_XSUB=$(ARBHOME)/bin/arb_proto_2_xsub HEADERS = \ $(ARBDB)/ad_prot.h \ $(ARBDB)/ad_t_prot.h \ ifdef DARWIN SO:=bundle else SO:=so endif ARB_SO=blib/arch/auto/ARB/ARB.$(SO) TARGET_PM=$(LIB)/ARB.pm TARGET_SO=$(LIB)/ARB.$(SO) TARGETS=$(TARGET_PM) $(TARGET_SO) XS_DEPENDS = Makefile ARB.xs debug.h Makefile.PL # ------------------------------------------------------------ # variables for Makefile MYEXTLIB := PASTHRU_INC := PASTHRU_DEFINE := export MYEXTLIB PASTHRU_INC PASTHRU_DEFINE dflags # ------------------------------------------------------------ all: perlmain.c $(TARGETS) perlmain.c: perlmain_source.c cp $< $@ $(TARGET_PM) : ARB.pm cp $< $@ $(TARGET_SO) : $(ARB_SO) cp $< $@ $(ARB_SO) : $(XS_DEPENDS) depends.stamp -rm $(ARB_SO) @echo "-------- calling MakeMaker-Makefile" ( $(MAKE) "dflags=${dflags}" $@ || \ (echo "------ failed.. retry once"; \ $(MAKE) "dflags=${dflags}" $@)) @echo "-------- post-recreating .depends" $(MAKETHIS) "DEPENDS=0" .depends $(MAKETHIS) $@ # recurse ARB.c : $(XS_DEPENDS) @echo "-------- calling MakeMaker-Makefile (to get depends)" ( $(MAKE) "dflags=${dflags}" $@ || \ (echo "------ failed.. retry once"; \ $(MAKE) "dflags=${dflags}" $@ )) @echo "-------- end of MakeMaker-Makefile" Makefile : $(MACH).PL typemap ( PATH=/usr/arb/bin:${PATH}; \ export PATH; \ echo calling perl ${MACH}.PL; \ perl ${MACH}.PL ) Makefile.PL : $(MACH).PL cp -p $< $@ ARB.xs : $(ARB_PROTO_2_XSUB) proto.h ARB.xs.default -@test -f $@ && chmod a+w $@ LD_LIBRARY_PATH=$(LIB):$(LD_LIBRARY_PATH) $(ARB_PROTO_2_XSUB) proto.h ARB.xs.default > $@ @test -f $@ && chmod a-w $@ proto.h : $(HEADERS) $(THIS) depends.stamp cat $(HEADERS) > $@ debug.h : $(THIS) echo "#undef DEBUG" > $@ echo "#undef NDEBUG" >> $@ ifeq ($(DEBUG),1) echo "#define DEBUG" >> $@ else echo "#define NDEBUG" >> $@ endif clean: -test -f Makefile && $(MAKE) clean rm -f Makefile.old proto.h debug.h ARB.c ARB.xs .depends depends.stamp Makefile.PL $(TARGETS) .depends: depends.stamp Makefile.main test -f ARB.c || $(MAKETHIS) "AUTODEPENDS=0" ARB.c $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) ARB.c 2>/dev/null | \ perl -ne 's/ARB.o:/depends.stamp:/g; print $$_;' | \ ../SOURCE_TOOLS/fix_depends.pl > $@ depends.stamp: touch $@ ifeq ($(AUTODEPENDS),1) include .depends endif