include config.mk TARGETS = getopt nproc realpath SRC = $(TARGETS:=.c) BIN = $(TARGETS:=-install) UNI = $(TARGETS:=-uninstall) all: ${TARGETS} install: ${BIN} @printf "All targets installed\n" uninstall: ${UNI} @printf "All targets uninstalled\n" ${TARGETS}: ${SRC} ${CC} ${CFLAGS} ${LDFLAGS} $@.c -o $@ ${BIN}: @TARGET=$$(echo $@ | sed "s/-install//");\ ${MAKE} "$$TARGET";\ mkdir -p ${PREFIX}/bin;\ cp -f "$$TARGET" ${PREFIX}/bin;\ chmod 755 ${PREFIX}/bin/"$$TARGET";\ mkdir -p ${MANPREFIX}/man1;\ cp -f "$$TARGET".1 ${MANPREFIX}/man1/;\ chmod 644 ${MANPREFIX}/man1/"$$TARGET".1 ${UNI}: @TARGET=$$(echo $@ | sed "s/-uninstall//");\ rm ${PREFIX}/bin/"$$TARGET" ${MANPREFIX}/man1/"$$TARGET".1 clean: rm -f *.[oa] ${TARGETS} .PHONY: all install uninstall ${TARGETS} ${BIN} ${UNI} clean