X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=Makefile;h=e3758ab302fa2dd71cbffd2d5b535686622b7113;hb=1b863e43699c747739b02637e88c3abb999a77ec;hp=c1953a1fd4a2cf26d260e6975ee69bb01b0719c7;hpb=c2ea9468f2acff8a931fa7cd8780a9a5b3068be7;p=gc-dialer diff --git a/Makefile b/Makefile index c1953a1..e3758ab 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,15 @@ PROJECT_NAME=gc_dialer -SOURCE_PATH=./gc_dialer -SOURCE=$(SOURCE_PATH)/gc_dialer.py $(SOURCE_PATH)/gcbackend.py $(SOURCE_PATH)/browser_emu.py +PROJECT_VERSION=0.8.0 +SOURCE_PATH=src +SOURCE=$(SOURCE_PATH)/gc_dialer.py $(SOURCE_PATH)/evo_backend.py $(SOURCE_PATH)/gc_backend.py $(SOURCE_PATH)/browser_emu.py OBJ=$(SOURCE:.py=.pyc) +LINT_STATS_PATH=~/.pylint.d +LINT_STATS=$(foreach file, $(addsuffix 1.stats,$(subst /,.,$(basename $(SOURCE)))), $(LINT_STATS_PATH)/$(file) ) TEST_PATH=./tests TAG_FILE=~/.ctags/$(PROJECT_NAME).tags PYPACKAGE_FILE=./support/GrandcentralDialer.pypackager +DEB_METADATA=./support/DEBIAN +SDK_DISPLAY=:2 PLATFORM=desktop ifeq ($(PLATFORM),os2007) @@ -12,9 +17,11 @@ ifeq ($(PLATFORM),os2007) else LEGACY_GLADE=0 endif -PACKAGE_PATH=./pkg-$(PLATFORM) +PRE_PACKAGE_PATH=./pkg-$(PLATFORM) +PACKAGE_PATH=./deb-$(PLATFORM) BUILD_PATH=./build-$(PLATFORM) BUILD_BIN=$(BUILD_PATH)/gc_dialer.py +DEB_PACKAGE=$(PACKAGE_PATH)/$(PROJECT_NAME)-$(PROJECT_VERSION)_$(PLATFORM).deb DEBUGGER=winpdb UNIT_TEST=nosetests -w $(TEST_PATH) @@ -26,7 +33,7 @@ CTAGS=ctags-exuberant .PHONY: all run debug test lint tags build package clean -all: test tags package +all: test package run: $(SOURCE) cd $(SOURCE_PATH) ; ./gc_dialer.py @@ -37,61 +44,103 @@ debug: $(SOURCE) test: $(SOURCE) cd $(SOURCE_PATH) ; ./gc_dialer.py -t -lint: $(SOURCE_PATH) - $(foreach file, $(SOURCE_PATH), $(LINT) $(file) ; ) +xephyr: + Xephyr $(SDK_DISPLAY) -host-cursor -screen 800x480x16 -dpi 96 -ac + +sdk_start: + export DISPLAY=$(SDK_DISPLAY) + af-sb-ini.sh start + +sdk_stop: + af-sb-ini.sh stop + +lint: $(LINT_STATS) tags: $(TAG_FILE) -build: $(BUILD_BIN) +build: $(BUILD_PATH) + +package: $(DEB_PACKAGE) + +$(BUILD_PATH): $(BUILD_BIN) mkdir -p $(BUILD_PATH) cp $(SOURCE_PATH)/gc_dialer_256.png $(BUILD_PATH) cp $(SOURCE_PATH)/gc_dialer_64.png $(BUILD_PATH) cp $(SOURCE_PATH)/gc_dialer_26.png $(BUILD_PATH) - cp $(SOURCE_PATH)/gc.png $(BUILD_PATH) + cp $(SOURCE_PATH)/gc_contact.png $(BUILD_PATH) cp $(SOURCE_PATH)/gc_dialer.desktop $(BUILD_PATH) cp $(SOURCE_PATH)/gc_dialer.glade $(BUILD_PATH) -package: build - mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon - mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon - mkdir -p $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon - mkdir -p $(PACKAGE_PATH)/build/usr/share/applications/hildon - mkdir -p $(PACKAGE_PATH)/build/usr/local/lib - mkdir -p $(PACKAGE_PATH)/build/usr/local/bin +$(PRE_PACKAGE_PATH): $(BUILD_PATH) + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/share/applications/hildon + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/local/lib + mkdir -p $(PRE_PACKAGE_PATH)/build/usr/local/bin - cp $(BUILD_PATH)/gc_dialer_256.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png - cp $(BUILD_PATH)/gc_dialer_64.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png - cp $(BUILD_PATH)/gc_dialer_26.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png + cp $(BUILD_PATH)/gc_dialer_256.png $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc_dialer.png + cp $(BUILD_PATH)/gc_dialer_64.png $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/64x64/hildon/gc_dialer.png + cp $(BUILD_PATH)/gc_dialer_26.png $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/26x26/hildon/gc_dialer.png - cp $(BUILD_PATH)/gc.png $(PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc.png + cp $(BUILD_PATH)/gc_contact.png $(PRE_PACKAGE_PATH)/build/usr/share/icons/hicolor/scalable/hildon/gc_contact.png - cp $(BUILD_PATH)/gc_dialer.desktop $(PACKAGE_PATH)/build/usr/share/applications/hildon + cp $(BUILD_PATH)/gc_dialer.desktop $(PRE_PACKAGE_PATH)/build/usr/share/applications/hildon - cp $(BUILD_PATH)/gc_dialer.glade $(PACKAGE_PATH)/build/usr/local/lib - - cp $(BUILD_BIN) $(PACKAGE_PATH)/build/usr/local/bin + cp $(BUILD_PATH)/gc_dialer.glade $(PRE_PACKAGE_PATH)/build/usr/local/lib +ifneq ($(PLATFORM),desktop) + sed -i 's/^[ \t]*//;s/GtkWindow/HildonWindow/' $(PRE_PACKAGE_PATH)/build/usr/local/lib/gc_dialer.glade +endif + + cp $(BUILD_BIN) $(PRE_PACKAGE_PATH)/build/usr/local/bin + + cp $(PYPACKAGE_FILE) $(PRE_PACKAGE_PATH) + cp -R $(DEB_METADATA) $(PRE_PACKAGE_PATH)/build/ +ifeq ($(PLATFORM),desktop) + #sed -i 's/, python2.5-hildon//' $(PRE_PACKAGE_PATH)/build/DEBIAN/control +endif + sed -i 's/Version: 0.0.0/Version: $(PROJECT_VERSION)/' $(PRE_PACKAGE_PATH)/build/DEBIAN/control + #Autoguess install size + #du -hs pkg-desktop/build/ | sed 's/K *.*//' + sed -i 's/Installed-Size: 0/Installed-Size: 196/' $(PRE_PACKAGE_PATH)/build/DEBIAN/control + cp LICENSE $(PRE_PACKAGE_PATH)/build/DEBIAN/copyright - cp $(PYPACKAGE_FILE) $(PACKAGE_PATH) +$(DEB_PACKAGE): $(PRE_PACKAGE_PATH) + mkdir -p $(PACKAGE_PATH) + dpkg-deb -b $(PRE_PACKAGE_PATH)/build/ $(DEB_PACKAGE) clean: - rm -Rf $(PACKAGE_PATH) $(BUILD_PATH) + rm -Rf $(PRE_PACKAGE_PATH) $(PACKAGE_PATH) $(BUILD_PATH) + rm -Rf $(DEB_PACKAGE) rm -Rf $(OBJ) + rm -Rf $(LINT_STATS_PATH)/* $(BUILD_BIN): $(SOURCE) mkdir -p $(dir $(BUILD_BIN)) #Construct the program by cat-ing all the python files together - echo "#!/usr/bin/python2.5" > $(BUILD_BIN) - #echo "from __future__ import with_statement" >> $(PACKAGE_PATH)/usr/local/bin/gc_dialer.py - cat gc_dialer/gc_dialer.py gc_dialer/gcbackend.py gc_dialer/browser_emu.py | grep -e '^import ' | sort -u >> $(BUILD_BIN) - 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) + echo "#!/usr/bin/python" > $(BUILD_BIN) + #echo "from __future__ import with_statement" >> $(PRE_PACKAGE_PATH)/usr/local/bin/gc_dialer.py + cat $(SOURCE_PATH)/gc_dialer.py $(SOURCE_PATH)/evo_backend.py $(SOURCE_PATH)/gc_backend.py $(SOURCE_PATH)/browser_emu.py | grep -e '^import ' | sort -u >> $(BUILD_BIN) + cat $(SOURCE_PATH)/browser_emu.py $(SOURCE_PATH)/evo_backend.py $(SOURCE_PATH)/gc_backend.py $(SOURCE_PATH)/gc_dialer.py | grep -v 'browser_emu' | grep -v 'gc_backend' | grep -v "evo_backend"| grep -v "#!" >> $(BUILD_BIN) chmod 755 $(BUILD_BIN) $(TAG_FILE): $(SOURCE) mkdir -p $(dir $(TAG_FILE)) $(CTAGS) -o $(TAG_FILE) $(SOURCE) +%1.stats: $(SOURCE) + @ #DESIRED DEPENDENCY: $(subst .,/,$(notdir $*)).py + @ #DESIRED COMMAND: $(LINT) $< + @ $(LINT) $(subst .,/,$(notdir $*)).py + @# echo $* + @# echo $? + +#Makefile Debugging +#Target to print any variable, can be added to the dependencies of any other target +#Userfule flags for make, -d, -p, -n +print-%: ; @$(error $* is $($*) ($(value $*)) (from $(origin $*)))