From a47f6b781a7778989c0263d14fb245a3825c9e88 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Mon, 15 Dec 2014 14:25:42 +0000 Subject: [PATCH] Remove empty generated file upon gperf failure Prior to this change the build could fail as follows, if gperf is not available (or fails): - make(1) stops due to the gperf error, but an empty target file (cfns.h) is still created - the empty cfns.h is newer than the source cfns.gperf so it is not regenerated on subsequent builds - the gcc build fails (undefined reference to libc_name_p) Sponsored by: The FreeBSD Foundation MFC after: 3 days --- gnu/usr.bin/cc/cc1plus/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile index 64a07255e01..5d5a64d2e29 100644 --- a/gnu/usr.bin/cc/cc1plus/Makefile +++ b/gnu/usr.bin/cc/cc1plus/Makefile @@ -30,7 +30,7 @@ LDADD= ${LIBBACKEND} ${LIBCPP} ${LIBDECNUMBER} ${LIBIBERTY} # C++ parser cfns.h: cfns.gperf gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ - ${.ALLSRC} > ${.TARGET} + ${.ALLSRC} > ${.TARGET} || (rm -f ${.TARGET}; false) CLEANFILES= cfns.h DOBJS+= ${SRCS:N*.h:R:S/$/.o/g}