blob: a7c78ba9b856abfc5523a22b4ecbaef4b2fd264b [file] [log] [blame]
# Common make definitions, customized for each platform
# Definitions required in all program directories to compile and link
# C programs using gcc.
INC_DIR += $(addprefix -I, $(MBTK_INC_DIR))
LIB_DIR += $(addprefix -L, $(MBTK_LIB_DIR))
LIBS += $(addprefix -l, $(MBTK_LIBS))
CFLAGS += $(MBTK_CFLAGS)
ifeq ($(MBTK_BUILD_LIB), Y)
CFLAGS += -shared -Wl,-shared,-Bsymbolic
endif
DEFINE += $(addprefix -D, $(MBTK_DEFINE))
LOCAL_SRC_FILES := $(foreach dir,$(MBTK_SRC_DIR),$(wildcard $(dir)/*.c)) $(foreach dir,$(MBTK_SRC_DIR),$(wildcard $(dir)/*.cpp))
OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(LOCAL_SRC_FILES)))
$(info OBJS = $(OBJS))
ifeq ($(MBTK_BUILD_LIB), Y)
dtarget := $(OUT_DIR)/lib/lib$(MBTK_PROJECT_NAME).so
else
dtarget := $(OUT_DIR)/bin/$(MBTK_PROJECT_NAME)
endif
all: $(dtarget)
$(dtarget): $(OBJS)
$(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $(OBJS) -o $@
%.o:%.c
$(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
%.o:%.cpp
$(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
clean:
rm -f $(OBJS) $(dtarget)