У меня есть makefile, который выглядит вот так:
all: ud-button ud-rpl_root
PROJECT_SOURCEFILES += ud-dag_node.c
DEFINES+=PROJECT_CONF_H=\"project-conf.h\"
CONTIKI = ../..
CONTIKI_WITH_IPV6 = 1
include $(CONTIKI)/Makefile.include
Если это важно, как выглядит makefile.include можно посмотреть тут:
https://github.com/contiki-os/contiki/blob/master/...
Мне надо переписать его таким образом, чтобы его выполнение было аналогично выполнению двух разных makefile:
all: ud-button
PROJECT_SOURCEFILES += ud-dag_node.c
DEFINES+=PROJECT_CONF_H=\"ud-button.project-conf.h\"
CONTIKI = ../..
CONTIKI_WITH_IPV6 = 1
include $(CONTIKI)/Makefile.include
all: ud-rpl_root
PROJECT_SOURCEFILES +=
DEFINES+=PROJECT_CONF_H=\"ud-rpl_root.project-conf.h\"
CONTIKI = ../..
CONTIKI_WITH_IPV6 = 1
include $(CONTIKI)/Makefile.include
Т.е. различные DEFINES и PROJECT_SOURCEFILES для каждого проекта. Подскажите, как сделать?
UPD: смог сделать только так, чтобы в зависимости от переменной подключались разные project-conf.h. Добавил в Makefile:
ifndef VARIANT
${info Not VARIANT defines! Set default: normal}
VARIANT = normal
endif
PROJECTDIRS += $(VARIANT)
в
project-conf.h добавил
#include "target-conf.h", а в папках "normal" и "leaf" поместил разные
target-conf.h.
Теперь, если сделать "
make -j5 TARGET=unwired BOARD=udboards/cc26xx VARIANT=leaf", то универсальная часть возьмется из
project-conf.h, а изменяемая часть из
leaf/target-conf.h.
Проблема в том, что при таком подходе с одинаковым конфигом собираются оба проекта(
ud-button и
ud-rpl_root), а мне надо, чтобы для
ud-button дефайны брались из
project-conf.h +
leaf/target-conf.h, а для
ud-rpl_root из
project-conf.h +
standart/target-conf.h