mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-26 15:03: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`.
12 lines
322 B
Makefile
12 lines
322 B
Makefile
MODULE =$(BOARD)_base
|
|
|
|
DIRS = drivers
|
|
|
|
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
|