85 lines
2.2 KiB
Makefile
85 lines
2.2 KiB
Makefile
LDLIBS += -lsystemd -lpthread
|
|
LDFLAGS+=-L$(BUILDDIR)
|
|
LINK:=$(CC)
|
|
CPPFLAGS+=-I./ -fPIC -g
|
|
|
|
LIB_VER=0
|
|
|
|
# BUILDDIR used for out-of-source compile
|
|
BUILDDIR?=./
|
|
|
|
all:
|
|
|
|
.PHONY: clean
|
|
|
|
define build_project
|
|
OBJ_C := $(patsubst %.c,$(TARGET)_o/%.o,$(filter %.c,$2))
|
|
OBJ_CXX := $(patsubst %.cpp,$(TARGET)_o/%.o,$(filter %.cpp,$2))
|
|
OBJ_PATH := $(addprefix $(TARGET)_o/, $(sort $(dir $2)))
|
|
_dummy := $$(shell mkdir -p $$(OBJ_PATH))
|
|
$(TARGET):OBJ_ALL:=$$(OBJ_C) $$(OBJ_CXX)
|
|
$(TARGET):LINK:=$(if $(filter %.cpp,$2),$(CXX),$(CC))
|
|
$(TARGET)_clean:CLEAN_FILES:=$(TARGET) $$(OBJ_PATH) $(TARGET)_o
|
|
ifneq (,$(findstring shared_lib,$1))
|
|
ifneq ($(suffix $(TARGET)),.so)
|
|
all:$(basename $(TARGET))
|
|
$(basename $(TARGET)):$(TARGET)
|
|
ln -frs $$< $$@
|
|
endif
|
|
endif
|
|
$(TARGET): $$(OBJ_C) $$(OBJ_CXX)
|
|
ifneq (,$(findstring shared_lib,$1))
|
|
$$(LINK) $$(CPPFLAGS) $$(LDFLAGS) -shared -Wl,-soname,$(notdir $(TARGET)) -o $$@ $$(OBJ_ALL) $$(LDLIBS)
|
|
else ifneq (,$(findstring static_lib,$1))
|
|
$(AR) rcs -o $$@ $$+
|
|
$(RANLIB) $$@
|
|
else
|
|
$$(LINK) $$(CPPFLAGS) $$(LDFLAGS) -o $$@ $$(OBJ_ALL) $$(LDLIBS)
|
|
endif
|
|
|
|
$$(OBJ_C):$(TARGET)_o/%.o:%.c
|
|
$$(CC) $$(CPPFLAGS) $$(CFLAGS) -c $$< -o $$@
|
|
|
|
$$(OBJ_CXX):$(TARGET)_o/%.o:%.cpp
|
|
$$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -c $$< -o $$@
|
|
|
|
.PHONY: $(TARGET)_clean
|
|
|
|
$(TARGET)_clean:
|
|
-rm -rf $$(abspath $$(CLEAN_FILES))
|
|
|
|
clean: $(TARGET)_clean
|
|
|
|
all:$(TARGET)
|
|
|
|
endef
|
|
|
|
TARGET := $(BUILDDIR)/libamldbus.so.$(LIB_VER)
|
|
$(eval $(call build_project,shared_lib,aml-dbus.c))
|
|
|
|
TARGET := $(BUILDDIR)/ambus-sample1
|
|
$(TARGET):$(BUILDDIR)/libamldbus.so
|
|
$(TARGET):LDLIBS+=-lamldbus
|
|
#$(eval $(call build_project,exe,sample/cpp/sample1.cpp))
|
|
|
|
TARGET := $(BUILDDIR)/ambus-sample-server-1
|
|
$(TARGET):$(BUILDDIR)/libamldbus.so
|
|
$(TARGET):LDLIBS+=-lamldbus
|
|
#$(eval $(call build_project,exe,sample/c/sample-server.c))
|
|
|
|
TARGET := $(BUILDDIR)/ambus-sample-client-1
|
|
$(TARGET):$(BUILDDIR)/libamldbus.so
|
|
$(TARGET):LDLIBS+=-lamldbus
|
|
#$(eval $(call build_project,exe,sample/c/sample-client.c))
|
|
|
|
TARGET := $(BUILDDIR)/ambus-easy-intf-server
|
|
$(TARGET):$(BUILDDIR)/libamldbus.so
|
|
$(TARGET):LDLIBS+=-lamldbus
|
|
$(eval $(call build_project,exe,sample/c/easy-intf-server.c))
|
|
|
|
TARGET := $(BUILDDIR)/ambus-easy-intf-client
|
|
$(TARGET):$(BUILDDIR)/libamldbus.so
|
|
$(TARGET):LDLIBS+=-lamldbus
|
|
$(eval $(call build_project,exe,sample/c/easy-intf-client.c))
|
|
|