Forgot the makefile changes
[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 DEBUGGER=winpdb
20 UNIT_TEST=nosetests -w $(TEST_PATH)
21 STYLE_TEST=../../Python/tools/pep8.py --ignore=W191
22 LINT=pylint --rcfile=./support/pylint.rc
23 COVERAGE_TEST=figleaf
24 PROFILER=pyprofiler
25 CTAGS=ctags-exuberant
26
27 .PHONY: all run debug test lint tags build package clean
28
29 all: test tags package
30
31 run: $(SOURCE)
32         cd $(SOURCE_PATH) ; ./gc_dialer.py
33
34 debug: $(SOURCE)
35         cd $(SOURCE_PATH) ; $(DEBUGGER) ./gc_dialer.py
36
37 test: $(SOURCE)
38         cd $(SOURCE_PATH) ; ./gc_dialer.py -t
39
40 lint: $(SOURCE_PATH)
41         $(foreach file, $(SOURCE_PATH), $(LINT) $(file) ; )
42
43 tags: $(TAG_FILE) 
44
45 build: $(BUILD_BIN)
46         mkdir -p $(BUILD_PATH)
47
48         cp $(SOURCE_PATH)/gc_dialer_256.png $(BUILD_PATH)
49         cp $(SOURCE_PATH)/gc_dialer_64.png $(BUILD_PATH)
50         cp $(SOURCE_PATH)/gc_dialer_26.png $(BUILD_PATH)
51
52         cp $(SOURCE_PATH)/gc.png $(BUILD_PATH)
53
54         cp $(SOURCE_PATH)/gc_dialer.desktop $(BUILD_PATH)
55
56         cp $(SOURCE_PATH)/gc_dialer.glade $(BUILD_PATH)
57
58 package: build
59         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon
60         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon
61         mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon
62         mkdir -p $(PACKAGE_PATH)/build/usr/share/applications/hildon
63         mkdir -p $(PACKAGE_PATH)/build/usr/local/lib
64         mkdir -p $(PACKAGE_PATH)/build/usr/local/bin
65
66         cp $(BUILD_PATH)/gc_dialer_256.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png
67         cp $(BUILD_PATH)/gc_dialer_64.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png
68         cp $(BUILD_PATH)/gc_dialer_26.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png
69
70         cp $(BUILD_PATH)/gc.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc.png
71
72         cp $(BUILD_PATH)/gc_dialer.desktop $(PACKAGE_PATH)/build/usr/share/applications/hildon
73
74         cp $(BUILD_PATH)/gc_dialer.glade $(PACKAGE_PATH)/build/usr/local/lib
75         
76         cp $(BUILD_BIN) $(PACKAGE_PATH)/build/usr/local/bin
77
78         cp $(PYPACKAGE_FILE) $(PACKAGE_PATH)
79
80 clean:
81         rm -Rf $(PACKAGE_PATH) $(BUILD_PATH)
82         rm -Rf $(OBJ)
83
84 $(BUILD_BIN): $(SOURCE)
85         mkdir -p $(dir $(BUILD_BIN))
86
87         #Construct the program by cat-ing all the python files together
88         echo "#!/usr/bin/python2.5" > $(BUILD_BIN)
89         #echo "from __future__ import with_statement" >> $(PACKAGE_PATH)/usr/local/bin/gc_dialer.py
90         cat gc_dialer/gc_dialer.py gc_dialer/gcbackend.py gc_dialer/browser_emu.py | grep -e '^import ' | sort -u >> $(BUILD_BIN)
91         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)
92         chmod 755 $(BUILD_BIN)
93
94 $(TAG_FILE): $(SOURCE)
95         mkdir -p $(dir $(TAG_FILE))
96         $(CTAGS) -o $(TAG_FILE) $(SOURCE)
97