【发布时间】:2015-06-17 07:41:26
【问题描述】:
我有以下旧版 makefile。
如何更新此文件以编译 C++?
这是依赖部分:
# Dependency rules
.PHONY: all clean
all: $(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).bin
-include $(APPDEPS)
%.d:
rm -f $*.o
%.o: %.S
$(info Assembling $< ...)
$(CC) -c -o $@ $(CFLAGS) $(INCFLAGS) $< -MD -MF $*.d -MP
@echo
%.o: %.c
$(info Compiling $< ...)
$(CC) -c -o $@ $(CFLAGS) $(INCFLAGS) $< -MD -MF $*.d -MP
@echo
$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).elf: $(APPOBJS) $(addsuffix _$(JENNIC_CHIP_FAMILY).a,$(addprefix $(COMPONENTS_BASE_DIR)/Library/lib,$(APPLIBS)))
$(info Linking $@ ...)
$(CC) -Wl,--gc-sections -Wl,-u_AppColdStart -Wl,-u_AppWarmStart $(LDFLAGS) -T$(LINKCMD) -o $@ $(APPOBJS) -Wl,--start-group $(addprefix -l,$(LDLIBS)) -Wl,--end-group -Wl,-Map,$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).map
ba-elf-size $@
@echo
$(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).bin: $(TARGET)_$(JENNIC_CHIP)$(BIN_SUFFIX).elf
$(info Generating binary ...)
$(OBJCOPY) -S -O binary $< $@
它为微型编译器编译了一些 C 代码。
【问题讨论】:
-
为
.cpp文件添加一个目标,您使用C++ 编译器($(CXX)) 代替?也可能使用 C++ 标志 ($(CXXFLAGS))? -
您是否尝试过将
CC替换为CXX和.c替换为.cpp?大多数其他选项都不是 C 特定的。 -
@nneonneo 我会试试的。 tnx
-
@nneonneo 成功了!谢谢