Mercurial > audlegacy
comparison buildsys.mk.in @ 4749:b86e9f9663f4
Parallel dependency resolution by Jonathan Schleifer.
author | Tony Vroon <chainsaw@gentoo.org> |
---|---|
date | Wed, 30 Jul 2008 23:04:32 +0100 |
parents | ef42ac9179c9 |
children | 4f9bc75a9672 |
comparison
equal
deleted
inserted
replaced
4748:60d8d8f667ed | 4749:b86e9f9663f4 |
---|---|
1 # | 1 # |
2 # Copyright (c) 2007, Jonathan Schleifer <js-buildsys@webkeks.org> | 2 # Copyright (c) 2007 - 2008, Jonathan Schleifer <js-buildsys@webkeks.org> |
3 # | 3 # |
4 # https://webkeks.org/hg/buildsys/ | 4 # https://webkeks.org/hg/buildsys/ |
5 # | 5 # |
6 # Permission to use, copy, modify, and/or distribute this software for any | 6 # Permission to use, copy, modify, and/or distribute this software for any |
7 # purpose with or without fee is hereby granted, provided that the above | 7 # purpose with or without fee is hereby granted, provided that the above |
71 OBJS1 = ${SRCS:.c=.o} | 71 OBJS1 = ${SRCS:.c=.o} |
72 OBJS2 = ${OBJS1:.cc=.o} | 72 OBJS2 = ${OBJS1:.cc=.o} |
73 OBJS3 = ${OBJS2:.cxx=.o} | 73 OBJS3 = ${OBJS2:.cxx=.o} |
74 OBJS4 = ${OBJS3:.d=.o} | 74 OBJS4 = ${OBJS3:.d=.o} |
75 OBJS5 = ${OBJS4:.erl=.beam} | 75 OBJS5 = ${OBJS4:.erl=.beam} |
76 OBJS += ${OBJS5:.m=.o} | 76 OBJS6 = ${OBJS5:.m=.o} |
77 DEPS += ${OBJS:.o=.dep} | 77 OBJS += ${OBJS6:.xpm=.o} |
78 | 78 |
79 .SILENT: | 79 .SILENT: |
80 .SUFFIXES: .beam .c .cc .cxx .d .dep .erl .m | 80 .SUFFIXES: .beam .c .cc .cxx .d .dep .erl .m .xpm |
81 .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean | 81 .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean |
82 | 82 |
83 all: | 83 all: |
84 for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \ | 84 for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \ |
85 ${MAKE} ${MFLAGS} $$i || exit 1; \ | 85 ${MAKE} ${MFLAGS} $$i || exit 1; \ |
92 ${DIR_LEAVE}; \ | 92 ${DIR_LEAVE}; \ |
93 done | 93 done |
94 | 94 |
95 depend: pre-depend ${SRCS} | 95 depend: pre-depend ${SRCS} |
96 regen=0; \ | 96 regen=0; \ |
97 deps=""; \ | |
97 test -f .deps || regen=1; \ | 98 test -f .deps || regen=1; \ |
98 for i in ${SRCS}; do test $$i -nt .deps && regen=1; done; \ | 99 for i in ${SRCS}; do \ |
99 if test x"$$regen" = x"1" -a x"${DEPS}" != "x"; then \ | 100 case $$i in \ |
101 *.o) \ | |
102 test $$i -nt .deps && regen=1; \ | |
103 deps="$${deps%.o}.dep $$i"; \ | |
104 ;; \ | |
105 esac; \ | |
106 done; \ | |
107 if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \ | |
100 ${DEPEND_STATUS}; \ | 108 ${DEPEND_STATUS}; \ |
101 rm -f .deps; \ | 109 rm -f .deps; \ |
102 if ${MAKE} ${MFLAGS} ${DEPS}; then \ | 110 if ${MAKE} ${MFLAGS} $$deps; then \ |
103 cat ${DEPS} >.deps; \ | 111 cat $$deps >.deps; \ |
104 rm -f ${DEPS}; \ | 112 rm -f $$deps; \ |
105 ${DEPEND_OK}; \ | 113 ${DEPEND_OK}; \ |
106 else \ | 114 else \ |
107 rm -f .deps ${DEPS}; \ | 115 rm -f .deps $$deps; \ |
108 ${DEPEND_FAILED}; \ | 116 ${DEPEND_FAILED}; \ |
109 fi; \ | 117 fi; \ |
110 fi | 118 fi |
111 | 119 |
112 .c.dep .cc.dep .cxx.dep .m.dep: | 120 .c.dep .cc.dep .cxx.dep .m.dep: |
113 ${CPP} ${CPPFLAGS} -M $< >$@ | 121 ${CPP} ${CPPFLAGS} -M $< >$@ |
114 | 122 |
115 .d.dep: | 123 .d.dep: |
124 .xpm.dep: | |
116 | 125 |
117 pre-depend: | 126 pre-depend: |
118 | 127 |
119 ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS} | 128 ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS} |
120 ${LINK_STATUS} | 129 ${LINK_STATUS} |
189 fi | 198 fi |
190 | 199 |
191 .m.o: | 200 .m.o: |
192 ${COMPILE_STATUS} | 201 ${COMPILE_STATUS} |
193 if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ | 202 if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ |
203 ${COMPILE_OK}; \ | |
204 else \ | |
205 ${COMPILE_FAILED}; \ | |
206 fi | |
207 | |
208 .xpm.o: | |
209 ${COMPILE_STATUS} | |
210 if ${CC} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \ | |
194 ${COMPILE_OK}; \ | 211 ${COMPILE_OK}; \ |
195 else \ | 212 else \ |
196 ${COMPILE_FAILED}; \ | 213 ${COMPILE_FAILED}; \ |
197 fi | 214 fi |
198 | 215 |