mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-25 06:23:53 +01:00
Many modules have subdirectories. Often these subdirectories should only be included under certain circumstances. Modules that use submodules currently need to use this pattern: ```make DIRS = … all: $(BINDIR)$(MODULE).a @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ; include $(RIOTBASE)/Makefile.base clean:: @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ; ``` This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
17 lines
414 B
Makefile
17 lines
414 B
Makefile
MODULE = cpu
|
|
|
|
ifneq (,$(filter rtc,$(USEMODULE)))
|
|
DIRS += rtc
|
|
endif
|
|
ifneq (,$(filter nativenet,$(USEMODULE)))
|
|
DIRS += net
|
|
endif
|
|
|
|
include $(RIOTBASE)/Makefile.base
|
|
|
|
$(BINDIR)$(MODULE)/%.o: %.c
|
|
@mkdir -p $(BINDIR)$(MODULE)
|
|
$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
|
|
$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
|
|
sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
|