blob: ae97655aef2bae5393d2ba2f8fc1161f33c387c1 [file] [log] [blame]
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
ifndef BUILDBOT_BUILDERNAME
# By default, unless we are building on the buildbot set NACL_ARCH to so that
# we only build for a single architecture.
NACL_ARCH ?= x86_64
endif
DEBUG ?= 1
ifeq ($(DEBUG),1)
CONFIG := Debug
else
CONFIG := Release
endif
OUT_DIR := out
PUBLISH_DIR := $(OUT_DIR)/publish
TOOLCHAIN ?= newlib
all: cocos2dx lua-yaml
@echo '@@@BUILD_STEP build game@@@'
TOOLCHAIN=$(TOOLCHAIN) NACL_ARCH=$(NACL_ARCH) CONFIG=$(CONFIG) $(MAKE) -j10 -C proj.nacl
cocos2dx: build/build-cocos2dx.sh
USE_BOX2D=1 NACL_ARCH=$(NACL_ARCH) build/build-cocos2dx.sh
lua-yaml:
@echo '@@@BUILD_STEP lua-yaml@@@'
TOOLCHAIN=$(TOOLCHAIN) CONFIG=$(CONFIG) NACL_ARCH=$(NACL_ARCH) $(MAKE) -f build/lua-yaml.mk
really-clean: clean
$(RM) -r $(OUT_DIR)
clean:
$(MAKE) -C proj.nacl clean
publish: all
rm -fr $(PUBLISH_DIR)
mkdir -p $(PUBLISH_DIR)
cp $(OUT_DIR)/$(TOOLCHAIN)/$(CONFIG)/*.nexe $(PUBLISH_DIR)
cp $(OUT_DIR)/$(TOOLCHAIN)/$(CONFIG)/*.nmf $(PUBLISH_DIR)
if [ "$(TOOLCHAIN)" = "glibc" ]; then cp -r $(OUT_DIR)/$(TOOLCHAIN)/$(CONFIG)/lib* $(PUBLISH_DIR); fi
ln -s $(PWD)/data/background.js $(PUBLISH_DIR)/background.js
ln -s $(PWD)/data/common.js $(PUBLISH_DIR)/common.js
ln -s $(PWD)/data/edit.js $(PUBLISH_DIR)/edit.js
ln -s $(PWD)/data/index.html $(PUBLISH_DIR)/index.html
ln -s $(PWD)/data/manifest.json $(PUBLISH_DIR)/manifest.json
ln -s $(PWD)/data/res $(PUBLISH_DIR)/Resources
CHROME_ARGS += --no-first-run --user-data-dir=$(OUT_DIR)/user-data-dir
run: publish
NACL_ARCH=$(NACL_ARCH) CHROME_ARGS="$(CHROME_ARGS)" $(MAKE) -C proj.nacl RUN
run-app: publish
$(CHROME_PATH) $(CHROME_ARGS) --load-extension=$(PUBLISH_DIR) chrome://newtab
third_party/lua-yaml/yaml.so:
make -C third_party/lua-yaml INC="-I/usr/include/lua5.1 -I."
test: third_party/lua-yaml/yaml.so validate
third_party/lunit/lunit -i ./lua.sh tests/*_test.lua
validate: third_party/lua-yaml/yaml.so
./lua.sh data/res/validate.lua data/res/sample_game/game.def
.PHONY: all lua-yaml cocos2dx clean publish run run-app really-clean test validate