2000-03-23 04:14:24 +03:00
|
|
|
# optional component perl
|
|
|
|
# This should be run using 'gmake'
|
|
|
|
########################################################################
|
|
|
|
|
|
|
|
topsrcdir = .
|
|
|
|
|
|
|
|
ifndef INCLUDED_CONFIG_MK
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
endif
|
|
|
|
|
|
|
|
PERL_OBJDIR = $(OBJDIR)/perl
|
|
|
|
PERL_PKGDIR = $(PKGDIR)/perl
|
|
|
|
|
2000-04-01 03:50:41 +04:00
|
|
|
# HACK, should figure out dynamically from PERL_DIR
|
|
|
|
PERL_REV = 5.00503
|
|
|
|
|
2000-03-23 04:14:24 +03:00
|
|
|
###package:: $(PERL_PKGDIR) package-perl
|
|
|
|
|
|
|
|
$(PERL_PKGDIR):
|
|
|
|
ifeq ($(ARCH), WINNT)
|
|
|
|
mkdir $(PERL_PKGDIR)
|
|
|
|
mkdir $(PERL_PKGDIR)/bin
|
|
|
|
mkdir $(PERL_PKGDIR)/lib
|
|
|
|
mkdir $(PERL_PKGDIR)/lib/$(PERL_REV)
|
|
|
|
mkdir $(PERL_PKGDIR)/lib/$(PERL_REV)/$(PERL_OS)
|
|
|
|
else
|
|
|
|
[ -d $(PERL_PKGDIR)/bin ] || mkdir -p $(PERL_PKGDIR)/bin
|
|
|
|
[ -d $(PERL_PKGDIR)/lib ] || mkdir -p $(PERL_PKGDIR)/lib
|
|
|
|
# subdirs created by perl install
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ("$(PERL_FILES)", "")
|
|
|
|
|
|
|
|
# building our own perl
|
|
|
|
###all:: perl
|
|
|
|
all::
|
|
|
|
|
|
|
|
PERL_TARGET = $(PERL_OBJDIR)/perl
|
|
|
|
PERL_SRCSTAMP = $(PERL_OBJDIR)/perl_src.stamp
|
|
|
|
PERL_TESTSTAMP = $(PERL_OBJDIR)/perl_test.stamp
|
|
|
|
PERL_CONFIG_H = $(PERL_OBJDIR)/config.h
|
|
|
|
PERL_FINAL_PKGDIR = /opt/mstone/perl
|
|
|
|
PERL_ADMIN = mailstone+perl@netscape.com
|
|
|
|
PERL_PAGER = /bin/more
|
|
|
|
|
|
|
|
perl:: $(PERL_OBJDIR) $(PERL_TARGET) $(PERL_TESTSTAMP)
|
|
|
|
|
|
|
|
$(PERL_OBJDIR):
|
|
|
|
ifeq ($(ARCH), WINNT)
|
|
|
|
mkdir $(PERL_OBJDIR)
|
|
|
|
else
|
|
|
|
[ -d $(PERL_OBJDIR) ] || mkdir -p $(PERL_OBJDIR)
|
|
|
|
endif
|
|
|
|
|
|
|
|
$(PERL_TARGET): $(PERL_CONFIG_H)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl...\n"
|
|
|
|
( cd $(PERL_OBJDIR); $(MAKE) MAKE=$(MAKE) )
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl done.\n"
|
|
|
|
|
|
|
|
$(PERL_CONFIG_H): $(PERL_OBJDIR)/config.over
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl config.h...\n"
|
|
|
|
(\
|
|
|
|
cd $(PERL_OBJDIR); \
|
|
|
|
rm -f config.sh makedir makedepend makeaperl config.h cflags \
|
|
|
|
Policy.sh Makefile writemain perl.exp perlmain.c makefile; \
|
|
|
|
$(ECHO) MAKE=$(MAKE) MAKEFLAGS=$(MAKEFLAGS); \
|
|
|
|
MAKEFLAGS= ; export MAKEFLAGS; \
|
|
|
|
sh Configure -Dprefix=$(PERL_FINAL_PKGDIR) \
|
|
|
|
-Uinstallusrbinperl -Uusethreads -Uusedl \
|
|
|
|
-Dcc="$(CC)" -Dmake=$(MAKE) \
|
|
|
|
-Dcf_email=$(PERL_ADMIN) \
|
|
|
|
-Dperladmin=$(PERL_ADMIN) -Dpager=$(PERL_PAGER) $(PERL_OS_CONFIGURE) -de ; \
|
|
|
|
)
|
|
|
|
|
|
|
|
$(PERL_OBJDIR)/config.over: $(PERL_SRCSTAMP)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl config.over...\n"
|
|
|
|
(\
|
|
|
|
perl_pkgdir=`pwd`/$(PERL_PKGDIR); \
|
|
|
|
cd $(PERL_OBJDIR); \
|
|
|
|
$(ECHO) "\
|
|
|
|
installprefix=$${perl_pkgdir}\n\
|
|
|
|
$(ECHO) \"overriding tmp install dir from \$$prefix to \$$installprefix\"\n\
|
|
|
|
test -d \$$installprefix || mkdir \$$installprefix\n\
|
|
|
|
test -d \$$installprefix/bin || mkdir \$$installprefix/bin\n\
|
|
|
|
installarchlib=\`$(ECHO) \$$installarchlib | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installbin=\`$(ECHO) \$$installbin | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installman1dir=\`$(ECHO) \$$installman1dir | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installman3dir=\`$(ECHO) \$$installman3dir | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installprivlib=\`$(ECHO) \$$installprivlib | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installscript=\`$(ECHO) \$$installscript | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installsitelib=\`$(ECHO) \$$installsitelib | sed \"s!\$$prefix!\$$installprefix!\"\`\n\
|
|
|
|
installsitearch=\`$(ECHO) \$$installsitearch | sed \"s!\$$prefix!\$$installprefix!\"\`" \
|
|
|
|
> config.over;\
|
|
|
|
)
|
|
|
|
|
|
|
|
$(PERL_SRCSTAMP): $(PERL_DIR)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl src links from $(PERL_DIR) to $(PERL_OBJDIR)...\n"
|
|
|
|
-rm -f $(PERL_SRCSTAMP)
|
|
|
|
[ -d $(PERL_OBJDIR) ] || mkdir -p $(PERL_OBJDIR)
|
|
|
|
-(\
|
|
|
|
perl_dir=`pwd`/$(PERL_DIR); \
|
|
|
|
cd $(PERL_OBJDIR); \
|
|
|
|
for i in `(cd $${perl_dir} && find . -type d -print)` ; do \
|
|
|
|
$(ECHO) "linking dir $$i ..."; \
|
|
|
|
[ -d $$i ] || mkdir $$i; \
|
|
|
|
for j in `(cd $${perl_dir}/$$i; echo *)` ; do \
|
|
|
|
[ -f $${perl_dir}/$$i/$$j -o -h $${perl_dir}/$$i/$$j ] && ( \
|
|
|
|
/bin/true || $(ECHO) " $$i/$$j"; \
|
|
|
|
ln -s $${perl_dir}/$$i/$$j $$i/$$j); \
|
|
|
|
done; \
|
|
|
|
done; \
|
|
|
|
)
|
|
|
|
touch $(PERL_SRCSTAMP)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl src links done...\n"
|
|
|
|
|
|
|
|
$(PERL_TESTSTAMP): $(PERL_TARGET)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl test-notty...\n"
|
|
|
|
-rm -f $(PERL_TESTSTAMP)
|
|
|
|
-( cd $(PERL_OBJDIR); $(MAKE) MAKE=$(MAKE) test-notty )
|
|
|
|
touch $(PERL_TESTSTAMP)
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl test-notty done.\n"
|
|
|
|
|
|
|
|
package-perl:: $(PERL_PKGDIR)/Artistic
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl package done.\n"
|
|
|
|
|
|
|
|
$(PERL_PKGDIR)/Artistic:
|
|
|
|
@$(ECHO) "\n===== [`date`] making perl package ...\n"
|
|
|
|
( cd $(PERL_OBJDIR); $(MAKE) MAKE=$(MAKE) install )
|
|
|
|
-rm -rf $(PERL_PKGDIR)/lib/$(PERL_REV)/*/CORE/
|
|
|
|
cp $(PERL_OBJDIR)/Artistic $(PERL_PKGDIR)
|
|
|
|
|
|
|
|
else # PERL_FILES
|
|
|
|
|
|
|
|
# importing a perl
|
|
|
|
package-perl:: $(PERL_PKGDIR) $(PERL_TARGET)
|
|
|
|
|
|
|
|
$(PERL_TARGET): $(PERL_FILES) $(PERL_BIN_FILES) $(PERL_LIB_FILES)
|
|
|
|
cp $(PERL_FILES) $(PERL_PKGDIR)/
|
|
|
|
cp $(PERL_BIN_FILES) $(PERL_PKGDIR)/bin/
|
|
|
|
cp $(PERL_LIB_FILES) $(PERL_PKGDIR)/lib/$(PERL_REV)/
|
|
|
|
cp $(PERL_LIB_OS_FILES) $(PERL_PKGDIR)/lib/$(PERL_REV)/$(PERL_OS)/
|
|
|
|
|
|
|
|
endif # PERL_FILES
|