명령 줄에서 cocos2d-x를 쉽게 빌드하기위한 Makefile
소개
cocos2d-x를 빌드 할 때 iOS라면 xCode, Android라면 Eclipse입니까?
개발 중이라면 커맨드로 빨리 빌드하고 확인하는 것이 효율이 좋은 것도 있다고 생각합니다.
cocos
커맨드( cocos2d-console
라고 한다)로 빌드할 수 있거나 합니다만, 자신의 경우 옵션을 기억하는 것이 귀찮았기 때문에 Makefile
를 통해 빌드라든지 하고 있습니다.
Makefile 코드
cocos2d-x 프로젝트의 루트 디렉토리에 다음 코드를 복사하여 Makefile
로 만들면됩니다.
REPO_ROOT := $(shell pwd)
USERPLATFORM = $(shell uname)
DEPLOY_DIR = $(REPO_ROOT)/deploy
#
# set platforms
#
PLATFORMS = android
ifeq ($(USERPLATFORM), Linux)
PLATFORMS += linux
endif
ifeq ($(USERPLATFORM), Darwin)
PLATFORMS += ios
endif
# common
REMOVE=rm -fr
JOB=-j 8
MAKE=cocos
default: all
all: $(PLATFORMS)
define PLATFORM_RULES
.PHONY: $(1)
$(1):
@$(MAKE) run -p $(1) $(JOB)
deploy_$(1): FORCE
@$(MAKE) deploy -p $(1) $(JOB)
build_$(1): FORCE
@$(MAKE) compile -p $(1) $(JOB)
endef
$(foreach a,$(PLATFORMS),$(eval $(call PLATFORM_RULES,$(a))))
distclean:
@echo "##### clean cocos ####"
$(REMOVE) bin
$(REMOVE) cocos2d/build/build
$(REMOVE) cocos2d/cocos/platform/android/java/bin
$(REMOVE) cocos2d/cocos/platform/android/java/gen
$(REMOVE) cocos2d/cocos/platform/android/java/local.properties
clean_android:
@echo "##### clean android ####"
$(REMOVE) proj.android/assets
$(REMOVE) proj.android/bin
$(REMOVE) proj.android/gen
$(REMOVE) proj.android/libs/armeabi
$(REMOVE) proj.android/libs/x86
$(REMOVE) proj.android/local.properties
$(REMOVE) proj.android/obj
clean_ios:
@echo "##### clean ios ####"
$(REMOVE) proj.ios_mac/build
clean_linux:
@echo "##### clean linux ####"
$(REMOVE) linux-build
.PHONY: all android clean clean_android clean_ios clean_linux distclean
FORCE:
by gist
Make 명령
쉽게 명령을 설명합니다.
안드로이드
REPO_ROOT := $(shell pwd)
USERPLATFORM = $(shell uname)
DEPLOY_DIR = $(REPO_ROOT)/deploy
#
# set platforms
#
PLATFORMS = android
ifeq ($(USERPLATFORM), Linux)
PLATFORMS += linux
endif
ifeq ($(USERPLATFORM), Darwin)
PLATFORMS += ios
endif
# common
REMOVE=rm -fr
JOB=-j 8
MAKE=cocos
default: all
all: $(PLATFORMS)
define PLATFORM_RULES
.PHONY: $(1)
$(1):
@$(MAKE) run -p $(1) $(JOB)
deploy_$(1): FORCE
@$(MAKE) deploy -p $(1) $(JOB)
build_$(1): FORCE
@$(MAKE) compile -p $(1) $(JOB)
endef
$(foreach a,$(PLATFORMS),$(eval $(call PLATFORM_RULES,$(a))))
distclean:
@echo "##### clean cocos ####"
$(REMOVE) bin
$(REMOVE) cocos2d/build/build
$(REMOVE) cocos2d/cocos/platform/android/java/bin
$(REMOVE) cocos2d/cocos/platform/android/java/gen
$(REMOVE) cocos2d/cocos/platform/android/java/local.properties
clean_android:
@echo "##### clean android ####"
$(REMOVE) proj.android/assets
$(REMOVE) proj.android/bin
$(REMOVE) proj.android/gen
$(REMOVE) proj.android/libs/armeabi
$(REMOVE) proj.android/libs/x86
$(REMOVE) proj.android/local.properties
$(REMOVE) proj.android/obj
clean_ios:
@echo "##### clean ios ####"
$(REMOVE) proj.ios_mac/build
clean_linux:
@echo "##### clean linux ####"
$(REMOVE) linux-build
.PHONY: all android clean clean_android clean_ios clean_linux distclean
FORCE:
$ make android # buildして接続しているデバイスにインストールする
$ make build_android # buildのみ
$ make clean_android # android関連をクリーン
iOS
$ make ios # buildしてアプリケーションが実行される
$ make build_ios # buildのみ
$ make clean_ios # ios関連をクリーン
리눅스
$ make linux
$ make build_linux
$ make clean_linux
distclean
$ make distclean
오시마
디바이스 지정할 수 없고 clean
곳 왠지 잡잡해서, 그렇게 유연하지는 않습니다만, make
커멘드이므로 보완이라고 해 주고 편리하다고 생각합니다.
실제로 자신은 iOS와 Android의 멀티 플랫폼 개발이지만 IDE는 xcode, android는 명령으로 각각 개발하고 있습니다. IDE를 전환할 필요가 없기 때문에 편합니다.
그렇다고 해도 cocos2d-console
, help를 보는 한 여러가지 할 수 있을 것 같습니다. 패키지 관리라도 할 수 있다고 한다. (h tp // w w. s에서 멋지다. 네 t/기기네 t/여기 s2d 안녕하세요)
cocos2d-console
로 할 수 있는 것을 조사해 정리하고 싶네요^^;
덤
cocos2d-x를 처음부터 설정해보기
처음 사용하는 사람을 위해 일단 절차를 써 둡니다. 거의 공식 희귀 D 째. MD 절차와 동일합니다.
아래 준비
ant install
cocos2d-x를 처음부터 설정해보기
처음 사용하는 사람을 위해 일단 절차를 써 둡니다. 거의 공식 희귀 D 째. MD 절차와 동일합니다.
아래 준비
ant install
ant
를 설치합니다. (이어서 wget
도) $ brew install ant wget
다운로드 NDK
# 権限変更
$ chmod 755 ./android-ndk-r10e-darwin-x86_64.bin
# 展開 (数分かかる場合あり)
$ ./android-ndk-r10e-darwin-x86_64.bin
※ android studio를 사용하는 경우
~/Library/Android/sdk/ndk-bundle
에 있어야합니다.cocos2d-x 설정
git clone
버전은 v3.10
(2016/01 현재 최신).$ git clone https://github.com/cocos2d/cocos2d-x.git
$ cd ./cocos2d-x
$ git checkout v3.10
$ git submodule update --init
download-deps.py
에서 종속성을 해결하고 setup.py
에서 환경 변수를 설정합니다. NDK의 위치를 묻는 경우 앞에서 배포한 디렉터리를 입력하고 Enter합니다.$ python download-deps.py
$ ./setup.py
환경 설정 파일을 다시 읽습니다. (자신은
bash
이므로 .bash_profile
)$ source .bash_profile
환경 설정 파일을 보면 다음과 같이 환경 변수가 설정되어 있어야합니다. (홈 디렉토리는
~/
로 대체되었습니다.)$ cat .bash_profile
: # 略
# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
export COCOS_CONSOLE_ROOT=~/cocos2d-x/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH
# Add environment variable COCOS_X_ROOT for cocos2d-x
export COCOS_X_ROOT=~/
export PATH=$COCOS_X_ROOT:$PATH
# Add environment variable COCOS_TEMPLATES_ROOT for cocos2d-x
export COCOS_TEMPLATES_ROOT=~/cocos2d-x/templates
export PATH=$COCOS_TEMPLATES_ROOT:$PATH
# Add environment variable ANDROID_SDK_ROOT for cocos2d-x
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export PATH=$ANDROID_SDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH
# Add environment variable NDK_ROOT for cocos2d-x
export NDK_ROOT=~/Library/Android/sdk/ndk-bundle
export PATH=$NDK_ROOT:$PATH
# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/usr/local/Cellar/ant/1.9.6/bin
export PATH=$ANT_ROOT:$PATH
프로젝트 생성 및 실행
프로젝트 만들기
$ cocos new MyGame -p com.example.mygame -l cpp
위의
Makefile
를 다운로드하십시오. (스스로 복사해도 좋다)$ cd ./MyGame
$ https://gist.githubusercontent.com/caad1229/8b501cf214b62dd415fa/raw/3dc5b8136fe2d8de5446dded8394142805b9e60a/Makefile
빌드하고 설치해 봅니다.
(Android 에뮬레이터 또는 실제 기기를 연결하십시오)
$ make android
코코스 군 (멋대로 명명) 나왔습니까?
실제로,
c++
부분만 확인하고 싶으면 build_native.py
두드려도 빌드만이라면 할 수 있습니다. 다양한 시도해보십시오!$ cd ./proj.android
$ ./build_native.py
Reference
이 문제에 관하여(명령 줄에서 cocos2d-x를 쉽게 빌드하기위한 Makefile), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/caad1229/items/87f87902599c60265fd8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)