2013-06-10 07:49:20 +04:00
|
|
|
#**********************************************************************
|
2013-06-05 01:38:02 +04:00
|
|
|
# TODO: build to a BUILD_DIR...
|
|
|
|
|
# TODO: build all target platforms...
|
|
|
|
|
# - Windows (AppJS)
|
|
|
|
|
# - MacOSX (AppJS)
|
|
|
|
|
# - Windows8 (native?) XXX
|
|
|
|
|
# - PhoneGap-remote
|
|
|
|
|
# push and api call to fetch and rebuild
|
|
|
|
|
# - PhoneGap-local XXX
|
2013-06-08 15:58:40 +04:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
APP_NAME=ImageGrid.Viewer
|
|
|
|
|
|
2013-06-05 00:42:41 +04:00
|
|
|
|
2013-06-05 01:19:19 +04:00
|
|
|
# process LESS files to CSS...
|
2013-06-04 19:24:18 +04:00
|
|
|
%.css: %.less
|
|
|
|
|
lessc $< > $@
|
2013-06-04 16:29:20 +04:00
|
|
|
|
2013-06-05 01:19:19 +04:00
|
|
|
# minify js...
|
|
|
|
|
%.min.js: %.js
|
|
|
|
|
uglifyjs $< -c -o $@
|
|
|
|
|
|
|
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
#**********************************************************************
|
|
|
|
|
|
2013-06-05 00:42:41 +04:00
|
|
|
# get all the .less files to process...
|
2013-06-04 19:24:18 +04:00
|
|
|
CSS_FILES := $(patsubst %.less,%.css,$(wildcard *.less))
|
|
|
|
|
|
2013-06-08 14:04:58 +04:00
|
|
|
LIB_DIR=lib
|
|
|
|
|
EXT_LIB_DIR=ext-lib
|
|
|
|
|
NW_PROJECT_FILE=package.json
|
|
|
|
|
JS_FILES := $(wildcard *.js)
|
|
|
|
|
HTML_FILES := $(wildcard *.html)
|
|
|
|
|
|
2013-06-05 01:33:02 +04:00
|
|
|
# get files to minify...
|
2013-06-08 14:04:58 +04:00
|
|
|
JS_MIN_FILES := $(patsubst %.js,%.min.js,$(wildcard *.js))
|
2013-06-05 01:19:19 +04:00
|
|
|
|
2013-06-05 15:08:38 +04:00
|
|
|
LOGS := *.log
|
|
|
|
|
|
2013-06-21 17:47:44 +04:00
|
|
|
NODE_DIR=node_modules
|
2013-06-08 14:04:58 +04:00
|
|
|
BUILD_DIR=build
|
2013-06-10 07:49:20 +04:00
|
|
|
WIN_BUILD_DIR=build/Win32
|
|
|
|
|
MAC_BUILD_DIR=build/MacOSX
|
2013-10-10 16:31:14 +04:00
|
|
|
LINUX_IA32_BUILD_DIR=build/Linux-ia32
|
|
|
|
|
LINUX_X64_BUILD_DIR=build/Linux-x64
|
2013-06-10 07:49:20 +04:00
|
|
|
ANDROID_BUILD_DIR=build/Android
|
|
|
|
|
IOS_BUILD_DIR=build/iOS
|
2013-06-05 01:19:19 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
DIST_DIR=dist
|
2013-06-05 01:38:02 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
# XXX add version
|
|
|
|
|
WIN_DIST_ZIP=$(DIST_DIR)/$(APP_NAME)-win32.zip
|
2013-09-21 14:19:58 +04:00
|
|
|
MAC_DIST_ZIP=$(DIST_DIR)/$(APP_NAME)-osx.zip
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
APP_ZIP=$(BUILD_DIR)/app.zip
|
2013-06-05 01:33:02 +04:00
|
|
|
|
2013-06-05 01:38:02 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
#**********************************************************************
|
|
|
|
|
|
|
|
|
|
all: dev
|
|
|
|
|
|
2013-06-05 01:19:19 +04:00
|
|
|
|
2013-06-08 14:04:58 +04:00
|
|
|
minify: $(JS_MIN_FILES)
|
|
|
|
|
|
|
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
#**********************************************************************
|
2013-06-08 14:04:58 +04:00
|
|
|
# build dependencies...
|
2013-06-10 07:49:20 +04:00
|
|
|
# XXX can make auto-create directories???
|
2013-06-08 14:04:58 +04:00
|
|
|
|
2013-06-21 17:47:44 +04:00
|
|
|
$(NODE_DIR):
|
|
|
|
|
mkdir -p $(NODE_DIR)
|
2013-06-10 07:49:20 +04:00
|
|
|
$(BUILD_DIR):
|
2013-06-08 14:04:58 +04:00
|
|
|
mkdir -p $(BUILD_DIR)
|
2013-06-10 07:49:20 +04:00
|
|
|
$(WIN_BUILD_DIR):
|
|
|
|
|
mkdir -p $(WIN_BUILD_DIR)
|
|
|
|
|
$(MAC_BUILD_DIR):
|
|
|
|
|
mkdir -p $(MAC_BUILD_DIR)
|
2013-10-10 16:31:14 +04:00
|
|
|
$(LINUX_IA32_BUILD_DIR):
|
|
|
|
|
mkdir -p $(LINUX_IA32_BUILD_DIR)
|
|
|
|
|
$(LINUX_X64_BUILD_DIR):
|
|
|
|
|
mkdir -p $(LINUX_X64_BUILD_DIR)
|
2013-06-10 07:49:20 +04:00
|
|
|
$(ANDROID_BUILD_DIR):
|
|
|
|
|
mkdir -p $(ANDROID_BUILD_DIR)
|
|
|
|
|
$(IOS_BUILD_DIR):
|
|
|
|
|
mkdir -p $(IOS_BUILD_DIR)
|
|
|
|
|
|
|
|
|
|
$(DIST_DIR):
|
|
|
|
|
mkdir -p $(DIST_DIR)
|
|
|
|
|
|
|
|
|
|
|
2013-06-21 17:47:44 +04:00
|
|
|
$(APP_ZIP): $(CSS_FILES) $(BUILD_DIR) $(NODE_DIR) node-deps
|
|
|
|
|
zip -r $(APP_ZIP) $(NW_PROJECT_FILE) $(JS_FILES) $(CSS_FILES) $(HTML_FILES) $(LIB_DIR) $(EXT_LIB_DIR) $(NODE_DIR)
|
2013-06-08 14:04:58 +04:00
|
|
|
|
2013-07-03 07:22:43 +04:00
|
|
|
zip: $(APP_ZIP)
|
|
|
|
|
|
2013-06-04 16:29:20 +04:00
|
|
|
|
2013-06-05 01:38:02 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
#**********************************************************************
|
2013-06-08 15:57:04 +04:00
|
|
|
# dev env...
|
|
|
|
|
|
2013-06-21 17:47:44 +04:00
|
|
|
node-deps:
|
|
|
|
|
npm install fs.extra
|
2013-07-14 21:46:55 +04:00
|
|
|
# npm install exif
|
2013-06-21 17:47:44 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
dev: $(CSS_FILES)
|
2013-06-08 15:57:04 +04:00
|
|
|
unzip -uj $(wildcard targets/node-webkit/node-webkit-*-win-ia32.zip) -d .
|
2013-10-04 01:02:08 +04:00
|
|
|
rm -f nwsnapshot.exe credits.html
|
2013-06-08 15:57:04 +04:00
|
|
|
chmod +x *.{exe,dll}
|
|
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
#dev-targets:
|
|
|
|
|
# mkdir -p targets/node-webkit
|
|
|
|
|
# wget
|
2013-06-08 18:28:10 +04:00
|
|
|
|
2013-06-08 15:57:04 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
#**********************************************************************
|
2013-06-05 01:38:02 +04:00
|
|
|
# build targets...
|
|
|
|
|
|
2013-06-08 14:04:58 +04:00
|
|
|
# node-webkit win32
|
2013-06-10 07:49:20 +04:00
|
|
|
win32: $(APP_ZIP) $(WIN_BUILD_DIR)
|
|
|
|
|
unzip -uj $(wildcard targets/node-webkit/node-webkit-*-win-ia32.zip) -d $(WIN_BUILD_DIR)
|
|
|
|
|
cat $(APP_ZIP) >> $(WIN_BUILD_DIR)/nw.exe
|
|
|
|
|
mv $(WIN_BUILD_DIR)/nw.exe $(WIN_BUILD_DIR)/$(APP_NAME).exe
|
|
|
|
|
chmod +x $(WIN_BUILD_DIR)/*.{exe,dll}
|
2013-07-15 15:39:43 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
win32-dist: win32 $(DIST_DIR)
|
2013-07-15 15:39:43 +04:00
|
|
|
# XXX include vips...
|
|
|
|
|
# XXX build and include gid, buldcache...
|
|
|
|
|
# XXX include scripts/utils...
|
2013-09-21 23:22:36 +04:00
|
|
|
zip -r $(WIN_DIST_ZIP) $(WIN_BUILD_DIR)
|
2013-06-05 01:38:02 +04:00
|
|
|
|
|
|
|
|
|
2013-10-10 16:31:14 +04:00
|
|
|
|
|
|
|
|
# node-webkit mac
|
2013-10-04 01:02:08 +04:00
|
|
|
# XXX BUG: rebuilding without cleaning will mess up folders...
|
2013-09-27 22:23:14 +04:00
|
|
|
osx: $(APP_ZIP) $(MAC_BUILD_DIR) Info.plist
|
2013-09-21 14:19:58 +04:00
|
|
|
unzip -u $(wildcard targets/node-webkit/node-webkit-*-osx-ia32.zip) -d $(MAC_BUILD_DIR)
|
|
|
|
|
cp $(APP_ZIP) $(MAC_BUILD_DIR)/node-webkit.app/Contents/Resources/app.nw
|
2013-10-10 16:31:14 +04:00
|
|
|
# XXX not sure if this is needed...
|
|
|
|
|
chmod +x $(MAC_BUILD_DIR)/node-webkit.app/Contents/Resources/app.nw
|
2013-10-04 01:02:08 +04:00
|
|
|
# XXX there is something wrong with the updated Info.plist, need to investigate...
|
|
|
|
|
##cp Info.plist $(MAC_BUILD_DIR)/node-webkit.app/Contents/
|
|
|
|
|
##mv $(MAC_BUILD_DIR)/node-webkit.app $(MAC_BUILD_DIR)/$(APP_NAME).app
|
|
|
|
|
# XXX TODO: add real credits...
|
|
|
|
|
rm -f $(MAC_BUILD_DIR)/nwsnapshot \
|
|
|
|
|
$(MAC_BUILD_DIR)/credits.html
|
2013-09-21 14:19:58 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
osx-dist: osx $(DIST_DIR)
|
2013-09-21 23:22:36 +04:00
|
|
|
zip -r $(MAC_DIST_ZIP) $(MAC_BUILD_DIR)
|
2013-09-21 14:19:58 +04:00
|
|
|
|
|
|
|
|
|
2013-10-10 16:31:14 +04:00
|
|
|
|
|
|
|
|
# node-webkit linux x64
|
|
|
|
|
linux-x64: $(APP_ZIP) $(LINUX_X64_BUILD_DIR)
|
|
|
|
|
tar --strip-components 1 -xzf $(wildcard targets/node-webkit/node-webkit-*-linux-x64.tar.gz) -C $(LINUX_X64_BUILD_DIR)
|
|
|
|
|
cat $(APP_ZIP) >> $(LINUX_X64_BUILD_DIR)/nw
|
|
|
|
|
mv $(LINUX_X64_BUILD_DIR)/nw $(LINUX_X64_BUILD_DIR)/$(APP_NAME)
|
|
|
|
|
chmod +x $(LINUX_X64_BUILD_DIR)/*
|
|
|
|
|
|
|
|
|
|
|
2013-09-21 23:22:36 +04:00
|
|
|
# XXX android...
|
|
|
|
|
# XXX iOS...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dist: win32-dist osx-dist
|
|
|
|
|
|
2013-06-05 01:38:02 +04:00
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
#**********************************************************************
|
2013-06-08 15:57:04 +04:00
|
|
|
# cleanup...
|
|
|
|
|
|
|
|
|
|
clean-dev:
|
|
|
|
|
rm -rf *.exe *.dll *.pak
|
|
|
|
|
|
|
|
|
|
clean-build:
|
2013-06-08 14:04:58 +04:00
|
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
|
|
2013-06-08 15:57:04 +04:00
|
|
|
clean: clean-build
|
|
|
|
|
rm -f $(CSS_FILES) $(JS_MIN_FILES) $(LOGS)
|
|
|
|
|
|
|
|
|
|
clean-all: clean clean-dev
|
2013-06-08 14:04:58 +04:00
|
|
|
|
|
|
|
|
|
2013-06-10 07:49:20 +04:00
|
|
|
|
|
|
|
|
#**********************************************************************
|