summaryrefslogtreecommitdiff
path: root/Makefile
blob: 3fbc2759b5092109ba203b3e7ceb6716c85451a8 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
PREFIX?=/usr
SUCMD?=sudo
CFLAGS?=-O2 -Wall -ggdb3 -gstabs+
EXTRA_PACKAGE_ARGS=-us -uc

modules:=\
		beryl-core		\
		beryl-plugins	\
		beryl-settings	\
		beryl-manager	\
		emerald			\
		emerald-themes

cfgmodules:=$(patsubst %,%.cfg-stamp,$(modules))
buildmodules:=$(patsubst %,%.build-stamp,$(modules))
installmodules:=$(patsubst %,%.inst-stamp,$(modules))
cleanmodules:=$(patsubst %,%.clean-stamp,$(modules))
packagemodules:=$(patsubst %,%.package-stamp,$(modules))

all: update rebuild $(buildmodules)

beryl-plugins.cfg-stamp beryl-settings.cfg-stamp emerald.cfg-stamp: beryl-core.inst-stamp

beryl: update rebuild beryl-core.build-stamp beryl-plugins.build-stamp

rebuild:
	rm -f *.build-stamp

usrlocalcheck:
	for i in beryl beryl-xgl beryl-settings beryl-manager \
            beryl-settings-dump \
            emerald emerald-theme-manager; do \
	if [ -f /usr/local/bin/$$i ]; then \
	    echo "Found probably old $$i in /usr/local/bin/$$i"; \
            echo "   you should remove that, if you don't know exactly why it is there"; \
	fi; \
	done;

update:
	svn up

packages: $(packagemodules)

%.package-stamp: %.cfg-stamp
	sh -c 'cd $*; dpkg-buildpackage -rfakeroot $(EXTRA_PACKAGE_ARGS)'
	$(SUCMD) dpkg -i *.deb
	touch $@
	touch $*.inst-stamp

%.clean-stamp:
	make -C $* clean || /bin/true
	rm -f $*.cfg-stamp
	rm -f $*.build-stamp
	rm -f $*.inst-stamp
	rm -f $*.package-stamp

%.build-stamp: %.cfg-stamp
	rm -f $*.inst-stamp
	make -C $*
	touch $@

%.inst-stamp: %.build-stamp
	$(SUCMD) make -C $* install
	touch $@

%.cfg-stamp:
	sh -c 'cd $*;./autogen.sh --prefix=$(PREFIX) CFLAGS="$(CFLAGS)"'
	rm -f $*.build-stamp
	rm -f $*.inst-stamp
	touch $@

configure: $(cfgmodules)

configure-beryl: beryl-core.cfg-stamp beryl-plugins.cfg-stamp

install: $(installmodules)

clean: $(cleanmodules)

distclean: clean
	rm -f *.changes *.deb *.tar.gz *.dsc

cfg-clean:
	rm -f *.cfg-stamp