# $Source: /hpux/shared/supp//usr/src/cmd/privgrp/./makefile,v $
# $Revision: 72.2 $

# Common makefile for getprivgrp/setprivgrp

# This needed to be left in here because of the kludge below.
INC=/usr/include

default: all

all: getprivgrp setprivgrp

metrics: getprivgrp.M setprivgrp.M

getprivgrp: getprivgrp.o
	$(CC) $(LDFLAGS) -o getprivgrp getprivgrp.o

setprivgrp: setprivgrp.o
	$(CC) $(LDFLAGS) -o setprivgrp setprivgrp.o

getprivgrp.M: getprivgrp.c privnames.h
	$(METRICS) $(CFLAGS) -o getprivgrp.M getprivgrp.c

setprivgrp.M: setprivgrp.c privnames.h
	$(METRICS) $(CFLAGS) -o setprivgrp.M setprivgrp.c

clean:
	/bin/rm -f *.o privnames.h

clobber: clean
	/bin/rm -f setprivgrp getprivgrp *.M

# This section will grab from the sys/privgrp.h header file, those
# lines beginning with PRIVILEGE (privileged groups and accociated
# numbers).
privnames.h: $(INC)/sys/privgrp.h
	echo "/*" > Privnames.h
	echo " * Created automatically by messaging <sys/privgrp.h>" >> Privnames.h
	echo " */" >> Privnames.h
	echo "struct {" >> Privnames.h
	echo "    char * name;" >> Privnames.h
	echo "    char   number;" >> Privnames.h
	echo "} privnames [] = {" >> Privnames.h
	awk '/PRIVILEGE/ { printf "%s\t%s\n", $$2, $$3; }' \
	    $(INC)/sys/privgrp.h | \
		sed 's/PRIV_\(.*\)	\(.*\)$$/    {"\1", \2},/' >> Privnames.h
	echo "};" >> Privnames.h
	mv Privnames.h privnames.h

getprivgrp.o: privnames.h 
setprivgrp.o: privnames.h 
