]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blob - Makefile
d39196544ecb4b0c939accc6139d4c4d7c9f6b8e
[jenkicar/rpp-simulink.git] / Makefile
1
2 release4eaton:
3         $(MAKE) release RELEASE_TARGET=tms570_hydctr RELEASE_ATTR=eaton
4
5 release4us:
6         $(MAKE) release RELEASE_TARGET=tms570_rpp RELEASE_ATTR=
7
8 ifeq ($(or $(release_in_progress),$(MAKECMDGOALS)),release)
9 export release_in_progress = release
10
11 include rpp/lib/Makefile.var    # for rpp_lib_* variables
12 include rpp/lib/common.mk
13
14 RELEASE_TARGET = $(error Please set RELEASE_TARGET variable on command line)
15
16 include rpp/lib/build/$(RELEASE_TARGET)/Makefile.config
17
18 $(eval $(call release_rules,rpp-simulink))
19
20 TESTSW_LIB_COMMIT = git --git-dir=doc/test-sw/rpp-lib/.git rev-parse HEAD
21 SIMULINK_LIB_COMMIT = git --git-dir=rpp/lib/.git rev-parse HEAD
22
23 release: $(RELEASE_BASENAME).zip
24         if [ $$($(SIMULINK_LIB_COMMIT)) != $$($(TESTSW_LIB_COMMIT)) ]; then echo >&2 "Library version mismatch"; exit 1; fi
25         cp rpp/lib/$(shell make -C rpp/lib --silent print-release-basename).zip .
26         $(MAKE) -C doc/test-sw release
27         cp doc/test-sw/$(shell make -C doc/test-sw --silent print-release-basename).zip .
28         cp doc/rpp_simulink.pdf rpp_simulink-$(RELEASE_VERSION).pdf
29
30 RELEASE_LIB_GIT_FILES = \
31         common.mk \
32         Makefile.var \
33         build/$(RELEASE_TARGET)/$(TARGET_CCXML) \
34         build/$(RELEASE_TARGET)/$(TARGET_LDCMD) \
35         build/Makefile.rules \
36         build/Makefile.rules.arm \
37         os/$(rpp_lib_OS)/include/ \
38         rpp/include/
39
40 RELEASE_LIB_GEN_FILES = Makefile.config rpp-lib.lib
41
42 $(RELEASE_BASENAME):: LIB_RELEASE_BASENAME:=$(shell make -C rpp/lib --silent print-release-basename)
43 $(RELEASE_BASENAME):: release-lib
44 # Copy library headers and binaries
45         git --git-dir=rpp/lib/.git archive --worktree-attributes --prefix=$@/rpp/lib/ HEAD $(RELEASE_LIB_GIT_FILES) | tar xf -
46 ifneq ($(filter lwip/src/include,$(rpp_lib_INCLUDES)),)
47         git --git-dir=rpp/lib/lwip/.git archive --worktree-attributes --prefix=$@/rpp/lib/lwip/ HEAD src/include/ | tar xf -
48 endif
49         cp --parents  $(RELEASE_LIB_GEN_FILES:%=rpp/lib/%) $@/
50 # Compile and include the PDF documentation
51         $(MAKE) -C doc
52         mkdir -p $@/doc
53         cp doc/rpp_simulink.pdf $@/doc
54
55 release-lib:
56 # Compile the lib
57         $(MAKE) -C rpp/lib/build/$(RELEASE_TARGET)/Release
58 # Create release zip and directory. Note that this also setups ignored
59 # files, which is required for correct function of $(RELEASE_BASENAME)
60 # target.
61         $(MAKE) -C rpp/lib release
62
63 endif # release