libamxc  1.10.3
C Generic Data Containers
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)/amxc
31  $(INSTALL) -D -p -m 0644 include/amxc/*.h $(DEST)$(INCLUDEDIR)/amxc/
32  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).a $(DEST)$(LIBDIR)/$(COMPONENT).a
33  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION)
34  ln -sfr $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VMAJOR)
35  ln -sfr $(DEST)$(LIBDIR)/$(COMPONENT).so.$(VERSION) $(DEST)$(LIBDIR)/$(COMPONENT).so
36 
37 package: all
38  $(INSTALL) -d -m 0755 $(PKGDIR)/$(INCLUDEDIR)/amxc
39  $(INSTALL) -D -p -m 0644 include/amxc/*.h $(PKGDIR)$(INCLUDEDIR)/amxc/
40  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).a $(PKGDIR)$(LIBDIR)/$(COMPONENT).a
41  $(INSTALL) -D -p -m 0644 output/$(MACHINE)/$(COMPONENT).so.$(VERSION) $(PKGDIR)$(LIBDIR)/$(COMPONENT).so.$(VERSION)
42  cd $(PKGDIR) && $(TAR) -czvf ../$(COMPONENT)-$(VERSION).tar.gz .
43  cp $(PKGDIR)../$(COMPONENT)-$(VERSION).tar.gz .
44  make -C packages
45 
46 changelog:
47  $(call create_changelog)
48 
49 doc:
50  mkdir -p output/doc
51  VERSION=$(VERSION) doxygen doc/libamxc.doxy
52 
53 
54 test:
55  $(MAKE) -C test run
56  $(MAKE) -C test coverage
57 
58 .PHONY: all clean changelog install package doc test