X-Git-Url: http://rtime.felk.cvut.cz/gitweb/pes-rpp/rpp-lib.git/blobdiff_plain/3406b2e2ab06c77c5ae9f36f402661df7dc88969..e2de98fb408f44c31238c2ef95dbac5cc036de86:/Makefile diff --git a/Makefile b/Makefile index 7580871..16188fe 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,32 @@ -# This makefile tries to build all RPP projects in this repository. +# Copyright (C) 2013-2015 Czech Technical University in Prague +# +# Authors: +# - Michal Sojka +# +# This document contains proprietary information belonging to Czech +# Technical University in Prague. Passing on and copying of this +# document, and communication of its contents is not permitted +# without prior written authorization. +# +# File : Makefile +# Abstract: +# This makefile tries to build all RPP projects in this repository. -SUBDIRS = Debug POSIX apps/rpp-test-suite/Debug apps/rpp-test-suite/POSIX +TARGETS=$(sort $(notdir $(patsubst %/,%,$(dir $(wildcard build/*/Makefile.config))))) + +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/ @@ -23,13 +40,14 @@ doc: # Build API documentation (Doxygen) # 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 etc/uncrustify.cfg -o $i +$(foreach i,$(UNCRUSTIFY_FILES),git show HEAD:$i | uncrustify -c $(UNCRUSTIFY_CFG) -o $i ) endef @@ -38,3 +56,18 @@ endef uncrustify: git diff --quiet # Check that the tree is clean $(UNCRUSTIFY_ALL) + + +include common.mk + +$(eval $(call release_rules,rpp-lib)) +release: $(RELEASE_BASENAME).zip + +$(RELEASE_BASENAME):: +# lwIP + git --git-dir=lwip/.git archive --prefix=$@/lwip/ $(RELEASE_COMMIT) | tar xf - +# API doc + rm -rf rpp/doc/api/html + $(MAKE) -C rpp/doc/api + mkdir -p $@/rpp/doc/api/html + cp -rT rpp/doc/api/html $@/rpp/doc/api/html