2025-05-10 21:58:58 +08:00

66 lines
1.8 KiB
Makefile
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#CC = gcc
CROSS = /home/yyz/audio/rk3308/buildroot/output/rockchip_rk3308_pcba_32bit/host/bin/arm-rockchip-linux-gnueabihf-
CC = $(CROSS)gcc
CXX = $(CROSS)g++
#MW_DIR=$(PWD)
LIBS += -lpthread
MW_DIR=./
TARGET = libmictest.so
INCLUDE = -I./
#
CFLAGS += -fPIC -DTINA_LINUX -DWITHOUT_ALOG=1 -lpthread -O3 -fno-strict-aliasing -fprefetch-loop-arrays -mfloat-abi=hard -mfpu=neon -marm -march=armv7-a
#-mfpu=neon -marm -march=armv7-a
CXXFLAGS += -fPIC -DTINA_LINUX -DWITHOUT_ALOG=1 -lpthread -O3 -fno-strict-aliasing -fprefetch-loop-arrays -mfloat-abi=hard -mfpu=neon -marm -march=armv7-a
#-mfpu=neon -marm -march=armv7-a
LDFLAGS = -fPIC -shared
#找到所有编译目录下的头文件--
SAMDIR=$(MW_DIR)
SAMINCH=$(shell find $(SAMDIR) -name "*.h*")
#找到了大家可以看到Makefile是可以使用shell命令的现在结果存储在SAMINCH。
TMP_DIR=$(dir $(SAMINCH))
#dir是个函数就是列出SAMINCH目录前缀/*.h之前的字串的结果。
SAMINCDIR=$(sort $(TMP_DIR))
#sort也是个函数这是为了去除重复的目录名。
INCLUDE += $(foreach temp, $(SAMINCDIR), -I$(temp))
#只是列出所有匹配的目录结果, 加到-I选项之后用空格隔开。
#好了,轮到源程序了。
CPP_FILES=$(shell find $(SAMDIR) -name '*.cpp')
C_FILES =$(shell find $(SAMDIR) -name '*.c')
OBJCPP=$(CPP_FILES:%.cpp=%.o)
OBJC =$(C_FILES:%.c=%.o)
#建立规则
#$(warning objcpp is $(OBJCPP) objc is $(OBJC) )
#$(warning cflags is $(CFLAGS))
#下面实际的编译过程加上:
$(TARGET): $(OBJCPP) $(OBJC)
# $(CXX) $(LDFLAGS) -o $(TARGET)
$(CXX) $(LDFLAGS) $(OBJCPP) $(OBJC) -o $@ $(LIBS)
$(OBJCPP): %.o: %.cpp
$(CXX) -c $< $(CXXFLAGS) $(INCLUDE) -o $@
$(OBJC): %.o: %.c
$(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@
#control: clean $(APP)
# $(CPP) -m32 -o $@ $(INCLUDE) $(APP)
clean:
rm -fr $(OBJCPP) $(OBJC)
# rm -f control