diff options
-rw-r--r-- | mk/depend.mk | 12 | ||||
-rw-r--r-- | mk/lib.mk | 5 | ||||
-rw-r--r-- | mk/prog.mk | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/mk/depend.mk b/mk/depend.mk index bec382e5..2ae6e1e8 100644 --- a/mk/depend.mk +++ b/mk/depend.mk @@ -1,8 +1,5 @@ -# This only works for make implementations that always include a .depend if -# it exists. Only GNU make does not do this. - +# Generate .depend # Copyright 2008 Roy Marples <roy@marples.name> -# All rights reserved. Released under the 2-clause BSD license. CLEANFILES+= .depend IGNOREFILES+= .depend @@ -10,4 +7,9 @@ IGNOREFILES+= .depend .depend: ${SRCS} ${CC} ${CPPFLAGS} -MM ${SRCS} > .depend -depend: .depend +depend: .depend extra_depend + +# Nasty hack for gmake which does not automatically include .depend +# if it exists, unlike every other make implementation. +INC_DEPEND= $(shell if test -e .depend; then echo ".depend"; else echo ""; fi) +include ${INC_DEPEND} @@ -56,6 +56,11 @@ check test:: clean: rm -f ${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK} ${CLEANFILES} +extra_depend: + @TMP=depend.$$$$; \ + ${SED} -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.So:/' .depend > $${TMP}; \ + mv $${TMP} .depend + include ${MK}/sys.mk include ${MK}/os.mk include ${MK}/depend.mk @@ -33,6 +33,8 @@ ${PROG}: ${SCRIPTS} ${OBJS} clean: rm -f ${CLEANFILES} +extra_depend: + include ${MK}/sys.mk include ${MK}/os.mk include ${MK}/depend.mk |