freebsd-src/mk/sys/IRIX.mk

196 lines
3.5 KiB
Makefile
Raw Normal View History

# $NetBSD: IRIX.sys.mk,v 1.2 2002/12/24 23:03:27 jschauma Exp $
# @(#)sys.mk 8.2 (Berkeley) 3/21/94
.ifndef ROOT_GROUP
Import bmake-20230909 Update import.sh to generate below ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230909 Merge with NetBSD make, pick up o main.c: allow -j to compute a multiple of ncpu If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating point number or ends in 'C' compute .MAKE.JOBS as a multiple of _SC_NPROCESSORS_ONLN .MAKE.JOBS.C will be "yes" if -jC is supported 2023-08-20 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230820 Merge with NetBSD make, pick up o make.1: note that :localtime is better for %s o parse.c: improve error messages for invalid input. o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get correct result, it is still better to use %s:L:localtime. 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230818 Merge with NetBSD make, pick up o meta.c: meta_ignore - check raw path against metaIgnorePaths to potentially skip call to realpath. o var.c: be strict when parsing the argument of the ':mtime' modifier o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}' should be used to get an equivalent value to time(3). 2023-08-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230816 Merge with NetBSD make, pick up o cond.c: clean up multiple-inclusion guards 2023-07-25 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS if configure cannot work out how to control TZ. Remove varmod-localtime from BROKEN_TESTS for IRIX* 2023-07-24 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230723 * configure.in: fix the test for wether TZ=Europe/Berlin works. Depending on the time of year, if run between 22:00 and 00:00 UTC the check in configure would fail incorrectly. Take the day into account as well. 2023-07-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 Merge with NetBSD make, pick up o make.1: clean up wording, clarify scope of '!' in conditions 2023-07-15 Simon J Gerraty <sjg@beast.crufty.net> * make-bootstrap.sh.in: set prefix If configure is run using ksh we get unexpanded ${prefix} in DEFAULT_SYS_PATH, by ensuring prefix is set we should still get correct result. 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 bump version for IRIX tweaks * make.h: undef OP_NONE if defined * unit-tests/Makefile: set BROKEN_TESTS for IRIX * configure.in: override INSTALL on IRIX 2023-06-27 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap op_test: ensure we set TEST_MAKE as we want it. mk/ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * jobs.mk (JOB_MAX): use -jC if we can we actually use JOB_MAX_C which defaults to 1.33C 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * now_utc: %s only works with :localtime 2023-07-14 Simon J Gerraty <sjg@beast.crufty.net> * install-sh: ignore -c as claimed and only insist on a directory for destination when more than one file to copy. * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230711 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible install(1) * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: set INSTALL to install-sh rather than pathname that may not exist (yet). 2023-07-07 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE normally this is empty - for the default target, but there are use-cases where we might set it to something else. 2023-07-04 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230704 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output when DEBUG_DIRDEPS is in effect. Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n can greatly improve readability.
2023-09-17 17:03:11 +00:00
OS != uname -s
ROOT_GROUP != sed -n '/:0:/{s/:.*//p;q;}' /etc/group
.export OS ROOT_GROUP
.endif
unix ?= We run ${OS}.
.SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h
.SUFFIXES: .sh .m4
.LIBS: .a
AR ?= ar
ARFLAGS ?= r
RANLIB ?= ranlib
AS ?= as
AFLAGS ?=
COMPILE.s ?= ${CC} ${AFLAGS} -c
LINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS}
COMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
LINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
CC ?= cc
NOGCCERROR ?= # defined
DBG ?= -O2
CFLAGS ?= ${DBG}
COMPILE.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
LINK.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
CXX ?= CC
CXXFLAGS ?= ${CFLAGS}
COMPILE.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
LINK.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
OBJC ?= ${CC}
OBJCFLAGS ?= ${CFLAGS}
COMPILE.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
LINK.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
CPP ?= CC
CPPFLAGS ?=
FC ?= f77
FFLAGS ?= -O
RFLAGS ?=
COMPILE.f ?= ${FC} ${FFLAGS} -c
LINK.f ?= ${FC} ${FFLAGS} ${LDFLAGS}
COMPILE.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
LINK.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
COMPILE.r ?= ${FC} ${FFLAGS} ${RFLAGS} -c
LINK.r ?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
Import bmake-20230909 Update import.sh to generate below ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230909 Merge with NetBSD make, pick up o main.c: allow -j to compute a multiple of ncpu If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating point number or ends in 'C' compute .MAKE.JOBS as a multiple of _SC_NPROCESSORS_ONLN .MAKE.JOBS.C will be "yes" if -jC is supported 2023-08-20 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230820 Merge with NetBSD make, pick up o make.1: note that :localtime is better for %s o parse.c: improve error messages for invalid input. o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get correct result, it is still better to use %s:L:localtime. 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230818 Merge with NetBSD make, pick up o meta.c: meta_ignore - check raw path against metaIgnorePaths to potentially skip call to realpath. o var.c: be strict when parsing the argument of the ':mtime' modifier o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}' should be used to get an equivalent value to time(3). 2023-08-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230816 Merge with NetBSD make, pick up o cond.c: clean up multiple-inclusion guards 2023-07-25 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS if configure cannot work out how to control TZ. Remove varmod-localtime from BROKEN_TESTS for IRIX* 2023-07-24 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230723 * configure.in: fix the test for wether TZ=Europe/Berlin works. Depending on the time of year, if run between 22:00 and 00:00 UTC the check in configure would fail incorrectly. Take the day into account as well. 2023-07-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 Merge with NetBSD make, pick up o make.1: clean up wording, clarify scope of '!' in conditions 2023-07-15 Simon J Gerraty <sjg@beast.crufty.net> * make-bootstrap.sh.in: set prefix If configure is run using ksh we get unexpanded ${prefix} in DEFAULT_SYS_PATH, by ensuring prefix is set we should still get correct result. 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 bump version for IRIX tweaks * make.h: undef OP_NONE if defined * unit-tests/Makefile: set BROKEN_TESTS for IRIX * configure.in: override INSTALL on IRIX 2023-06-27 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap op_test: ensure we set TEST_MAKE as we want it. mk/ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * jobs.mk (JOB_MAX): use -jC if we can we actually use JOB_MAX_C which defaults to 1.33C 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * now_utc: %s only works with :localtime 2023-07-14 Simon J Gerraty <sjg@beast.crufty.net> * install-sh: ignore -c as claimed and only insist on a directory for destination when more than one file to copy. * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230711 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible install(1) * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: set INSTALL to install-sh rather than pathname that may not exist (yet). 2023-07-07 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE normally this is empty - for the default target, but there are use-cases where we might set it to something else. 2023-07-04 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230704 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output when DEBUG_DIRDEPS is in effect. Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n can greatly improve readability.
2023-09-17 17:03:11 +00:00
INSTALL_SH ?= install-sh
INSTALL = ${INSTALL_SH}
LEX ?= lex
LFLAGS ?=
Import bmake-20230909 Update import.sh to generate below ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230909 Merge with NetBSD make, pick up o main.c: allow -j to compute a multiple of ncpu If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating point number or ends in 'C' compute .MAKE.JOBS as a multiple of _SC_NPROCESSORS_ONLN .MAKE.JOBS.C will be "yes" if -jC is supported 2023-08-20 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230820 Merge with NetBSD make, pick up o make.1: note that :localtime is better for %s o parse.c: improve error messages for invalid input. o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get correct result, it is still better to use %s:L:localtime. 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230818 Merge with NetBSD make, pick up o meta.c: meta_ignore - check raw path against metaIgnorePaths to potentially skip call to realpath. o var.c: be strict when parsing the argument of the ':mtime' modifier o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}' should be used to get an equivalent value to time(3). 2023-08-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230816 Merge with NetBSD make, pick up o cond.c: clean up multiple-inclusion guards 2023-07-25 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS if configure cannot work out how to control TZ. Remove varmod-localtime from BROKEN_TESTS for IRIX* 2023-07-24 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230723 * configure.in: fix the test for wether TZ=Europe/Berlin works. Depending on the time of year, if run between 22:00 and 00:00 UTC the check in configure would fail incorrectly. Take the day into account as well. 2023-07-18 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 Merge with NetBSD make, pick up o make.1: clean up wording, clarify scope of '!' in conditions 2023-07-15 Simon J Gerraty <sjg@beast.crufty.net> * make-bootstrap.sh.in: set prefix If configure is run using ksh we get unexpanded ${prefix} in DEFAULT_SYS_PATH, by ensuring prefix is set we should still get correct result. 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20230711 bump version for IRIX tweaks * make.h: undef OP_NONE if defined * unit-tests/Makefile: set BROKEN_TESTS for IRIX * configure.in: override INSTALL on IRIX 2023-06-27 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap op_test: ensure we set TEST_MAKE as we want it. mk/ChangeLog since bmake-20230622 2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> * jobs.mk (JOB_MAX): use -jC if we can we actually use JOB_MAX_C which defaults to 1.33C 2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> * now_utc: %s only works with :localtime 2023-07-14 Simon J Gerraty <sjg@beast.crufty.net> * install-sh: ignore -c as claimed and only insist on a directory for destination when more than one file to copy. * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230711 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible install(1) * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: set INSTALL to install-sh rather than pathname that may not exist (yet). 2023-07-07 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE normally this is empty - for the default target, but there are use-cases where we might set it to something else. 2023-07-04 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20230704 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output when DEBUG_DIRDEPS is in effect. Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n can greatly improve readability.
2023-09-17 17:03:11 +00:00
LEX.l ?= ${LEX} ${LFLAGS}
LD ?= ld
LDFLAGS ?=
LINT ?= lint
LINTFLAGS ?= -chapbxzF
LORDER ?= lorder
NM ?= nm
PC ?= pc
PFLAGS ?=
COMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
LINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
SIZE ?= size
TSORT ?= tsort -q
YACC ?= yacc
YFLAGS ?=
YACC.y ?= ${YACC} ${YFLAGS}
# C
.c:
${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.c.o:
${COMPILE.c} ${.IMPSRC}
.c.a:
${COMPILE.c} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
.c.ln:
${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
# C++
${CXX_SUFFIXES}:
${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
${CXX_SUFFIXES:%=%.o}:
${COMPILE.cc} ${.IMPSRC}
${CXX_SUFFIXES:%=%.a}:
${COMPILE.cc} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
# Fortran/Ratfor
.f:
${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.f.o:
${COMPILE.f} ${.IMPSRC}
.f.a:
${COMPILE.f} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
.F:
${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.F.o:
${COMPILE.F} ${.IMPSRC}
.F.a:
${COMPILE.F} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
.r:
${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.r.o:
${COMPILE.r} ${.IMPSRC}
.r.a:
${COMPILE.r} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
# Pascal
.p:
${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.p.o:
${COMPILE.p} ${.IMPSRC}
.p.a:
${COMPILE.p} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
# Assembly
.s:
${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.s.o:
${COMPILE.s} ${.IMPSRC}
.s.a:
${COMPILE.s} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
.S:
${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
.S.o:
${COMPILE.S} ${.IMPSRC}
.S.a:
${COMPILE.S} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
# Lex
.l:
${LEX.l} ${.IMPSRC}
${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
rm -f lex.yy.c
.l.c:
${LEX.l} ${.IMPSRC}
mv lex.yy.c ${.TARGET}
.l.o:
${LEX.l} ${.IMPSRC}
${COMPILE.c} -o ${.TARGET} lex.yy.c
rm -f lex.yy.c
# Yacc
.y:
${YACC.y} ${.IMPSRC}
${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
rm -f y.tab.c
.y.c:
${YACC.y} ${.IMPSRC}
mv y.tab.c ${.TARGET}
.y.o:
${YACC.y} ${.IMPSRC}
${COMPILE.c} -o ${.TARGET} y.tab.c
rm -f y.tab.c
# Shell
.sh:
rm -f ${.TARGET}
cp ${.IMPSRC} ${.TARGET}
chmod a+x ${.TARGET}