669db402b2457e7e251ddd358537516f44bee609
[gc-dialer] / Makefile
1 PROJECT_NAME=gc_dialer
2 SOURCE_PATH=./gc_dialer
3 SOURCE=$(SOURCE_PATH)/gc_dialer.py $(SOURCE_PATH)/gcbackend.py $(SOURCE_PATH)/browser_emu.py
4 OBJ=$(SOURCE:.py=.pyc)
5 TEST_PATH=./tests
6 TAG_FILE=~/.ctags/$(PROJECT_NAME).tags
7 PYPACKAGE_FILE=./support/GrandcentralDialer.pypackager
8
9 PLATFORM=desktop
10 ifeq ($(PLATFORM),os2007)
11         LEGACY_GLADE=1
12 else
13         LEGACY_GLADE=0
14 endif
15 PACKAGE_PATH=./pkg-$(PLATFORM)
16 BUILD_PATH=./build-$(PLATFORM)
17 BUILD_BIN=$(BUILD_PATH)/gc_dialer.py
18
19 UNIT_TEST=nosetests -w $(TEST_PATH)
20 STYLE_TEST=../../Python/tools/pep8.py --ignore=W191
21 LINT=pylint --rcfile=./support/pylint.rc
22 COVERAGE_TEST=figleaf
23 PROFILER=pyprofiler
24 CTAGS=ctags-exuberant
25
26 .PHONY: all test lint tags build package clean
27
28 all: test tags package
29
30 test: $(SOURCE)
31         cd $(SOURCE_PATH) ; ./gc_dialer.py -t
32
33 lint: $(SOURCE_PATH)
34         $(foreach file, $(SOURCE_PATH), $(LINT) $(file) ; )
35
36 tags: $(TAG_FILE) 
37
38 build: $(BUILD_BIN)
39         mkdir -p $(BUILD_PATH)
40
41         cp $(SOURCE_PATH)/gc_dialer_256.png $(BUILD_PATH)
42         cp $(SOURCE_PATH)/gc_dialer_64.png $(BUILD_PATH)
43         cp $(SOURCE_PATH)/gc_dialer_26.png $(BUILD_PATH)
44
45         cp $(SOURCE_PATH)/gc_dialer.desktop $(BUILD_PATH)
46
47         cp $(SOURCE_PATH)/gc_dialer.glade $(BUILD_PATH)
48
49 package: build
50         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon
51         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon
52         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon
53         mkdir -p $(PACKAGE_PATH)/build/usr/share/applications/hildon
54         mkdir -p $(PACKAGE_PATH)/build/usr/local/lib
55         mkdir -p $(PACKAGE_PATH)/build/usr/local/bin
56
57         cp $(BUILD_PATH)/gc_dialer_256.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png
58         cp $(BUILD_PATH)/gc_dialer_64.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png
59         cp $(BUILD_PATH)/gc_dialer_26.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png
60
61         cp $(BUILD_PATH)/gc_dialer.desktop $(PACKAGE_PATH)/build/usr/share/applications/hildon
62
63         cp $(BUILD_PATH)/gc_dialer.glade $(PACKAGE_PATH)/build/usr/local/lib
64         
65         cp $(BUILD_BIN) $(PACKAGE_PATH)/build/usr/local/bin
66
67         cp $(PYPACKAGE_FILE) $(PACKAGE_PATH)
68
69 clean:
70         rm -Rf $(PACKAGE_PATH) $(BUILD_PATH)
71         rm -Rf $(OBJ)
72
73 $(BUILD_BIN): $(SOURCE)
74         mkdir -p $(dir $(BUILD_BIN))
75
76         #Construct the program by cat-ing all the python files together
77         echo "#!/usr/bin/python2.5" > $(BUILD_BIN)
78         #echo "from __future__ import with_statement" >> $(PACKAGE_PATH)/usr/local/bin/gc_dialer.py
79         cat gc_dialer/gc_dialer.py gc_dialer/gcbackend.py gc_dialer/browser_emu.py | grep -e '^import ' | sort -u >> $(BUILD_BIN)
80         cat gc_dialer/browser_emu.py gc_dialer/gcbackend.py gc_dialer/gc_dialer.py | grep -v 'browser_emu' | grep -v 'gcbackend' | grep -v "#!" >> $(BUILD_BIN)
81         chmod 755 $(BUILD_BIN)
82
83 $(TAG_FILE): $(SOURCE)
84         mkdir -p $(dir $(TAG_FILE))
85         $(CTAGS) -o $(TAG_FILE) $(SOURCE)
86