X-Git-Url: http://rtime.felk.cvut.cz/gitweb/pes-rpp/rpp-lib.git/blobdiff_plain/c99a7e41ef90450753b4bcc19028efbb9b4e87dd..e2de98fb408f44c31238c2ef95dbac5cc036de86:/Makefile diff --git a/Makefile b/Makefile index 7d0ea51..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,5 +40,34 @@ doc: # Build API documentation (Doxygen) # parallel. .NOTPARALLEL: -subdir-% subdir-apps/%: +subdir-build/%: print-targets $(MAKE) -C $(@:subdir-%=%) $(MAKECMDGOALS) + + +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 +) +endef + +# Usage: Run 'make uncrustify' and then 'git add -p' to commit the +# changes you agree with. +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