blob: a7c78ba9b856abfc5523a22b4ecbaef4b2fd264b [file] [log] [blame]
b.liub17525e2025-05-14 17:22:29 +08001# Common make definitions, customized for each platform
2
3# Definitions required in all program directories to compile and link
4# C programs using gcc.
5
6INC_DIR += $(addprefix -I, $(MBTK_INC_DIR))
7
8LIB_DIR += $(addprefix -L, $(MBTK_LIB_DIR))
9
10LIBS += $(addprefix -l, $(MBTK_LIBS))
11
12CFLAGS += $(MBTK_CFLAGS)
13
14ifeq ($(MBTK_BUILD_LIB), Y)
15CFLAGS += -shared -Wl,-shared,-Bsymbolic
16endif
17
18DEFINE += $(addprefix -D, $(MBTK_DEFINE))
19
20LOCAL_SRC_FILES := $(foreach dir,$(MBTK_SRC_DIR),$(wildcard $(dir)/*.c)) $(foreach dir,$(MBTK_SRC_DIR),$(wildcard $(dir)/*.cpp))
21
22OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(LOCAL_SRC_FILES)))
23$(info OBJS = $(OBJS))
24
25ifeq ($(MBTK_BUILD_LIB), Y)
26dtarget := $(OUT_DIR)/lib/lib$(MBTK_PROJECT_NAME).so
27else
28dtarget := $(OUT_DIR)/bin/$(MBTK_PROJECT_NAME)
29endif
30
31all: $(dtarget)
32
33$(dtarget): $(OBJS)
34 $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $(OBJS) -o $@
35
36%.o:%.c
37 $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
38
39%.o:%.cpp
40 $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
41
42clean:
43 rm -f $(OBJS) $(dtarget)