Files
device_rockchip/rk3308/aispeech-2mic-32bit/dds_client/aimake/linux/build_all.mk
Hans Yang 62dc3fdbbc rk3308: optimize directory structure and remove unuse files
Change-Id: I11eaf882a76507da8eaef2fa03cdc2b7b97e37a1
Signed-off-by: Hans Yang <yhx@rock-chips.com>
2018-08-23 21:38:32 +08:00

80 lines
1.8 KiB
Makefile
Executable File

#
# objects
#
ifneq ($(LOCAL_SRC_DIRS),)
LOCAL_SRC_FILES += $(shell find $(LOCAL_SRC_DIRS) -name "*.c" -or -name "*.cpp" -or -name "*.cc")
endif
ifneq ($(LOCAL_SRC_DIRS_EXCLUDE),)
LOCAL_SRC_FILES_EXCLUDE += $(shell find $(LOCAL_SRC_DIRS_EXCLUDE) -name "*.c" -or -name "*.cpp" -or -name "*.cc")
endif
LOCAL_SRC_FILES := $(filter-out $(LOCAL_SRC_FILES_EXCLUDE), $(LOCAL_SRC_FILES))
OBJECTS = $(subst .c,.o,$(subst .cpp,.o,$(subst .cc,.o,$(LOCAL_SRC_FILES))))
#
# building targets
#
EXECUTABLE = $(LOCAL_MODULE)
SHARED_LIBRARY = lib$(LOCAL_MODULE).so
STATIC_LIBRARY = lib$(LOCAL_MODULE).a
PACKAGE = $(shell basename .t/$(LOCAL_MODULE))-$(TARGET_PLATFORM)-$(shell uname -m)-$(VERSION)-$(TIMESTAMP).tar.gz
#
# explict rules
#
%.o : %.c
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $< -o $@
%.o : %.cc
$(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) -c $< -o $@
%.o : %.cpp
$(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) -c $< -o $@
#
# goal: all
#
all: $(ALL)
$(EXECUTABLE) : $(OBJECTS)
$(CXX) $^ $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
$(STATIC_LIBRARY) : $(OBJECTS)
$(AR) crv $@ $^
$(SHARED_LIBRARY) : $(OBJECTS)
$(CXX) $^ $(LDFLAGS) $(LOCAL_LDFLAGS) -o $@
$(STRIP) --strip-unneeded $@
#
# goal: clean
#
clean:
rm -rf $(ALL) $(OBJECTS)
#
# goal: package
#
ifeq ($(findstring package,$(MAKECMDGOALS)),package)
ifeq ($(VERSION),)
$(error require argument 'VERSION' for 'package' goal)
endif
ifeq ($(PACKAGE_RESOURCES),)
endif
endif
PACKAGE_TEMP_DIR = $(PACKAGE:.tar.gz=)
package: $(PACKAGE)
$(PACKAGE): $(ALL)
@[ -e $(PACKAGE_TEMP_DIR) ] && echo "$(PACKAGE_TEMP_DIR) already exist, please delete it manually" && exit;\
rm -rf $(PACKAGE_TEMP_DIR);\
rm -rf $@;
mkdir -p $(PACKAGE_TEMP_DIR);
cp -rf -L $(ALL) $(LOCAL_PACKAGE_RESOURCES) $(PACKAGE_TEMP_DIR);
tar --exclude .svn -h -czf $@ $(PACKAGE_TEMP_DIR);
rm -rf $(PACKAGE_TEMP_DIR);