fix build for firefox 4.0.x series(xulrunner 2.0.x). just fix build issue. it doesn...
[firefox-gnome-globalmenu:cednas-firefox-gnome-globalmenu.git] / src / Makefile
1 CFLAGS?=-O2 -DMOZ_NO_MOZALLOC -Wall
2 LDFLAGS?=-Wl,-z,defs -Wl,-O1 -Wl,--as-needed
3 ZIPFLAGS?=-9
4
5 GLOBALMENU_CFLAGS:=$(shell pkg-config --cflags libxul gtk+-2.0) -I../public -fPIC
6 GLOBALMENU_LIBS:=$(shell pkg-config --libs libxul gtk+-2.0) -I../public
7 GLOBALMENU_IDLFLAGS:=-w -I$(shell pkg-config --variable=sdkdir libxul)/idl -I../public
8
9 XPIDL?=$(shell pkg-config --variable=sdkdir libxul)/bin/xpidl
10 ZIP?=zip
11
12 # "dist" target builds .xpi extension package.
13
14 # Main target: just build binary components
15 all: ../components/IGlobalMenu.xpt ../components/IGlobalMenuListener.xpt ../components/globalmenu.so
16
17 ../components/globalmenu.so: GlobalMenu.o GlobalMenuModule.o
18         $(CXX) $(LDFLAGS) -shared -o $@ $^ $(GLOBALMENU_LIBS)
19
20 %.o: %.cpp
21         $(CXX) $(GLOBALMENU_CFLAGS) $(CFLAGS) -o $@ -c $<
22
23 # Dependencies
24 GlobalMenu.o: GlobalMenu.cpp GlobalMenu.h ../public/IGlobalMenu.h ../public/IGlobalMenuListener.h
25 GlobalMenuModule.o: GlobalMenuModule.cpp GlobalMenu.h ../public/IGlobalMenu.h ../public/IGlobalMenuListener.h
26
27 ../public/%.h: ../public/%.idl
28         $(XPIDL) -m header $(GLOBALMENU_IDLFLAGS) -e $@ $<
29
30 ../components/%.xpt: ../public/%.idl
31         $(XPIDL) -m typelib $(GLOBALMENU_IDLFLAGS) -e $@ $<
32
33 dist: ../globalmenu.xpi
34         
35 ../globalmenu.xpi: ../install.rdf ../chrome.manifest ../components/IGlobalMenu.xpt ../components/IGlobalMenuListener.xpt ../components/globalmenu.so ../chrome/content/overlay.js ../chrome/content/overlay.xul
36         (cd .. && $(ZIP) $(ZIPFLAGS) $(@:../%=%) $(^:../%=%))
37
38 clean:
39         rm -f ../globalmenu.xpi
40         rm -f ../components/globalmenu.so ../components/*.xpt *.o
41
42 maintainer-clean: clean
43         rm -f ../public/IGlobalMenu.h ../public/IGlobalMenuListener.h
44
45 .PHONY: all dist clean maintainer-clean
46