1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-24 21:01:20 +00:00
freebsd-ports/lang/modula-3/Makefile
John Polstra 209c7b4381 Helmet on?
Helmet on!

Flameproof vest?
Deployed, Sir!

Heat resistant carbon-fiber cup?
In place!

All defensive systems armed and ready?
Armed and ready, Sir!

Fine, then.  Let's get on with it.  Reduce shared library version numbers!
Uh, Sir, with all due respect ...

DO YOU HEAR ME???  REDUCE SHARED LIBRARY VERSION NUMBERS!!!
Reducing shared library version numbers! ... <*whirr click*> Done!

All right, soldier, let's get the hell out of here...  Soldier? ...  Soldier??
1996-09-12 00:39:56 +00:00

122 lines
4.1 KiB
Makefile

# New ports collection makefile for: modula-3
# Version required: 3.5.3
# Date created: 18 Mar 1996
# Whom: John Polstra <jdp@polstra.com>
#
# $Id: Makefile,v 1.3 1996/09/10 05:23:49 jdp Exp $
#
DISTNAME= modula-3-3.5.3
PKGNAME= modula-3-3.5.3.2
CATEGORIES+= lang
MASTER_SITES= ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5.3/
DISTFILES= boot-FreeBSD2.tar.gz m3cc.tar.gz m3.tar.gz
MAINTAINER= jdp@polstra.com
NO_WRKSUBDIR= yes
EXTRACT_BEFORE_ARGS= --exclude "*.orig" --exclude "*[-~]" -xzf
# Startup script, run an boot time
startup_dir= ${PREFIX}/etc/rc.d
startup_script= ${startup_dir}/m3.sh
# The Modula-3 build process insists on installing each individual
# component immediately after that component is built. To avoid having
# to do the entire build as root, we arrange for everything to first
# be "installed" into the following directory, which we own.
temp_prefix= ${WRKDIR}/installed
# Some parts of the system depend on absolute pathnames into the
# installed tree. Those parts have to be built after we have moved
# the tree to its final resting place.
late_builds= m3configvars llscan
post-extract:
@cd ${WRKSRC}/boot-FreeBSD2; ln -sf ../m3cc .
# Make the effects of the patches available to the bootstrap compiler too.
post-patch:
@cd ${WRKSRC}/boot-FreeBSD2/quake/src; \
ln -sf ../../../m3/quake/src/utils.c .
@cd ${WRKSRC}/boot-FreeBSD2/m3core/FreeBSD2; \
ln -sf ../../../m3/m3core/src/runtime/FreeBSD2/RTHeapDepC.c .
@cd ${WRKSRC}/boot-FreeBSD2/m3build/templates; \
ln -sf ../../../m3/m3build/templates/FreeBSD2 .; \
ln -sf ../../../m3/m3build/templates/PLATFORMS .
do-build:
@test -d ${temp_prefix} || mkdir -p ${temp_prefix}
@echo "Building bootstrap compiler"
@cd ${WRKSRC}/boot-FreeBSD2; umask 022; ./m3boot
@echo "Shipping bootstrap compiler"
@cd ${WRKSRC}/boot-FreeBSD2; umask 022; ./m3ship
@echo "Building and shipping the rest of the system"
@cd ${WRKSRC}/m3; \
LD_LIBRARY_PATH=${temp_prefix}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
export LD_LIBRARY_PATH; \
PATH=${temp_prefix}/bin:$$PATH; \
export PATH; \
umask 022; \
m3build
pre-install:
@echo "Checking for conflicting shared libraries"
@PREFIX=${PREFIX} /bin/sh ${PKGDIR}/INSTALL ${PKGNAME} PRE-INSTALL
do-install:
@echo "Setting owner and group of installed files"
@/usr/sbin/chown -R ${BINOWN}.${BINGRP} ${temp_prefix}/*
@echo "Copying files to ${PREFIX}"
@cp -R -P -p ${temp_prefix}/* ${PREFIX}
@echo "Fixing absolute pathnames in installed files"
@/bin/sh scripts/fix_pathnames ${temp_prefix} ${PREFIX}
@echo "Rebuilding and shipping m3build with correct pathnames"
@cd ${WRKSRC}/m3/m3build; \
LD_LIBRARY_PATH=${PREFIX}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
export LD_LIBRARY_PATH; \
PATH=${PREFIX}/bin:$$PATH; \
export PATH; \
umask 022; \
m3build -T ${PREFIX}/lib/m3/pkg/m3build/templates \
-F ${PREFIX}/lib/m3/pkg/m3build/templates/COMMON.BOOT clean; \
m3build -T ${PREFIX}/lib/m3/pkg/m3build/templates \
-F ${PREFIX}/lib/m3/pkg/m3build/templates/COMMON.BOOT; \
FreeBSD2/m3ship; \
rm -rf FreeBSD2
@for i in ${late_builds}; do \
echo "Building and shipping $${i}"; \
cd ${WRKSRC}/m3/$${i}; \
LD_LIBRARY_PATH=${PREFIX}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
export LD_LIBRARY_PATH; \
PATH=${PREFIX}/bin:$$PATH; \
export PATH; \
umask 022; \
m3build clean; \
m3build; \
m3ship; \
rm -rf FreeBSD2; \
done
@echo "Stripping executables"
@for i in `cat ${FILESDIR}/files.strip`; do \
test ! -f ${PREFIX}/$${i} || strip ${PREFIX}/$${i}; \
done
.if !defined(NOMANCOMPRESS)
@echo "Compressing manual pages"
@for i in `cat ${FILESDIR}/files.compress`; do \
test ! -f ${PREFIX}/$${i} || gzip -9nf ${PREFIX}/$${i}; \
done
.endif
@if [ ! -f ${startup_script} ]; then \
echo "Installing ${startup_script} file."; \
test -d ${startup_dir} || mkdir -p ${startup_dir}; \
echo "#!/bin/sh" > ${startup_script}; \
echo "/sbin/ldconfig -m ${PREFIX}/lib/m3/FreeBSD2" >> \
${startup_script}; \
chmod 755 ${startup_script}; \
fi
@echo "Running ldconfig"
@/sbin/ldconfig -m ${PREFIX}/lib/m3/FreeBSD2
.include <bsd.port.mk>