From: Andre Noll Date: Sun, 9 May 2021 14:47:26 +0000 (+0200) Subject: Merge branch 't/build-improvements' X-Git-Tag: v1.0.4~5 X-Git-Url: http://git.tuebingen.mpg.de/?p=lopsub.git;a=commitdiff_plain;h=511c65e28799c08d17ebdf7b10a4e15e702958f7 Merge branch 't/build-improvements' The build system fails in unexpected ways when required programs like m4 or flex are not installed. One particular problem is a construct of the form $(M4) ... > $@ in the recipe of the lopsub.h target. If m4 is not installed, this results in an empty lopsub.h file, which is considered up-to-date by subsequent runs of make(1). The subsequent compilation of lsg.c succeeds despite of the empty lopsub.h, but the resulting executable segfaults. The reason is that lsg1.c includes lopsub.h to declare lls_version(), but due to lopsub.h being empty, the declaration is missing and the compiler implicitly assumes an int return value rather than char *. This patch series addresses this problem in several ways. With the series applied: * the build fails early if m4 or flex are not installed, * missing function declarations are considered errors rather than warnings, * incompletely written targets are removed by make(1). --- 511c65e28799c08d17ebdf7b10a4e15e702958f7