pkgsrc/devel/smake/Makefile.common
2020-07-17 11:41:42 +00:00

91 lines
2.9 KiB
Text

# $NetBSD: Makefile.common,v 1.5 2020/07/17 11:41:42 micha Exp $
# used by archivers/star/Makefile
# used by devel/smake/Makefile
# used by shells/bosh/Makefile
# used by shells/pbosh/Makefile
# All packages based on the schilytools tarball should include this Makefile
# fragment to inherit and share the same pkgsrc platform specific code.
# Map PKGSRC_COMPILER to CCOM used by schilytools build system.
.if !empty(PKGSRC_COMPILER:Mgcc)
MAKE_FLAGS+= CCOM=gcc
.elif !empty(PKGSRC_COMPILER:Mclang)
MAKE_FLAGS+= CCOM=clang
# Other compilers are currently untested, try to use them as cc
.else
MAKE_FLAGS+= CCOM=cc
.endif
# OS rules
# Some rules were copied from old packages (that are now part of schilytools
# too) to not break what people have done in the past.
pre-configure:
printf "Create OS rules...\n"
cd ${WRKSRC}/RULES && . ${WRKSRC}/RULES/MKLINKS
printf "Create pkgsrc OS rules...\n"
cd ${WRKSRC}/RULES && unset r ; \
for i in arm mipsel x86_64 sparc64 powerpc ; \
do \
r="$$r i386-netbsd-gcc.rul@$$i-netbsd-gcc.rul" ; \
r="$$r i386-netbsd-cc.rul@$$i-netbsd-cc.rul" ; \
done ; \
r="$$r i386-freebsd-gcc.rul@x86_64-freebsd-gcc.rul" ; \
r="$$r i386-freebsd-cc.rul@x86_64-freebsd-cc.rul" ; \
for i in netbsd-clang.rul netbsd-cc.rul netbsd-gcc.rul ; \
do \
r="$$r i386-$$i@${MACHINE}-$$i" ; \
done ; \
\
for i in $$r ; \
do \
existing=`printf "%s\\n" $$i | ${SED} -e 's/@.*//'` ; \
target=`printf "%s\\n" $$i | ${SED} -e 's/.*@//'` ; \
printf "%s " "$$target"; \
if ${TEST} -e "$$existing" ; then : ; \
else \
printf "(Link target %s not present)\n" \
"$$existing"; \
continue ; \
fi; \
if ${TEST} -e "$$target" ; \
then \
printf "(already present)\n" ; \
else \
${LN} -s "$$existing" "$$target" ; \
printf "(created)\n" ; \
fi; \
done
# Man pages with documentation of file formats should go to section 4 on
# SysV based systems. All supported systems that are treated by schilytools
# with "MANSTYLE= sysv" in the RULES/os-${OPSYS}.def" files must be caught
# by this check (IRIX and OSF/1 are treated with BSD style by schilytools).
PLIST_VARS+= bsd sysv
.if ${OPSYS} == "AIX" || \
${OPSYS} == "HPUX" || \
${OPSYS} == "SunOS"
PLIST.sysv= yes
.else
PLIST.bsd= yes
.endif
# tbl(1) of NetBSD 9 cannot be used and cripples the man pages, but man(1)
# from mandoc uses a builtin tbl that is good enough.
# This check should catch all supported OS that needs processed tables for
# man pages and have a tbl that can be used to do that.
.if ${OPSYS} == "AIX" || \
${OPSYS} == "Cygwin" || \
${OPSYS} == "Darwin" || \
${OPSYS} == "DragonFly" || \
${OPSYS} == "Haiku" || \
${OPSYS} == "HPUX" || \
${OPSYS} == "IRIX" || \
${OPSYS} == "Linux" || \
${OPSYS} == "Minix" || \
${OPSYS} == "MirBSD" || \
${OPSYS} == "OSF1" || \
${OPSYS} == "QNX" || \
${OPSYS} == "SunOS"
USE_TOOLS+= tbl
.endif