# $MirOS: src/gnu/usr.bin/perl/Makefile.bsd-wrapper,v 1.35 2014/03/13 03:03:18 tg Exp $ # $OpenBSD: Makefile.bsd-wrapper,v 1.75 2007/11/26 11:12:29 espie Exp $ # # Build wrapper for Perl 5.8.8 # .include TARGET_MACHINE_ARCH?= $(MACHINE_ARCH) # To build a threaded perl, uncomment this. Not stable on all platforms... #THREADED_PERL= Yes THREADED_PERL?= No # Perl builds with -fno-strict-aliasing, we want libperl to do the same COPTS+= -fno-strict-aliasing COPTS+= -fno-delete-null-pointer-checks # Arguments passed to Configure... .if ${THREADED_PERL:L} == "yes" CONFIGURE_ARGS+=-Dusethreads CFLAGS+= -pthread .endif XFLAGS= ${CFLAGS} -Werror-maybe-reset CONFIGURE_ARGS+=-dsE -D${OSname}_distribution=defined \ -Doptimize=${XFLAGS:N-g*:M*:Q} .if ${NOPIC:L} != "no" FLAGS_TO_PASS= USEDL=n .else FLAGS_TO_PASS= USEDL=y .endif FLAGS_TO_PASS+= CC=${CC:Q} CPP=${CPP:Q} CFLAGS=${XFLAGS:M*:Q} SHELL=${SHELL:Q} FLAGS_TO_PASS+= PATH=/bin:/usr/bin:/sbin:/usr/sbin # Our lndir is hacked; specify a full path to avoid potential conflicts # with the one installed with X11. LNDIR= /usr/bin/lndir H2PH= /usr/bin/h2ph LIB= perl DPADD+= ${LIBM} ${LIBUTIL} LDADD+= -lm -lutil SRCS= perl.c gv.c toke.c perly.c op.c pad.c regcomp.c dump.c util.c mg.c \ reentr.c hv.c av.c run.c pp_hot.c sv.c pp.c scope.c pp_ctl.c pp_sys.c \ doop.c doio.c regexec.c utf8.c taint.c deb.c universal.c xsutils.c \ globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c CPPFLAGS+= -DPERL_CORE -DPERL_RANDOM_DEVICE=\"/dev/arandom\" -I. # MirPorts Framework support CPPFLAGS+= -DAPPLLIB_EXP=\"/usr/mpkg/libdata/perl5:/usr/mpkg/libdata/perl5/site_perl\" .if defined(INSTALL_STRIP) && ${INSTALL_STRIP} == "-s" STRIPFLAGS= -s .endif GEN_AFTER= config.h cflags makeaperl makedepend makedir \ myconfig writemain Makefile Policy.sh pod/Makefile \ x2p/Makefile x2p/cflags GENERATED= config.sh ${GEN_AFTER} ${GEN_AFTER}: config.sh CLEANFILES= config.sh Policy.sh ${MANALL} ${PSALL} ${MANSRCALL} stamp-mansrc.build .if !exists(${.OBJDIR}/config.over) ${.OBJDIR}/config.over: ${.CURDIR}/config.over ${LNDIR} -s -e obj -e obj.${MACHINE_ARCH} -e Makefile.bsd-wrapper -e Makefile.bsd-wrapper1 ${.CURDIR} .endif all: perl.build man.build man.build: perl.build cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper1 $@ beforedepend: config.sh config.h Makefile makedepend x2p/Makefile writemain cd ${.OBJDIR} && exec ${MAKE} depend perl.build: perl.lib cd ${.OBJDIR} && ${FLAGS_TO_PASS} exec ${MAKE} config.sh: ${.OBJDIR}/config.over cd ${.OBJDIR} && GCC_NO_WERROR=1 ${FLAGS_TO_PASS} \ exec ${SHELL} Configure ${CONFIGURE_ARGS} Makefile cflags makeaperl makedepend makedir myconfig writemain: cd ${.OBJDIR} && ${FLAGS_TO_PASS} exec ${SHELL} $@.SH Policy.sh: cd ${.OBJDIR} && ${FLAGS_TO_PASS} exec ${SHELL} Policy_sh.SH config.h: cd ${.OBJDIR} && ${FLAGS_TO_PASS} exec ${SHELL} config_h.SH pod/Makefile: cd ${.OBJDIR}/pod && ${FLAGS_TO_PASS} exec ${SHELL} Makefile.SH x2p/Makefile: cd ${.OBJDIR}/x2p && ${FLAGS_TO_PASS} exec ${SHELL} Makefile.SH x2p/cflags: cd ${.OBJDIR}/x2p && ${FLAGS_TO_PASS} exec ${SHELL} cflags.SH # Never try to regenerate perly.c or perly.h perly.c perly.h: perly.y -@true install: install.lib install.perl maninstall -chmod -R a+rX ${DESTDIR}/usr/libdata/perl5 install.perl: cd ${.OBJDIR}; INSTALL=${INSTALL} INSTALL_COPY=${INSTALL_COPY} \ STRIPFLAGS=${STRIPFLAGS} INSTALLFLAGS=-o NOLIBINSTALL=1 \ LD_LIBRARY_PATH=${.OBJDIR} exec ./perl installperl \ --destdir=${DESTDIR} -o STRIPFLAGS=${STRIPFLAGS} printf '%s\n%s\n%s\nwq\n' '/^optimize=/g/-Werror-maybe-reset/s///' \ '/^optimize=/g/-Werror/s///' "/^optimize=/g/ *'/s//'/" | \ ed -s ${DESTDIR}$$(perl -e 'use Config; print \ $$Config{installarchlib};')/Config_heavy.pl .if exists(/usr/lib/libposixtz.so) TEST_ENV+= LD_PRELOAD=/usr/lib/libposixtz.so .endif test: -@cd "$$(realpath .)"; \ if [ -e Makefile ]; then ${TEST_ENV} ${MAKE} test; fi clean: -@if [ -e Makefile ]; then ${MAKE} realclean; fi cleandir: -@if [ ${.CURDIR} != ${.OBJDIR} ]; then \ rm -rf *; \ else \ test -e Makefile && ${MAKE} distclean; \ rm -f ${CLEANFILES}; \ fi @cd ${.CURDIR} && ${MAKE} -f Makefile.bsd-wrapper1 cleandir maninstall: .if defined(NOMAN) && ${NOMAN:L} != "no" @echo NOMAN is set .else @cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper1 maninstall .endif .include # These have to come after the inclusion of # Need -fPIC, not -fpic on sparc .if ($(TARGET_MACHINE_ARCH) == sparc) PICFLAG= -fPIC .endif perl.lib: ${GENERATED} .WAIT ${_LIBS} install.lib: ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ lib${LIB}.a ${DESTDIR}${LIBDIR}/ .if ${NOPIC:L} == "no" . ifdef SHLIB_SONAME ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \ ${SHLIB_SONAME} ${DESTDIR}${LIBDIR}/${SHLIB_SONAME}~ . if !defined(MKC_DEBG) || ${MKC_DEBG:L} == "no" ${STRIP} ${_SODISCARD} ${DESTDIR}${LIBDIR}/${SHLIB_SONAME}~ . endif cd ${DESTDIR}${LIBDIR} && \ chmod ${LIBMODE} ${SHLIB_SONAME}~ && \ mv -f ${SHLIB_SONAME}~ ${SHLIB_SONAME} . endif ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ lib${LIB}_pic.a ${DESTDIR}${LIBDIR}/ .endif .PHONY: perl.lib install.lib perl.build install.perl man.build mansrc.build