# Abstract:
# This makefile tries to build all RPP projects in this repository.
-include Makefile.config
+TARGETS=$(sort $(notdir $(patsubst %/,%,$(dir $(wildcard build/*/Makefile.config)))))
-SUBDIRS = Debug POSIX apps/rpp-test-suite/Debug apps/rpp-test-suite/POSIX
+SUBDIRS = $(foreach t,$(TARGETS),build/$(t)/Debug build/$(t)/apps/helloworld build/$(t)/apps/rpp-test-suite)
subdir-targets = $(SUBDIRS:%=subdir-%)
all: $(subdir-targets)
+print-targets:
+ @echo "Building for targets: $(TARGETS)"
+
clean: $(subdir-targets)
lib: # Build only the library
- $(MAKE) -C Debug
+ $(MAKE) -C build/tms570_hydctr/Debug
doc: # Build API documentation (Doxygen)
$(MAKE) -C rpp/doc/api/
# parallel.
.NOTPARALLEL:
-subdir-% subdir-apps/%:
+subdir-build/%: print-targets
$(MAKE) -C $(@:subdir-%=%) $(MAKECMDGOALS)
-UNCRUSTIFY_FILES = $(shell git ls-files|git check-attr --stdin uncrustify|awk -F: '/uncrustify: set$$/ {print $$1}')
+UNCRUSTIFY_FILES = $(shell etc/git-ls-files-attr uncrustify)
UNCRUSTIFY_CFG = etc/uncrustify.cfg
define UNCRUSTIFY_ALL
$(foreach i,$(UNCRUSTIFY_FILES),git show HEAD:$i | uncrustify -c $(UNCRUSTIFY_CFG) -o $i
$(UNCRUSTIFY_ALL)
-RELEASE_PREFIX = rpp-lib
include common.mk
+$(eval $(call release_rules,rpp-lib))
release: $(RELEASE_BASENAME).zip
$(RELEASE_BASENAME)::