libamxrt  0.4.2
Ambiorix Run Time Library
makefile
Go to the documentation of this file.
1 include makefile.inc
2 
3 NOW = $(shell date +"%Y-%m-%d(%H:%M:%S %z)")
4 
5 # Extra destination directories
6 PKGDIR = ./output/$(MACHINE)/pkg/
7 
8 define create_changelog
9  @$(ECHO) "Update changelog"
10  mv CHANGELOG.md CHANGELOG.md.bak
11  head -n 9 CHANGELOG.md.bak > CHANGELOG.md
12  $(ECHO) "" >> CHANGELOG.md
13  $(ECHO) "## Release $(VERSION) - $(NOW)" >> CHANGELOG.md
14  $(ECHO) "" >> CHANGELOG.md
15  $(GIT) log --pretty=format:"- %s" $$($(GIT) describe --tags | grep -v "merge" | cut -d'-' -f1)..HEAD >> CHANGELOG.md
16  $(ECHO) "" >> CHANGELOG.md
17  tail -n +10 CHANGELOG.md.bak >> CHANGELOG.md
18  rm CHANGELOG.md.bak
19 endef
20 
21 # targets
22 all:
23  $(MAKE) -C src all
24 
25 clean:
26  $(MAKE) -C src clean
27  $(MAKE) -C test clean
28 
29 install: all
30  $(INSTALL) -d -m 0755 $(DEST)/$(INCLUDEDIR)/amxrt
31  $(INSTALL) -D -p -m 0644 include/amxrt/*.h $(DEST)$(INCLUDEDIR)/amxrt/
32  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION)
33  ln -sfr $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VMAJOR)
34  ln -sfr $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so
35 
36 package: all
37  $(INSTALL) -d -m 0755 $(PKGDIR)/$(INCLUDEDIR)/amxrt
38  $(INSTALL) -D -p -m 0644 include/amxrt/*.h $(PKGDIR)$(INCLUDEDIR)/amxrt/
39  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).so.$(VERSION) $(PKGDIR)$(LIBDIR)/$(COMPONENT).so.$(VERSION)
40  cd $(PKGDIR) && $(TAR) -czvf ../$(COMPONENT)-$(VERSION).tar.gz .
41  cp $(PKGDIR)../$(COMPONENT)-$(VERSION).tar.gz .
42  make -C packages
43 
44 changelog:
45  $(call create_changelog)
46 
47 doc:
48  $(MAKE) -C doc doc
49 
50 
51 test:
52  $(MAKE) -C test run
53  $(MAKE) -C test coverage
54 
55 .PHONY: all clean changelog install package doc test