-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
54 lines (40 loc) · 1.9 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
PWD=$(shell pwd)
CHICKEN_PATH = ../android-chicken
include $(CHICKEN_PATH)/config.mk
CHICKEN_HOST_PATH = $(CHICKEN_PATH)/build/host
CHICKEN_TARGET_PATH = $(CHICKEN_PATH)/build/target/data/data/$(PACKAGE_NAME)
CHICKEN_TARGET_EGGS_PATH = $(CHICKEN_TARGET_PATH)/lib/chicken/7
export PATH := $(SDK_PATH)/platform-tools:$(SDK_PATH)/tools:$(PATH)
export PATH := $(SDK_PATH)/tools:$(PATH)
export PATH := $(NDK_PATH):$(PATH)
export PATH := $(CHICKEN_PATH)/toolchain/$(PLATFORM)/bin:$(CHICKEN_HOST_PATH)/bin:$(PATH)
export PATH := /usr/lib/ccache:$(PATH)
all: run
run: install
cd $(NAME); ant debug install
adb shell am start -n $(PACKAGE_NAME)/.$(ACTIVITY)
run*: install
adb shell killall $(PACKAGE_NAME)
adb shell am start -n $(PACKAGE_NAME)/.$(ACTIVITY)
install: $(PWD)/$(NAME)/ $(PWD)/$(NAME)/libs/$(ARCH) $(PWD)/$(NAME)/libs/$(ARCH)/libchicken.so \
$(foreach egg-path,$(shell ls $(CHICKEN_TARGET_EGGS_PATH)/*.so), \
$(PWD)/$(NAME)/libs/$(ARCH)/lib$(shell basename $(egg-path))) \
$(foreach scm-path,$(shell ls $(PWD)/scm/*.scm), \
$(PWD)/$(NAME)/libs/$(ARCH)/lib$(shell basename $(scm-path) .scm).so)
$(PWD)/$(NAME)/libs/$(ARCH)/libchicken.so: $(CHICKEN_TARGET_PATH)/lib/libchicken.so
cp $(CHICKEN_TARGET_PATH)/lib/libchicken.so $(PWD)/$(NAME)/libs/$(ARCH)/libchicken.so
$(PWD)/$(NAME)/libs/$(ARCH)/lib%.so: $(CHICKEN_TARGET_EGGS_PATH)/%.so
cp $< $@
$(PWD)/$(NAME)/libs/$(ARCH)/lib%.so: $(PWD)/scm/%.scm $(PWD)/scm/include/settings.scm
ant -f $(NAME)/build.xml debug
android-csc -s -llog -X $(PWD)/scm/include/settings.scm -landroid -I$(PWD)/scm/include -o $@ $<
$(PWD)/scm/include/settings.scm: $(CHICKEN_PATH)/config.mk make-settings.scm
mkdir -p $(PWD)/scm/include
csi -s make-settings.scm \
"SDK_PATH=$(SDK_PATH)" \
>$@
$(PWD)/$(NAME)/libs/$(ARCH):
mkdir -p $@
clean:
ant -f $(NAME)/build.xml clean
rm -rf androidChickenTest/libs/armeabi/*.so scm/*.so androidChickenTest/bin