70 lines
1.5 KiB
Makefile
Executable File
70 lines
1.5 KiB
Makefile
Executable File
|
|
CUR_DIR = $(shell pwd)
|
|
|
|
SRC_DIR = $(CUR_DIR)
|
|
|
|
SRCS = $(foreach dir,$(SRC_DIR),$(wildcard $(dir)/*.cpp))
|
|
OBJ_TEMP = $(patsubst %.cpp,%.o,$(SRCS))
|
|
OBJS = $(notdir $(OBJ_TEMP))
|
|
|
|
ifneq ($(MAKECMDGOALS), ubuntu)
|
|
SYS_ROOT = $(WORKDIR)/recipe-sysroot
|
|
endif
|
|
|
|
INCLUDE_DIRS = -I$(SYS_ROOT)/usr/include \
|
|
-I$(SYS_ROOT)/usr/include/dbus-1.0 \
|
|
-I$(SYS_ROOT)/usr/lib/dbus-1.0/include \
|
|
-I./include/
|
|
|
|
INCLUDE_DIRS += -I $(CUR_DIR)
|
|
|
|
ifeq ($(MAKECMDGOALS), ubuntu)
|
|
INCLUDE_DIRS += -I /usr/lib/aarch64-linux-gnu/dbus-1.0/include/
|
|
endif
|
|
|
|
CXXFLAGS = -Wall -g -O -fPIC -std=c++11 -DBUILD_ON_YOCTO $(INCLUDE_DIRS)
|
|
|
|
LIBS = -lglib-2.0 -ldbus-1 -lpthread
|
|
|
|
OUT_DIR = $(CUR_DIR)/out
|
|
OBJ_DIR = $(OUT_DIR)/obj
|
|
LIB_DIR = $(OUT_DIR)/lib
|
|
|
|
OBJS_WITH_DIR = $(addprefix $(OBJ_DIR)/,$(OBJS))
|
|
|
|
TARGET = $(LIB_DIR)/libudbus.so
|
|
|
|
all: DIRS $(TARGET)
|
|
|
|
ubuntu: all
|
|
cp $(TARGET) /usr/lib
|
|
mkdir -m 0644 -p /usr/include/libudbus/
|
|
cp $(CUR_DIR)/include/*.h /usr/include/libudbus/
|
|
cp $(CUR_DIR)/*.h /usr/include/libudbus/
|
|
|
|
$(TARGET):$(OBJS_WITH_DIR)
|
|
$(CXX) -shared -fPIC -o $(TARGET) $(OBJS_WITH_DIR) $(LIBPATH) $(LIBS)
|
|
|
|
$(OBJ_DIR)/%.o:%.cpp
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
install:
|
|
cp $(BIN_DIR)/$(TARGET) $(INSTALL_MOD_PATH)/usr/lib
|
|
|
|
clean:
|
|
rm -rf $(OBJ_DIR) $(BIN_DIR) $(LIB_DIR)
|
|
|
|
|
|
DIRS:
|
|
@$(call CREATE_DIR,$(OUT_DIR))
|
|
@$(call CREATE_DIR,$(OBJ_DIR))
|
|
@$(call CREATE_DIR,$(BIN_DIR))
|
|
@$(call CREATE_DIR,$(LIB_DIR))
|
|
|
|
define CREATE_DIR
|
|
if [ ! -d $(1) ];\
|
|
then\
|
|
mkdir -p $(1);\
|
|
fi
|
|
endef
|