summaryrefslogtreecommitdiff
path: root/Makefile
blob: 26b9a72f1c85fafa8ca2506a607ede0ab83be6c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#
# Makefile for the GraphLCD driver library, graphics library and tools
#

include Make.config

PROJECT = graphlcd-base
VERSION = 2.0.2
ARCHIVE = $(PROJECT)-$(VERSION)
PACKAGE = $(ARCHIVE)
TMPDIR = /tmp

UDEVRULE = 99-graphlcd-base.rules

### Targets:

all:
	@$(MAKE) -C glcdgraphics all
	@$(MAKE) -C glcddrivers all
	@$(MAKE) -C glcdskin all
	@$(MAKE) -C tools all

install:
	@$(MAKE) -C glcdgraphics install
	@$(MAKE) -C glcddrivers install
	@$(MAKE) -C glcdskin install
	@$(MAKE) -C tools install
# Checking for UDEVRULESDIR without DESTDIR (check if build system uses systemd)
ifneq ($(wildcard $(UDEVRULESDIR)/.),)
	install -d $(DESTDIR)$(UDEVRULESDIR)
	install -m 644 $(UDEVRULE) $(DESTDIR)$(UDEVRULESDIR)
endif
	install -d $(DESTDIR)$(SYSCONFDIR)
	cp -n graphlcd.conf $(DESTDIR)$(SYSCONFDIR)

uninstall:
	@$(MAKE) -C glcdgraphics uninstall
	@$(MAKE) -C glcddrivers uninstall
	@$(MAKE) -C glcdskin uninstall
	@$(MAKE) -C tools uninstall
	rm -f $(DESTDIR)$(UDEVRULESDIR)/$(UDEVRULE)

clean:
	@-rm -f *.tgz
	@$(MAKE) -C glcdgraphics clean
	@$(MAKE) -C glcddrivers clean
	@$(MAKE) -C glcdskin clean
	@$(MAKE) -C tools clean

dist: clean
	@-rm -rf $(TMPDIR)/$(ARCHIVE)
	@mkdir $(TMPDIR)/$(ARCHIVE)
	@cp -a * $(TMPDIR)/$(ARCHIVE)
	@tar czf $(PACKAGE).tgz --exclude .svn --exclude *.cbp --exclude *.layout -C $(TMPDIR) $(ARCHIVE)
	@-rm -rf $(TMPDIR)/$(ARCHIVE)
	@echo Distribution package created as $(PACKAGE).tgz