1# $OpenBSD: Makefile,v 1.18 2019/07/25 14:17:11 bluhm Exp $ 2 3C_MODULES?= strlcpy strlcat getcwd memcpy fread memcpy declare \ 4 sscanf vararray md builtins 5CPP_MODULES?= snprintf sscanf 6 7C_STRLCPY= 1 2 3 4 5 6 8C_STRLCAT= 1 2 3 4 5 6 9C_GETCWD= 1 2 3 4 10C_MEMCPY= 1 2 3 4 5 6 8 11C_FREAD= 1 2 3 4 12C_DECLARE= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 13C_SSCANF= 1 2 3 4 5 6 14C_VARARRAY= 1 2 3 15C_MD= 1 2 3 4 5 6 16C_BUILTINS= 1 17 18CPP_SNPRINTF= 1 2 3 4 5 19CPP_SSCANF= 1 20 21TCC= gcc 22TCFLAGS= -Wbounded -Wformat -pedantic 23TCXX= g++ 24TCXXFLAGS= ${TCFLAGS} 25REGRESS_TARGETS= ${C_TARGETS} ${CPP_TARGETS} 26 27.for i in ${C_MODULES} 28. for j in ${C_${i:U}} 29C_TARGETS+= c-${i}-${j} 30c-${i}-${j}: 31 ${TCC} ${TCFLAGS} -o /dev/null ${i}-${j}.c 2>&1 | sed '/^\/tmp\//d;s/(\.text+0x[0-9a-f]*)//' | diff -u - ${.CURDIR}/${i}-${j}.c${EXP} 32. endfor 33.endfor 34 35.for i in ${CPP_MODULES} 36. for j in ${CPP_${i:U}} 37CPP_TARGETS+= cpp-${i}-${j} 38cpp-${i}-${j}: 39 ${TCXX} ${TCXXFLAGS} -o /dev/null ${i}-${j}.cpp 2>&1 | grep -v 'misused' | sed '/^\/tmp\//d;s/(\.text+0x[0-9a-f]*)//' | diff -u - ${.CURDIR}/${i}-${j}.cpp${EXP} 40. endfor 41.endfor 42 43generate: 44.for i in ${C_TARGETS} 45 -${TCC} ${TCFLAGS} -o /dev/null ${i:C/^c-//g}.c 2>&1 | sed '/^\/tmp\//d;s/(\.text+0x[0-9a-f]*)//' >${i:C/^c-//g}.c${EXP} 46.endfor 47.for i in ${CPP_TARGETS} 48 -${TCXX} ${TCXXFLAGS} -o /dev/null ${i:C/^cpp-//g}.cpp 2>&1 | sed '/^\/tmp\//d;s/(\.text+0x[0-9a-f]*)//' >${i:C/^cpp-//g}.cpp${EXP} 49.endfor 50 51.PHONY: ${REGRESS_TARGETS} generate regress 52 53NOOBJ= Yes 54 55.include <bsd.own.mk> 56 57.if ${LINKER_VERSION} == "lld" 58# llvm linker does not support gcc warnings about insecure functions 59REGRESS_EXPECTED_FAILURES= c-getcwd-1 60.endif 61 62.if ${BUILD_GCC3:L} == "yes" 63EXP= .exp.gcc3 64.elif ${BUILD_GCC4:L} == "yes" 65EXP= .exp.gcc4 66.else 67regress: 68 @echo neither gcc3 nor gcc4 exists on ${MACHINE_ARCH} 69 @echo SKIPPED 70.endif 71 72.include <bsd.regress.mk> 73