CLEAN_OBJS_OTHER += $(TARGET).elf $(TARGET).map $(TARGET).bin $(TARGET).dump $(TARGET).dasm \ $(TARGET).srec $(TARGET).hex $(TARGET).verilog openocd.log $(ALL_DEPS) $(ALL_GCNOS)
时间: 2023-12-19 10:06:18 浏览: 32
这也是一个Makefile文件中的语句,将一系列文件名添加到CLEAN_OBJS_OTHER变量中,这些文件名包括编译生成的文件(.elf, .map, .bin, .dump, .dasm, .srec, .hex, .verilog),以及一些其他文件(openocd.log, 所有的依赖文件ALL_DEPS, 所有的gcno文件ALL_GCNOS)。这样做的目的是为了在运行清理操作时,将这些文件一并删除,保持目录的整洁和清晰。
相关问题
include ../Makefile.param SMP_SRCS += $(wildcard $(PWD)/*.c) SMP_INC := -I$(PWD)/ TARGET := sample_ax TARGET_PATH := $(PWD) # target source OBJS := $(SMP_SRCS:%.c=%.o) CFLAGS += $(COMM_INC) .PHONY : clean all all: $(TARGET) %.o: %.c @$(CC) $(CFLAGS) -c $^ -o $@ $(TARGET):$(COMM_OBJ) $(OBJS) @$(CC) $(CFLAGS) -lpthread -lm -o $(TARGET_PATH)/$@ $^ -Wl,--start-group $(SENSOR_LIBS) $(MI_LIBS) -Wl,--end-group clean: @rm -f $(TARGET_PATH)/$(TARGET) @rm -f $(OBJS) @rm -f $(COMM_OBJ)
这是一个简单的Makefile文件,用于编译一个名为sample_ax的目标文件。该目标文件依赖于一些源文件(以.c为后缀),其中$(SMP_SRCS)是通配符函数$(wildcard $(PWD)/*.c)的结果。$(OBJS)是将源文件转换为目标文件的规则。
在编译过程中,使用了一些变量和选项。$(CFLAGS)是编译选项,$(COMM_INC)是包含的头文件路径。-lpthread和-lm用于链接线程库和数学库。
在生成目标文件之前,需要先生成$(COMM_OBJ)(该变量未在代码中定义),并将其与$(OBJS)一起链接成最终的目标文件$(TARGET)。
clean目标用于清理生成的目标文件和中间文件。
请注意,这只是Makefile文件的一部分,可能还需要其他文件和选项才能成功编译。
ALL_ASM_OBJS := $(ALL_ASMSRCS:=.o)
这是一个Makefile文件中的语句,用于将所有的汇编文件编译成目标文件。具体来说,ALL_ASMSRCS是所有的汇编文件的列表,:=表示将后面的变量赋值给前面的变量,$(ALL_ASMSRCS:=.o)表示将ALL_ASMSRCS列表中的每个文件名后面加上.o,形成一个新的列表,然后赋值给ALL_ASM_OBJS变量。最终的效果是将所有的汇编文件编译成对应的目标文件,例如foo.s编译成foo.o。