blob: 5104f6859c2affb813cffc01b78498de6dca9292 [file] [log] [blame]
Igor Opaniukab88c952017-02-14 13:22:54 +02001CC = $(CROSS_COMPILE)gcc
2LD = $(CROSS_COMPILE)ld
3AR = $(CROSS_COMPILE)ar
4NM = $(CROSS_COMPILE)nm
5OBJCOPY = $(CROSS_COMPILE)objcopy
6OBJDUMP = $(CROSS_COMPILE)objdump
7READELF = $(CROSS_COMPILE)readelf
l00176142c7349752017-11-23 00:57:13 +08008O ?= $(CURDIR)/out
9OUT_DIR = $(O)
Igor Opaniukab88c952017-02-14 13:22:54 +020010
Igor Opaniukab88c952017-02-14 13:22:54 +020011.PHONY: all
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030012all: libyaml benchmark
Igor Opaniukab88c952017-02-14 13:22:54 +020013
14.PHONY: clean
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030015################################################################################
16# libYAML
17################################################################################
18LIBYAML_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE)
19LIBYAML_SRC_DIR = $(CURDIR)/libyaml
l00176142c7349752017-11-23 00:57:13 +080020LIBYAML_OUT_DIR = $(OUT_DIR)/libyaml/out
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030021
22.PHONY: libyaml
23libyaml:
l00176142c7349752017-11-23 00:57:13 +080024 $(AT)test -d $(LIBYAML_OUT_DIR) || mkdir -p $(LIBYAML_OUT_DIR)
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030025 cd $(LIBYAML_SRC_DIR) && ./bootstrap && \
26 ./configure --host=$(MULTIARCH) \
l00176142c7349752017-11-23 00:57:13 +080027 --prefix=$(LIBYAML_OUT_DIR) CC=$(CC) && \
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030028 $(MAKE) && $(MAKE) install
29
30.PHONY: libyaml-clean
31libyaml-clean:
32 cd $(LIBYAML_SRC_DIR) && \
33 $(MAKE) clean
34
35################################################################################
36# benchmark_app
37################################################################################
l00176142c7349752017-11-23 00:57:13 +080038SRCS := main.c benchmark_aux.c
39OBJS := $(patsubst %.c,$(OUT_DIR)/%.o, $(SRCS))
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030040
41CFLAGS += -Wall -Wextra -Werror -I$(TEEC_EXPORT)/include \
42 -I$(TEEC_INTERNAL_INCLUDES)/include -I$(LIBYAML_OUT_DIR)/include
43#Add/link other required libraries here
44LDADD += -lm -lteec -lyaml -lpthread \
45 -L$(TEEC_EXPORT)/lib -L$(LIBYAML_OUT_DIR)/lib
l00176142c7349752017-11-23 00:57:13 +080046$(OBJS) : libyaml
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030047
l00176142c7349752017-11-23 00:57:13 +080048benchmark: $(OUT_DIR)/benchmark
49
50$(OUT_DIR)/%.o: %.c
51 $(AT)test -d $(OUT_DIR) || mkdir -p $(OUT_DIR)
52 $(CC) $(CFLAGS) -c $< -o $@
53
54$(OUT_DIR)/benchmark: $(OBJS)
Igor Opaniukf1f3fd02017-09-14 15:34:56 +030055 $(CC) $(LDADD) -o $@ $^
l00176142c7349752017-11-23 00:57:13 +080056
57clean: libyaml-clean
58 rm -rf $(OUT_DIR)