Building an example with a custom makefile

For a project I am working on I use the gnrc_border_router example as a gateway router.
However I need to configure it a bit.
To make my project easyer to share I want to make a makefile in my project that can compile the gnrc_border_router with the correct settings. Right now I am doing this like this:

RIOTBASE ?= $(CURDIR)/../../../RIOT

#include wireless network parameters
include ../Node/networksettings.inc.mk

#Settings to change on the border router example
BOARD = nrf52840dongle
UPLINK = cdc-ecm

include $(RIOTBASE)/examples/gnrc_border_router/Makefile

However I then get errors including the cdc-edm config as these are not in CURDIR.

No rule to make target '$PROJECT/BorderRouter/Makefile.cdc-ecm.conf'. Stop.

My current fix is to create copy of Makefile.cdc-ecm.conf, but I find this very ugly.

Does anyone know of a better way to do this?

Usually for an application’s make file we do not import another applications Makefile, so the “official” way would be to just copy the whole application. But I like your approach, so maybe we could somehow make this nicer without destroying the readability of the example Makefile too much.

That was exactly what I did at first, but I did not want the complete example in my repo.

I think this should work if the gnrc_border_router example did not use the $(CURDIR) variable. Maybe either using $(RIOTBASE) or just using relative paths.

I’d rather not make an example’s path absolute within the example itself. Maybe $(LAST_MAKEFILEDIR) could work here.

Mh, doc says no :frowning: