File: Makefile

package info (click to toggle)
compiz-boxmenu 1.1.12-7
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 684 kB
  • sloc: ansic: 2,607; python: 1,349; makefile: 77; xml: 71; sh: 1
file content (101 lines) | stat: -rw-r--r-- 3,806 bytes parent folder | download | duplicates (2)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# PREFIX fixing
ifneq ("$(LOCALBASE)","")
	PREFIX=$(LOCALBASE)
else
	PREFIX?=/usr
endif

PKG_CONFIG ?= pkg-config

# checking for python
PYTHONBIN?=$(shell which python$(shell $(PKG_CONFIG) --modversion python-2.7 2> /dev/null))
PYTHONBIN?=$(shell which python2.6)
PYTHONBIN?=$(shell which python2)

ifeq ("$(PYTHONBIN)", "")
$(error Python not found. Version >= 2.7 or 2.6 is required.)
endif

# Set up compile flags
CPPFLAGS ?=
CPPFLAGS_CLIENT := $(CPPFLAGS) `$(PKG_CONFIG) --cflags dbus-glib-1`
CPPFLAGS += `$(PKG_CONFIG) --cflags dbus-glib-1 gdk-3.0 gtk+-3.0 libwnck-3.0`
WARNINGS := -Wall -Wextra -Wno-unused-parameter
ifneq ("$(DEBUG)","")
	CFLAGS ?= -O2 -g
else
	CFLAGS ?=
endif
CFLAGS += $(WARNINGS)
LDFLAGS ?=
LDFLAGS_CLIENT := $(LDFLAGS) -Wl,--as-needed `$(PKG_CONFIG) --libs dbus-glib-1`
LDFLAGS += -Wl,--as-needed `$(PKG_CONFIG) --libs dbus-glib-1 gdk-3.0 gtk+-3.0 libwnck-3.0`

VERSION=1.1.12

# Targets

all: deskmenu-glue.h compiz-boxmenu-daemon compiz-boxmenu compiz-boxmenu-dlist compiz-boxmenu-dplist compiz-boxmenu-vplist compiz-boxmenu-wlist compiz-boxmenu-editor

#has manpage
compiz-boxmenu:
	$(CC) -o $@ deskmenu.c $(LDFLAGS_CLIENT) $(CPPFLAGS_CLIENT) $(CFLAGS)  
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

#has manpage
compiz-boxmenu-dlist:
	$(CC) -o $@ deskmenu-documentlist-client.c $(LDFLAGS_CLIENT) $(CPPFLAGS_CLIENT) $(CFLAGS) 
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

#has manpage
compiz-boxmenu-vplist:
	$(CC) -o $@ deskmenu-vplist-client.c $(LDFLAGS_CLIENT) $(CPPFLAGS_CLIENT) $(CFLAGS)
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

#has manpage
compiz-boxmenu-dplist:
	$(CC) -o $@ deskmenu-dplist-client.c $(LDFLAGS_CLIENT) $(CPPFLAGS_CLIENT) $(CFLAGS) 
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

#has manpage
compiz-boxmenu-wlist:
	$(CC) -o $@ deskmenu-windowlist-client.c $(LDFLAGS_CLIENT) $(CPPFLAGS_CLIENT) $(CFLAGS)
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

#has manpage
compiz-boxmenu-daemon:
	$(CC) -o $@ deskmenu-menu.c deskmenu-wnck.c deskmenu-utils.c $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) 
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

compiz-boxmenu-editor:
	m4 -d -DLOOK_HERE=$(PREFIX)/share/cb-editor -DPYTHONBIN=$(PYTHONBIN) $@.in >$@
	m4 -DVERSION=$(VERSION) man/$@.1.in > man/$@.1

deskmenu-glue.h:
	dbus-binding-tool --mode=glib-server --prefix=deskmenu --output=$@ deskmenu-service.xml

install: all
	mkdir -p $(DESTDIR)$(PREFIX)/bin/
	mkdir -p $(DESTDIR)$(PREFIX)/share/icons
	mkdir -p $(DESTDIR)$(PREFIX)/share/applications
	mkdir -p $(DESTDIR)$(PREFIX)/share/cb-editor
	mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
	install -m755 compiz-boxmenu $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-dlist $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-dplist $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-vplist $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-wlist $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-daemon $(DESTDIR)$(PREFIX)/bin/
	install -m755 compiz-boxmenu-editor $(DESTDIR)$(PREFIX)/bin/
	install -m644 new-editor/* $(DESTDIR)$(PREFIX)/share/cb-editor
	cp -r hicolor $(DESTDIR)$(PREFIX)/share/icons
	mkdir -p $(DESTDIR)$(LOCALBASE)/etc/xdg/compiz/boxmenu/
	install -m644 menu.xml $(DESTDIR)$(LOCALBASE)/etc/xdg/compiz/boxmenu/
	install -m644 precache.ini $(DESTDIR)$(LOCALBASE)/etc/xdg/compiz/boxmenu/
	mkdir -p $(DESTDIR)$(PREFIX)/share/dbus-1/services/
	install -m644 org.compiz_fusion.boxmenu.service $(DESTDIR)$(PREFIX)/share/dbus-1/services/
	install -m644 man/*.1 $(DESTDIR)$(PREFIX)/share/man/man1
	install -m644 Compiz-Boxmenu-Editor.desktop $(DESTDIR)$(PREFIX)/share/applications

clean:
	rm -f compiz-boxmenu compiz-boxmenu-dlist compiz-boxmenu-vplist compiz-boxmenu-dplist compiz-boxmenu-wlist compiz-boxmenu-daemon deskmenu-glue.h compiz-boxmenu-editor man/*.1