xref: /OK3568_Linux_fs/external/security/librkcrypto/demo/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunTOOLCHAIN_PREBUILTS := "../../../prebuilts/"
2*4882a593SmuzhiyunTOOLCHAIN_PATH_ARM32 := "gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/"
3*4882a593SmuzhiyunTOOLCHAIN_PATH_AARCH64 := "gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/"
4*4882a593SmuzhiyunCROSS_COMPILE32 := "arm-none-linux-gnueabihf-gcc"
5*4882a593SmuzhiyunCROSS_COMPILE64 := "aarch64-none-linux-gnu-gcc"
6*4882a593SmuzhiyunARM32_TOOLCHAIN_GCC := "${TOOLCHAIN_PREBUILTS}${TOOLCHAIN_PATH_ARM32}${CROSS_COMPILE32}"
7*4882a593SmuzhiyunAARCH64_TOOLCHAIN_GCC := "${TOOLCHAIN_PREBUILTS}${TOOLCHAIN_PATH_AARCH64}${CROSS_COMPILE64}"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun# Entry "$make 64" for build arm64 binary, otherwise build arm binary by default.
10*4882a593Smuzhiyunifeq (${bit},64)
11*4882a593Smuzhiyun	ARM_PLATFORM := "arm64"
12*4882a593Smuzhiyun	CC := ${AARCH64_TOOLCHAIN_GCC}
13*4882a593Smuzhiyunelse
14*4882a593Smuzhiyun	ARM_PLATFORM := "arm"
15*4882a593Smuzhiyun	CC := ${ARM32_TOOLCHAIN_GCC}
16*4882a593Smuzhiyunendif
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunINCLUDE := -I./ -I../out/target/include
19*4882a593SmuzhiyunLIBS    := -L../out/target/lib/${ARM_PLATFORM} -lrkcrypto
20*4882a593SmuzhiyunCFLAGS  := -g -Wall -O2
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSOURCE  := $(wildcard *.c)
23*4882a593SmuzhiyunOBJS    := $(patsubst %.c,%.o,$(SOURCE))
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunTARGET  := librkcrypto_demo
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun$(TARGET): $(OBJS)
28*4882a593Smuzhiyun	$(CC) -o $@ $^ $(LIBS)
29*4882a593Smuzhiyun%.o:%.c
30*4882a593Smuzhiyun	$(CC) -c $^ $(INCLUDE) $(CFLAGS)
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunclean:
33*4882a593Smuzhiyun	rm -f $(OBJS) $(TARGET)
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun64:
36*4882a593Smuzhiyun	make bit=64
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun32:
39*4882a593Smuzhiyun	make bit=32