Created
February 21, 2012 19:05
-
-
Save pamelafox/1878199 to your computer and use it in GitHub Desktop.
Phonegap/App Engine Makefile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Javascript/CSS Compressor Makefile - By Benjamin "balupton" Lupton (MIT Licenced) | |
| MAKEFLAGS = --no-print-directory --always-make | |
| MAKE = make $(MAKEFLAGS) | |
| BUILDDIR = ./.build | |
| CLOSUREURL = http://closure-compiler.googlecode.com/files/compiler-latest.zip | |
| CLOSUREDIR = $(BUILDDIR)/closure | |
| CLOSUREFILE = $(CLOSUREDIR)/compiler.jar | |
| YUIURL = http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.6.zip | |
| YUIDIR = $(BUILDDIR)/yui | |
| YUIFILE = $(YUIDIR)/yuicompressor-2.4.6/build/yuicompressor-2.4.6.jar | |
| JSHINTURL = https://github.com/jshint/jshint/zipball/master | |
| JSHINTDIR = $(BUILDDIR)/jshint | |
| GAEDIR = /usr/local/bin/ | |
| STATICDIR = ./application/static | |
| ANDROIDDIR = ./android/assets/www | |
| IPHONEDIR = ./iphone/everyday/www | |
| BLOGDIR = ./learningblog | |
| downloadtools: | |
| rm -Rf $(BUILDDIR); | |
| mkdir $(BUILDDIR) $(CLOSUREDIR) $(YUIDIR) $(JSHINTDIR); | |
| cd $(CLOSUREDIR); curl -L $(CLOSUREURL) > file.zip; tar -xf file.zip; | |
| cd $(YUIDIR); curl -L $(YUIURL) > file.zip; tar -xf file.zip; | |
| cd $(JSHINTDIR); curl -L $(JSHINTURL) > file.zip; tar -xf file.zip; cp -R jshint-*/* .; rm -rf jshint-*/; | |
| pystyle: | |
| pep8 . --filename=*.py | |
| pep8 ./application/*.py | |
| compass: | |
| cd ./application; compass watch; | |
| jscss-clean: | |
| rm -f $(STATICDIR)/js/libs.js \ | |
| $(STATICDIR)/js/libs-min.js \ | |
| $(STATICDIR)/js/all-web.js \ | |
| $(STATICDIR)/js/all-web-min.js \ | |
| $(STATICDIR)/css/all-web.css \ | |
| $(STATICDIR)/css/all-web-min.css \ | |
| $(STATICDIR)/css/all-phonegap-min* \ | |
| $(STATICDIR)/js/all-phonegap* \ | |
| $(STATICDIR)/js/all-phonegap-min* \ | |
| $(STATICDIR)/js/phonegap-fb-android.js \ | |
| $(STATICDIR)/js/phonegap-fb-ios.js \ | |
| $(STATICDIR)/css/all-blog* \ | |
| $(STATICDIR)/css/all-phonegap* \ | |
| $(ANDROIDDIR)/js/all-phonegap-min* \ | |
| $(ANDROIDDIR)/css/all-phonegap* \ | |
| $(IPHONEDIR)/css/all-phonegap-min* \ | |
| $(IPHONEDIR)/js/all-phonegap-min*; | |
| jscss-jshint: | |
| find $(STATICDIR)/js -maxdepth 1 -name "*.js" -exec $(JSHINTDIR)/env/jsc.sh {} \; | |
| jscss-cat: | |
| cat \ | |
| $(STATICDIR)/js/libs/jsrender.js \ | |
| $(STATICDIR)/js/libs/jquery.calendrical.js \ | |
| $(STATICDIR)/js/libs/jquery.autosuggest.js \ | |
| $(STATICDIR)/js/libs/colorslider.js \ | |
| $(STATICDIR)/js/libs/jquery.tablesorter.js \ | |
| $(STATICDIR)/js/libs/jquery.sparkline.js \ | |
| $(STATICDIR)/js/libs/jquery.fancybox.js \ | |
| $(STATICDIR)/js/libs/jquery.dateinput.js \ | |
| $(STATICDIR)/js/libs/timeago.js \ | |
| $(STATICDIR)/js/libs/bootstrap.js \ | |
| $(STATICDIR)/js/libs/lscache.js \ | |
| $(STATICDIR)/js/libs/personalize.js \ | |
| $(STATICDIR)/js/libs/useragent.js \ | |
| $(STATICDIR)/js/libs/stacktrace.js \ | |
| $(STATICDIR)/js/libs/highcharts.js \ | |
| $(STATICDIR)/js/libs/date.format.js \ | |
| $(STATICDIR)/js/libs/throttle.js \ | |
| > $(STATICDIR)/js/libs.js; | |
| cat \ | |
| $(STATICDIR)/js/util.js \ | |
| $(STATICDIR)/js/data.js \ | |
| $(STATICDIR)/js/models.js \ | |
| $(STATICDIR)/js/shared.js \ | |
| $(STATICDIR)/js/web.js \ | |
| > $(STATICDIR)/js/all-web.js; | |
| cat \ | |
| $(STATICDIR)/css/normalize.css \ | |
| $(STATICDIR)/css/autosuggest.css \ | |
| $(STATICDIR)/css/calendrical.css \ | |
| $(STATICDIR)/css/colorslider.css \ | |
| $(STATICDIR)/css/tablesorter.css \ | |
| $(STATICDIR)/css/dateinput.css \ | |
| $(STATICDIR)/css/tagfield.css \ | |
| $(STATICDIR)/css/fancybox.css \ | |
| $(STATICDIR)/css/bootstrap.css \ | |
| $(STATICDIR)/css/bootstrap-responsive.css \ | |
| $(STATICDIR)/css/web.css \ | |
| > $(STATICDIR)/css/all-web.css; | |
| jscss-compress: | |
| java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/libs-min.js --js=$(STATICDIR)/js/libs.js; | |
| java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/all-web-min.js --js=$(STATICDIR)/js/all-web.js; | |
| java -jar $(YUIFILE) $(STATICDIR)/css/all-web.css -o $(STATICDIR)/css/all-web-min.css; | |
| mobile-jscss-cat: | |
| cat \ | |
| $(STATICDIR)/js/util.js \ | |
| $(STATICDIR)/js/data.js \ | |
| $(STATICDIR)/js/models.js \ | |
| $(STATICDIR)/js/shared.js \ | |
| $(STATICDIR)/js/mobile.js \ | |
| $(STATICDIR)/js/libs/date.format.js \ | |
| $(STATICDIR)/js/libs/jsrender.js \ | |
| $(STATICDIR)/js/libs/colorslider.js \ | |
| $(STATICDIR)/js/libs/bootstrap.datepicker.js \ | |
| $(STATICDIR)/js/libs/timeago.js \ | |
| $(STATICDIR)/js/libs/lscache.js \ | |
| $(STATICDIR)/js/libs/personalize.js \ | |
| > $(STATICDIR)/js/all-phonegap.js; | |
| cat \ | |
| $(STATICDIR)/js/libs/pg-plugin-fb-connect.js \ | |
| $(STATICDIR)/js/libs/facebook_js_sdk.js \ | |
| > $(STATICDIR)/js/phonegap-fb-ios.js; | |
| cat \ | |
| $(STATICDIR)/js/libs/facebook.js \ | |
| > $(STATICDIR)/js/phonegap-fb-android.js; | |
| cat \ | |
| $(STATICDIR)/css/colorslider.css \ | |
| $(STATICDIR)/css/dateinput.css \ | |
| $(STATICDIR)/css/bootstrap.css \ | |
| $(STATICDIR)/css/bootstrap-responsive.css \ | |
| $(STATICDIR)/css/phonegap.css \ | |
| > $(STATICDIR)/css/all-phonegap.css; | |
| mobile-jscss-compress: | |
| java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/all-phonegap-min.js --js=$(STATICDIR)/js/all-phonegap.js; | |
| java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/libs/zepto-min.js --js=$(STATICDIR)/js/libs/zepto.js; | |
| java -jar $(YUIFILE) $(STATICDIR)/css/all-phonegap.css -o $(STATICDIR)/css/all-phonegap-min.css; | |
| mobile-jscss-cachebust: | |
| mv $(STATICDIR)/js/all-phonegap-min.js $(STATICDIR)/js/all-phonegap-min-`date +%m%d%H%M`.js; | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.js/all-phonegap-min-`date +%m%d%H%M`\.js/" ./application/templates/phonegap/index.html; | |
| mv $(STATICDIR)/css/all-phonegap-min.css $(STATICDIR)/css/all-phonegap-min-`date +%m%d%H%M`.css; | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.css/all-phonegap-min-`date +%m%d%H%M`\.css/" ./application/templates/phonegap/index.html; | |
| jscss: | |
| $(MAKE) jscss-clean; | |
| $(MAKE) jscss-jshint; | |
| $(MAKE) jscss-cat; | |
| $(MAKE) jscss-compress; | |
| deploy-files: | |
| /usr/local/bin/appcfg.py update .; | |
| deploy-all: | |
| sh ./checkgit.sh deploy | |
| $(MAKE) jscss; | |
| sh ./checkgit.sh deploy; | |
| git tag -a v`date +%m%d%H%M` -m "Deployed to prod on $(shell date)"; | |
| git push origin master; | |
| $(MAKE) deploy-files; | |
| deploy-testversion: | |
| /usr/local/bin/appcfg.py update . --version=test; | |
| deploy-testapp: | |
| /usr/local/bin/appcfg.py update . --application=everyday-app-test [email protected] --no_cookies; | |
| deploy-androidversion: | |
| git tag -a Android-backend-`date +%m%d%H%M` -m "Deployed Android backend on $(shell date)"; | |
| /usr/local/bin/appcfg.py update . --version=android; | |
| deploy-iphoneversion: | |
| git tag -a iPhone-backend-`date +%m%d%H%M` -m "Deployed iPhone backend on $(shell date)"; | |
| /usr/local/bin/appcfg.py update . --version=iphone; | |
| android-jscss: | |
| $(MAKE) jscss-clean; | |
| $(MAKE) jscss-jshint; | |
| $(MAKE) mobile-jscss-cat; | |
| $(MAKE) mobile-jscss-compress; | |
| python android_index.py > $(ANDROIDDIR)/index.html | |
| cp $(STATICDIR)/js/all-phonegap-min.js $(ANDROIDDIR)/js/all-phonegap-min-`date +%m%d%H%M`.js; | |
| cp $(STATICDIR)/css/all-phonegap-min.css $(ANDROIDDIR)/css/all-phonegap-min-`date +%m%d%H%M`.css; | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.js/all-phonegap-min-`date +%m%d%H%M`\.js/" $(ANDROIDDIR)/index.html | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.css/all-phonegap-min-`date +%m%d%H%M`\.css/" $(ANDROIDDIR)/index.html; | |
| cp $(STATICDIR)/img/icon-* $(ANDROIDDIR)/css/images/.; | |
| cp $(STATICDIR)/js/all-phonegap-min* $(ANDROIDDIR)/js/.; | |
| cp $(STATICDIR)/css/all-phonegap-min* $(ANDROIDDIR)/css/.; | |
| cp $(STATICDIR)/js/phonegap-fb-android.js $(ANDROIDDIR)/js/libs/phonegap-fb.js; | |
| cp $(STATICDIR)/js/libs/zepto-min.js $(ANDROIDDIR)/js/libs/zepto-min.js; | |
| android-build: | |
| rm -f ./android/bin/everyday.io* | |
| cd android; ant debug; | |
| cd ../; | |
| adb -d install -r ./android/bin/everyday.io-debug.apk | |
| adb shell am start -n io.everyday.app/io.everyday.app.App | |
| android-all: | |
| $(MAKE) android-jscss; | |
| $(MAKE) android-build; | |
| android-release: | |
| python android_release.py; | |
| cd android; ant release; | |
| iphone-all: | |
| $(MAKE) jscss-clean; | |
| $(MAKE) jscss-jshint; | |
| $(MAKE) mobile-jscss-cat; | |
| $(MAKE) mobile-jscss-compress; | |
| python android_index.py > $(IPHONEDIR)/index.html | |
| cp $(STATICDIR)/js/all-phonegap-min.js $(IPHONEDIR)/js/all-phonegap-min-`date +%m%d%H%M`.js; | |
| cp $(STATICDIR)/css/all-phonegap-min.css $(IPHONEDIR)/css/all-phonegap-min-`date +%m%d%H%M`.css; | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.js/all-phonegap-min-`date +%m%d%H%M`\.js/" $(IPHONEDIR)/index.html | |
| sed -i '' "s/all-phonegap-min-[0-9]*\.css/all-phonegap-min-`date +%m%d%H%M`\.css/" $(IPHONEDIR)/index.html; | |
| cp $(STATICDIR)/img/icon-* $(IPHONEDIR)/css/images/.; | |
| cp $(STATICDIR)/js/all-phonegap-min* $(IPHONEDIR)/js/.; | |
| cp $(STATICDIR)/css/all-phonegap-min* $(IPHONEDIR)/css/.; | |
| cp $(STATICDIR)/js/phonegap-fb-ios.js $(IPHONEDIR)/js/libs/phonegap-fb.js; | |
| cp $(STATICDIR)/js/libs/zepto-min.js $(IPHONEDIR)/js/libs/zepto-min.js; | |
| iphone-release: | |
| python iphone_release.py; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment