libamxs  0.6.0
Data Model Synchronization C API
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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)/amxs
31  $(INSTALL) -D -p -m 0644 include/amxs/*.h $(DEST)$(INCLUDEDIR)/amxs/
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)/amxs
38  $(INSTALL) -D -p -m 0644 include/amxs/*.h $(PKGDIR)$(INCLUDEDIR)/amxs/
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  mkdir -p output/doc
49  VERSION=$(VERSION) doxygen doc/libamxs.doxy
50 
51 
52 test:
53  $(MAKE) -C test run
54  $(MAKE) -C test coverage
55 
56 .PHONY: all clean changelog install package doc test