summaryrefslogtreecommitdiffhomepage
path: root/digital/ucoolib/build/setup.mk
blob: 4ccd1cc3647ebfe51d91bf21fbf4317a51c9092c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# ucoolib - Microcontroller object oriented library.
#
# Setup source files according to requested products and modules configuration.

TARGETS ?= host

DEFAULT_MODULES ?= arch

ALL_PROGS := $(PROGS) $(foreach target,$(TARGETS),$($(target)_PROGS))

ALL_MODULES := $(sort $(DEFAULT_MODULES) $(MODULES) \
	$(foreach prog,$(ALL_PROGS),$($(prog)_MODULES)))

include $(ALL_MODULES:%=$(BASE)/ucoolib/%/Module)

define MODULES_template
$1_SOURCES += $$(foreach module,\
	$$(DEFAULT_MODULES) $$(call defval,$1_MODULES,$$(MODULES)),\
	$$($$(subst /,_,$$(module))_SOURCES)\
)
endef
$(foreach prog,$(ALL_PROGS),$(eval $(call MODULES_template,$(prog))))

ALL_SOURCES := $(foreach prog,$(ALL_PROGS),$($(prog)_SOURCES))

COMPILE_DEPS :=