-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
74 lines (59 loc) · 1.91 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# top makefile for disptest
# author:tracyone@live.cn
#
SUBDIR := framebuffer
LICHEE_ROOT := $(PWD)/..
BUIDCONFIG := ${LICHEE_ROOT}/.buildconfig
ifneq ("$(wildcard ${BUIDCONFIG})","")
include ${BUIDCONFIG}
else
$(error "${BUIDCONFIG} is not exist!! Please config lichee first.")
endif
ifeq ($(LICHEE_TOOLCHAIN_PATH),)
ifeq (${ARCH}, arm64)
GCC_ARCH=aarch64
LICHEE_TOOLCHAIN_PATH=${LICHEE_ROOT}/out/external-toolchain/gcc-aarch64/
LICHEE_CROSS_COMPILER=aarch64-linux-gnu
else
GCC_ARCH=arm
LICHEE_TOOLCHAIN_PATH=${LICHEE_ROOT}/out/${LICHEE_CHIP}/linux/common/buildroot/external-toolchain/
LICHEE_CROSS_COMPILER=arm-linux-gnueabi
endif
ifeq (${LICHEE_KERN_VER}, linux-4.4)
LICHEE_TOOLCHAIN_PATH=${LICHEE_ROOT}/out/gcc-linaro-5.3.1-2016.05/gcc-${GCC_ARCH}/
endif
ifeq (${LICHEE_KERN_VER}, linux-4.9)
LICHEE_TOOLCHAIN_PATH=${LICHEE_ROOT}/out/gcc-linaro-5.3.1-2016.05/gcc-${GCC_ARCH}/
endif
endif
export CC:=${LICHEE_TOOLCHAIN_PATH}/bin/${LICHEE_CROSS_COMPILER}-gcc
export AR:=${LICHEE_TOOLCHAIN_PATH}/bin/${LICHEE_CROSS_COMPILER}-ar
export LD:=${LICHEE_TOOLCHAIN_PATH}/bin/${LICHEE_CROSS_COMPILER}-ld
export STIRP:=${LICHEE_TOOLCHAIN_PATH}/bin/${LICHEE_CROSS_COMPILER}-strip
export OUT_DIR:=$(PWD)/out/${LICHEE_ARCH}
export CFLAGS+=-I$(PWD)/include
all:info
@for i in ${SUBDIR}; do \
(make -C $$i); \
done
info:
@echo "================================================================"
@echo Platform :${LICHEE_PLATFORM}
@echo Chip :${LICHEE_CHIP}
@echo Kernel :${LICHEE_KERN_VER}
@echo ARCH :${LICHEE_ARCH}
@echo Board :${LICHEE_BOARD}
@echo CC prefix :${LICHEE_CROSS_COMPILER}
@echo toolchain :${LICHEE_TOOLCHAIN_PATH}
@echo "================================================================"
clean:
@for i in ${SUBDIR}; do \
(make -C $$i clean); \
done
-@rm -rf ${OUT_DIR}
install:all
-@mkdir -p ${OUT_DIR}
@for i in ${SUBDIR}; do \
(make -C $$i install); \
done
.PHONY:clean all info install