Browse Source

make: add `BOARD_INSUFFICIENT_RAM` blacklisting

Currently most blacklistings for examples and tests are done because the
board provides too little RAM or ROM. Besides of the actual linking all
the compiling should nevertheless work just fine.

This PR adds the variable `BOARD_INSUFFICIENT_RAM` to tell the
`buildtest` to compile the code for a board, but omit the linking step.
dev/timer
René Kijewski 9 years ago
parent
commit
4198b7518c
  1. 6
      Makefile.buildtests
  2. 2
      Makefile.include

6
Makefile.buildtests

@ -42,7 +42,10 @@ buildtest:
\
rm -rf "$$BINDIRBASE"; \
for BOARD in $${BOARDS}; do \
$${ECHO} -n "Building for $${BOARD} .. "; \
RIOTNOLINK=$$(case ' $(BOARD_INSUFFICIENT_RAM) ' in *" $${BOARD} "*) echo 1; esac); \
$${ECHO} -n "Building for $${BOARD} "; \
[ -n "$${RIOTNOLINK}" ] && $${ECHO} -n "(no linking) "; \
$${ECHO} -n ".. "; \
LOG=$$(env -i \
HOME=$${HOME} \
PATH=$${PATH} \
@ -51,6 +54,7 @@ buildtest:
RIOTBOARD=$${RIOTBOARD} \
RIOTCPU=$${RIOTCPU} \
BINDIRBASE=$${BINDIRBASE} \
RIOTNOLINK=$${RIOTNOLINK} \
$(MAKE) -j$(NPROC) 2>&1 >/dev/null) ; \
if [ "$${?}" = "0" ]; then \
$${ECHO} "$${GREEN}success$${RESET}"; \

2
Makefile.include

@ -75,6 +75,7 @@ all: $(BINDIR)$(PROJECT).a
@echo "Building application $(PROJECT) for $(BOARD) w/ MCU $(MCU)."
"$(MAKE)" -C $(RIOTBOARD)/$(BOARD)
"$(MAKE)" -C $(RIOTBASE)
ifeq (,$(RIOTNOLINK))
ifeq ($(BUILDOSXNATIVE),1)
$(AD)$(LINK) $(UNDEF) -o $(ELFFILE) $(BASELIBS) $(LINKFLAGS) -Wl,-no_pie
else
@ -82,6 +83,7 @@ else
endif
$(AD)$(SIZE) $(ELFFILE)
$(AD)$(OBJCOPY) $(OFLAGS) $(ELFFILE) $(HEXFILE)
endif
# string array of all names of c files in dir
SRC = $(wildcard *.c)

Loading…
Cancel
Save