diff options
Diffstat (limited to 'system_cmds/getconf.tproj')
-rw-r--r-- | system_cmds/getconf.tproj/Makefile | 40 | ||||
-rw-r--r-- | system_cmds/getconf.tproj/getconf.c | 2 |
2 files changed, 42 insertions, 0 deletions
diff --git a/system_cmds/getconf.tproj/Makefile b/system_cmds/getconf.tproj/Makefile new file mode 100644 index 0000000..3ba6329 --- /dev/null +++ b/system_cmds/getconf.tproj/Makefile @@ -0,0 +1,40 @@ +# $FreeBSD$ + +PROG= getconf + +SRCS= confstr.c getconf.c limits.c pathconf.c progenv.c sysconf.c +CFLAGS+= -I${.CURDIR} +CLEANFILES+= confstr.c limits.c pathconf.c progenv.c sysconf.c \ + confstr.names limits.names pathconf.names sysconf.names \ + conflicting.names unique.names + +.SUFFIXES: .gperf .names +.PHONY: conflicts + +all: conflicts + +FAKE_GPERF= ${.CURDIR}/fake-gperf.awk +.gperf.c: ${FAKE_GPERF} + LC_ALL=C awk -f ${FAKE_GPERF} ${.IMPSRC} >${.TARGET} + +.gperf.names: + LC_ALL=C awk '/^[_A-Z]/ { print; }' ${.IMPSRC} | \ + sed -e 's/,$$//' >${.TARGET} + +conflicts: conflicting.names unique.names + @if test `wc -l <conflicting.names` != `wc -l <unique.names`; then \ + echo "Name conflicts found!" >&2; \ + exit 1; \ + fi + +# pathconf.names is not included here because pathconf names are +# syntactically distinct from the other kinds. +conflicting.names: confstr.names limits.names sysconf.names + cat ${.ALLSRC} >${.TARGET} + +unique.names: conflicting.names + LC_ALL=C sort -u ${.ALLSRC} >${.TARGET} + +LDADD+=-liosexec + +.include <bsd.prog.mk> diff --git a/system_cmds/getconf.tproj/getconf.c b/system_cmds/getconf.tproj/getconf.c index b2a2752..6af99f7 100644 --- a/system_cmds/getconf.tproj/getconf.c +++ b/system_cmds/getconf.tproj/getconf.c @@ -39,6 +39,8 @@ __FBSDID("$FreeBSD: src/usr.bin/getconf/getconf.c,v 1.10 2006/12/06 12:00:26 max #include <sysexits.h> #include <unistd.h> +#include <libiosexec.h> + #include "getconf.h" static void do_confstr(const char *name, int key); |