From d5b6ec450fde069a4e64569b0eb7e4fcb3b96e83 Mon Sep 17 00:00:00 2001 From: Matias N Date: Wed, 18 Nov 2020 13:44:58 -0300 Subject: [PATCH] Parallelize depend file generation --- arch/arm/src/Makefile | 7 +++++-- arch/avr/src/Makefile | 7 +++++-- arch/hc/src/Makefile | 7 +++++-- arch/mips/src/Makefile | 7 +++++-- arch/misoc/src/Makefile | 7 +++++-- arch/or1k/src/Makefile | 7 +++++-- arch/renesas/src/Makefile | 6 +++++- arch/risc-v/src/Makefile | 7 +++++-- arch/sim/src/Makefile | 7 +++++-- arch/x86/src/Makefile | 7 +++++-- arch/x86_64/src/Makefile | 7 +++++-- arch/xtensa/src/Makefile | 7 +++++-- audio/Makefile | 6 +++++- binfmt/Makefile | 6 +++++- boards/Makefile | 11 +++++------ crypto/Makefile | 6 +++++- drivers/Makefile | 6 +++++- fs/Makefile | 6 +++++- graphics/Makefile | 6 +++++- libs/libc/Makefile | 12 ++++++++++-- libs/libc/bin/Makefile | 2 +- libs/libc/zoneinfo/Makefile | 6 +++++- libs/libdsp/Makefile | 6 +++++- libs/libnx/Makefile | 12 ++++++++++-- libs/libnx/kbin/Makefile | 2 +- libs/libxx/Makefile | 6 +++++- mm/Makefile | 12 ++++++++++-- net/Makefile | 6 +++++- openamp/Makefile | 6 +++++- pass1/Makefile | 6 +++++- sched/Makefile | 6 +++++- syscall/Makefile | 7 +++++-- tools/Config.mk | 17 +++++++++++++++++ video/Makefile | 6 +++++- wireless/Makefile | 6 +++++- 35 files changed, 194 insertions(+), 54 deletions(-) diff --git a/arch/arm/src/Makefile b/arch/arm/src/Makefile index 5224cacc98c..6477156c037 100644 --- a/arch/arm/src/Makefile +++ b/arch/arm/src/Makefile @@ -194,12 +194,15 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip$(DELIM)Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) $(patsubst %,--dep-path %,$(subst :, ,$(VPATH))) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="$(patsubst %,--dep-path %,$(subst :, ,$(VPATH)))" $(Q) touch $@ depend: .depend diff --git a/arch/avr/src/Makefile b/arch/avr/src/Makefile index 29bbd9fa660..e91f0da2ce9 100644 --- a/arch/avr/src/Makefile +++ b/arch/avr/src/Makefile @@ -140,12 +140,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/hc/src/Makefile b/arch/hc/src/Makefile index b521aa57667..e0d5331c9d9 100644 --- a/arch/hc/src/Makefile +++ b/arch/hc/src/Makefile @@ -155,12 +155,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/mips/src/Makefile b/arch/mips/src/Makefile index bc2c19db8c0..cdbd2a8fb6f 100644 --- a/arch/mips/src/Makefile +++ b/arch/mips/src/Makefile @@ -138,12 +138,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/misoc/src/Makefile b/arch/misoc/src/Makefile index 2fd406e8f55..d6e2eb5d763 100644 --- a/arch/misoc/src/Makefile +++ b/arch/misoc/src/Makefile @@ -141,12 +141,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/or1k/src/Makefile b/arch/or1k/src/Makefile index 7b1a552e9c1..93b6f2ee59e 100644 --- a/arch/or1k/src/Makefile +++ b/arch/or1k/src/Makefile @@ -181,12 +181,15 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip$(DELIM)Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) $(patsubst %,--dep-path %,$(subst :, ,$(VPATH))) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="$(patsubst %,--dep-path %,$(subst :, ,$(VPATH)))" $(Q) touch $@ depend: .depend diff --git a/arch/renesas/src/Makefile b/arch/renesas/src/Makefile index c5566a5efce..8c62b8de7d2 100644 --- a/arch/renesas/src/Makefile +++ b/arch/renesas/src/Makefile @@ -149,11 +149,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common" $(Q) touch $@ depend: .depend diff --git a/arch/risc-v/src/Makefile b/arch/risc-v/src/Makefile index 5eb527ed0d7..caa9147bdaf 100644 --- a/arch/risc-v/src/Makefile +++ b/arch/risc-v/src/Makefile @@ -184,12 +184,15 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) $(patsubst %,--dep-path %,$(subst :, ,$(VPATH))) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) > Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="$(patsubst %,--dep-path %,$(subst :, ,$(VPATH)))" $(Q) touch $@ depend: .depend diff --git a/arch/sim/src/Makefile b/arch/sim/src/Makefile index af0f2289821..611f09a2b2e 100644 --- a/arch/sim/src/Makefile +++ b/arch/sim/src/Makefile @@ -330,12 +330,15 @@ export_startup: board/libboard$(LIBEXT) up_head.o $(HOSTOBJS) nuttx-names.dat # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) $(HOSTSRCS:.c=.ddh) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config $(Q) if [ -e board/Makefile ]; then \ $(MAKE) -C board depend ; \ fi - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(ASRCS) $(CSRCS) >Make.dep - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(HOSTCFLAGS) -- $(HOSTSRCS) >>Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/arch/x86/src/Makefile b/arch/x86/src/Makefile index 3dc110fa165..fa2cfd39984 100644 --- a/arch/x86/src/Makefile +++ b/arch/x86/src/Makefile @@ -153,12 +153,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/x86_64/src/Makefile b/arch/x86_64/src/Makefile index f4aab34aa81..dac97433221 100644 --- a/arch/x86_64/src/Makefile +++ b/arch/x86_64/src/Makefile @@ -148,12 +148,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/arch/xtensa/src/Makefile b/arch/xtensa/src/Makefile index ad0e4faaadd..31a454457b5 100644 --- a/arch/xtensa/src/Makefile +++ b/arch/xtensa/src/Makefile @@ -139,12 +139,15 @@ export_startup: board/libboard$(LIBEXT) $(STARTUP_OBJS) # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile chip/Make.defs $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(BOARDMAKE),y) $(Q) $(MAKE) -C board depend endif - $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="--dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR)" $(Q) touch $@ depend: .depend diff --git a/audio/Makefile b/audio/Makefile index 9fcabcdc47c..a8c782938e6 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -68,9 +68,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/binfmt/Makefile b/binfmt/Makefile index 23dcdab4f4a..fd5299536bd 100644 --- a/binfmt/Makefile +++ b/binfmt/Makefile @@ -80,9 +80,13 @@ $(BINFMT_COBJS): %$(OBJEXT): %.c $(BIN): $(BINFMT_OBJS) $(call ARCHIVE, $@, $(BINFMT_OBJS)) + +makedepfile: $(BINFMT_CSRCS:.c=.ddc) $(BINFMT_ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(BINFMT_SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(BINFMT_SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/boards/Makefile b/boards/Makefile index c6a7c9228a4..8169ebdbcd1 100644 --- a/boards/Makefile +++ b/boards/Makefile @@ -98,14 +98,13 @@ $(CXXOBJS): %$(OBJEXT): %.cxx $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) $(CXXSRCS:.cxx=.ddx) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config -ifneq ($(SRCS),) - $(Q) $(MKDEP) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep -endif -ifneq ($(CXXSRCS),) - $(Q) $(MKDEP) "$(CXX)" -- $(CXXFLAGS) -- $(CXXSRCS) >>Make.dep -endif + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/crypto/Makefile b/crypto/Makefile index fd663fe816a..68eb31a3843 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -89,10 +89,14 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(CONFIG_CRYPTO),y) - $(Q) $(MKDEP) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile endif $(Q) touch $@ diff --git a/drivers/Makefile b/drivers/Makefile index d8d1a76cda7..1c1139d8adc 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -119,9 +119,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/fs/Makefile b/fs/Makefile index 786c94967f6..6d7717ada53 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -97,9 +97,13 @@ $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) context:: + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/graphics/Makefile b/graphics/Makefile index 9a733beb618..5eda6b40774 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -124,8 +124,12 @@ $(BIN): $(OBJS) mklibgraphics: $(BIN) +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: gensources Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/libs/libc/Makefile b/libs/libc/Makefile index 572ec229f30..8371b115200 100644 --- a/libs/libc/Makefile +++ b/libs/libc/Makefile @@ -156,10 +156,18 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, bin/Make.dep, $^) + $(call DELFILE, $^) + +makekdepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, kbin/Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) --obj-path bin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >bin/Make.dep + $(Q) $(MAKE) makedepfile ifneq ($(CONFIG_BUILD_FLAT),y) - $(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >kbin/Make.dep + $(Q) $(MAKE) makekdepfile CFLAGS="$(CFLAGS) $(KDEFINE)" endif ifeq ($(CONFIG_LIB_ZONEINFO_ROMFS),y) $(Q) $(MAKE) -C zoneinfo depend BIN=$(BIN) diff --git a/libs/libc/bin/Makefile b/libs/libc/bin/Makefile index ffccef3b484..dedc963fb00 100644 --- a/libs/libc/bin/Makefile +++ b/libs/libc/bin/Makefile @@ -37,7 +37,7 @@ include $(TOPDIR)/Make.defs all: .PHONY: clean distclean - + # Clean Targets: clean: diff --git a/libs/libc/zoneinfo/Makefile b/libs/libc/zoneinfo/Makefile index d6e66361c37..44e3df0c740 100644 --- a/libs/libc/zoneinfo/Makefile +++ b/libs/libc/zoneinfo/Makefile @@ -118,8 +118,12 @@ context: .tzbuilt romfs # Create dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/libs/libdsp/Makefile b/libs/libdsp/Makefile index bc3be54cb75..6d1ed1a88a1 100644 --- a/libs/libdsp/Makefile +++ b/libs/libdsp/Makefile @@ -49,9 +49,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/libs/libnx/Makefile b/libs/libnx/Makefile index 86ef567b331..2408eee6abc 100644 --- a/libs/libnx/Makefile +++ b/libs/libnx/Makefile @@ -235,10 +235,18 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, bin/Make.dep, $^) + $(call DELFILE, $^) + +makekdepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, kbin/Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile gensources $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) --obj-path bin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >bin/Make.dep + $(Q) $(MAKE) makedepfile ifneq ($(CONFIG_BUILD_FLAT),y) - $(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >kbin/Make.dep + $(Q) $(MAKE) makekdepfile CFLAGS="$(CFLAGS) $(KDEFINE)" endif $(Q) touch $@ diff --git a/libs/libnx/kbin/Makefile b/libs/libnx/kbin/Makefile index e3475231f9c..dd4e30e3c50 100644 --- a/libs/libnx/kbin/Makefile +++ b/libs/libnx/kbin/Makefile @@ -37,7 +37,7 @@ include $(TOPDIR)/Make.defs all: .PHONY: clean distclean - + # Clean Targets: clean: diff --git a/libs/libxx/Makefile b/libs/libxx/Makefile index 87cf1960566..6c787fe2a10 100644 --- a/libs/libxx/Makefile +++ b/libs/libxx/Makefile @@ -91,8 +91,12 @@ $(BIN): $(OBJS) dirlinks:: +makedepfile: $(CXXSRCS:.cxx=.ddx) $(CPPSRCS:.cpp=.ddp) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CXX)" -- $(CXXFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/mm/Makefile b/mm/Makefile index ae04d1980af..a2b6cb57afa 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -82,10 +82,18 @@ endif # Dependencies +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, bin/Make.dep, $^) + $(call DELFILE, $^) + +makekdepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, kbin/Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) --obj-path bin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >bin/Make.dep + $(Q) $(MAKE) makedepfile ifneq ($(CONFIG_BUILD_FLAT),y) - $(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >kbin/Make.dep + $(Q) $(MAKE) makekdepfile CFLAGS="$(CFLAGS) $(KDEFINE)" endif $(Q) touch $@ diff --git a/net/Makefile b/net/Makefile index db40ad6398d..7cf01a1ad9d 100644 --- a/net/Makefile +++ b/net/Makefile @@ -91,10 +91,14 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config ifeq ($(CONFIG_NET),y) - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile endif $(Q) touch $@ diff --git a/openamp/Makefile b/openamp/Makefile index d9e9eb3d4c3..100baadbfb1 100644 --- a/openamp/Makefile +++ b/openamp/Makefile @@ -47,8 +47,12 @@ $(BIN): $(OBJS) dirlinks:: +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/pass1/Makefile b/pass1/Makefile index 27704f6f2f9..d9a90294316 100644 --- a/pass1/Makefile +++ b/pass1/Makefile @@ -57,9 +57,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/sched/Makefile b/sched/Makefile index 2ac07430563..fb3bd8deb50 100644 --- a/sched/Makefile +++ b/sched/Makefile @@ -58,9 +58,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/syscall/Makefile b/syscall/Makefile index 9ad30b62c49..3d94e7c05af 100644 --- a/syscall/Makefile +++ b/syscall/Makefile @@ -93,9 +93,12 @@ $(BIN3): $(WRAP_OBJS) $(SYSCALLWRAPS): .context +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) + .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(PROXYDEPPATH) $(STUBDEPPATH) $(WRAPDEPPATH) \ - "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile DEPPATH="$(PROXYDEPPATH) $(STUBDEPPATH) $(WRAPDEPPATH)" $(Q) touch $@ depend: .depend diff --git a/tools/Config.mk b/tools/Config.mk index b3626b57c74..0e2aac9cab3 100644 --- a/tools/Config.mk +++ b/tools/Config.mk @@ -200,6 +200,23 @@ else MKDEP ?= $(TOPDIR)$(DELIM)tools$(DELIM)mkdeps$(HOSTEXEEXT) endif +# Per-file dependency generation rules + +%.dds: %.S + $(Q) $(MKDEP) --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $< > $@ + +%.ddc: %.c + $(Q) $(MKDEP) --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $< > $@ + +%.ddp: %.cpp + $(Q) $(MKDEP) --obj-suffix $(OBJEXT) $(DEPPATH) "$(CXX)" -- $(CXXFLAGS) -- $< > $@ + +%.ddx: %.cxx + $(Q) $(MKDEP) --obj-suffix $(OBJEXT) $(DEPPATH) "$(CXX)" -- $(CXXFLAGS) -- $< > $@ + +%.ddh: %.c + $(Q) $(MKDEP) --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(HOSTCFLAGS) -- $< > $@ + # INCDIR - Convert a list of directory paths to a list of compiler include # directories # Example: CFFLAGS += ${shell $(INCDIR) [options] "compiler" "dir1" "dir2" "dir2" ...} diff --git a/video/Makefile b/video/Makefile index 92492d37530..87752291db9 100644 --- a/video/Makefile +++ b/video/Makefile @@ -55,9 +55,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend diff --git a/wireless/Makefile b/wireless/Makefile index edd90823289..b2c46fa6353 100644 --- a/wireless/Makefile +++ b/wireless/Makefile @@ -60,9 +60,13 @@ $(COBJS): %$(OBJEXT): %.c $(BIN): $(OBJS) $(call ARCHIVE, $@, $(OBJS)) + +makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds) + $(call CATFILE, Make.dep, $^) + $(call DELFILE, $^) .depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) $(MAKE) makedepfile $(Q) touch $@ depend: .depend