Update Changelog
[browser-switch] / config-ui / Makefile
1 CC = gcc
2 CFLAGS = -Wall -Os $(EXTRA_CFLAGS)
3 CFLAGS_PLUGIN = -fPIC
4 CPPFLAGS = -I../ `pkg-config --cflags gtk+-2.0` $(EXTRA_CPPFLAGS)
5 CPPFLAGS_HILDON = -DHILDON `pkg-config --cflags hildon-1`
6 CPPFLAGS_PLUGIN = $(CPPFLAGS_HILDON) -DHILDON_CP_APPLET \
7         `pkg-config --cflags libosso` `pkg-config --cflags hildon-control-panel`
8 LDFLAGS = -Wl,--as-needed `pkg-config --libs gtk+-2.0` $(EXTRA_LDFLAGS)
9 LDFLAGS_HILDON = `pkg-config --libs hildon-1`
10 LDFLAGS_PLUGIN = -shared $(LDFLAGS_HILDON) \
11         `pkg-config --libs libosso` `pkg-config --libs hildon-control-panel`
12 PREFIX = /usr
13
14 other_obj = ../configfile.o
15
16 APP = browser-switchboard-cp
17 app_obj = $(APP).app.o $(other_obj)
18 HILDON_APP = $(APP)-hildon
19 happ_obj = $(APP).happ.o $(other_obj)
20 PLUGIN = lib$(APP).so
21 plugin_obj = $(APP).plugin.o ../configfile.plugin.o
22
23 all:
24         @echo 'Usage:'
25         @echo '    make app -- build standalone GTK+ application'
26         @echo '    make diablo-hildon-app -- build standalone Diablo Hildon application'
27         @echo '    make diablo-plugin -- build Diablo hildon-control-panel plugin'
28         @echo '    make fremantle-hildon-app -- build standalone Fremantle Hildon application'
29         @echo '    make fremantle-plugin -- build Fremantle hildon-control-panel plugin'
30 app: $(APP)
31 diablo-hildon-app: $(HILDON_APP)
32 diablo-plugin: $(PLUGIN)
33 fremantle-hildon-app:
34         @$(MAKE) EXTRA_CPPFLAGS='-DFREMANTLE $(EXTRA_CPPFLAGS)' $(HILDON_APP)
35 fremantle-plugin:
36         @$(MAKE) EXTRA_CPPFLAGS='-DFREMANTLE $(EXTRA_CPPFLAGS)' $(PLUGIN)
37
38 $(APP): $(app_obj)
39         $(CC) $(CFLAGS) -o $(APP) $(app_obj) $(LDFLAGS)
40
41 %.app.o: %.c
42         $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
43
44 $(HILDON_APP): $(happ_obj)
45         $(CC) $(CFLAGS) -o $(HILDON_APP) $(happ_obj) \
46                 $(LDFLAGS) $(LDFLAGS_HILDON)
47
48 %.happ.o: %.c
49         $(CC) $(CFLAGS) $(CPPFLAGS) $(CPPFLAGS_HILDON) -c -o $@ $<
50
51 $(PLUGIN): $(plugin_obj)
52         $(CC) $(CFLAGS) $(CFLAGS_PLUGIN) -o $(PLUGIN) $(plugin_obj) \
53                 $(LDFLAGS) $(LDFLAGS_PLUGIN)
54                 
55
56 %.plugin.o: %.c
57         $(CC) $(CFLAGS) $(CFLAGS_PLUGIN) $(CPPFLAGS) $(CPPFLAGS_PLUGIN) \
58                 -c -o $@ $<
59
60 strip: strip-plugin
61 strip-plugin: $(PLUGIN)
62         strip $(PLUGIN)
63
64 install: install-plugin
65 install-plugin: $(PLUGIN)
66         mkdir -p $(DESTDIR)$(PREFIX)/lib/hildon-control-panel
67         mkdir -p $(DESTDIR)$(PREFIX)/share/applications/hildon-control-panel
68         install -c -m 0755 $(PLUGIN) $(DESTDIR)$(PREFIX)/lib/hildon-control-panel
69         install -c -m 0644 $(APP).desktop $(DESTDIR)$(PREFIX)/share/applications/hildon-control-panel
70
71 clean:
72         rm -f $(APP) $(HILDON_APP) $(PLUGIN) $(app_obj) $(happ_obj) $(plugin_obj)
73
74 .PHONY: strip strip-plugin install install-plugin app diablo-hildon-app diablo-plugin fremantle-hildon-app fremantle-plugin