我在vxworks中维护现有的BSP,我们制作文件如下所示
CPU = CPU32
TOOL = gnu
TGT_DIR = $(WIND_BASE)/target
include $(WIND_BASE)/target/h/make/defs.bsp
include $(WIND_BASE)/target/h/make/make.$(CPU)$(TOOL)
include $(WIND_BASE)/target/h/make/defs.$(WIND_HOST_TYPE)
MY_PATH = C:\source\BSP\
/* Build for CPU32: */
BS_ROM_ENTRY = _bootstrapInit
BS_LD_LOW_FLAGS = -Ttext 8
BS_ROM_SIZE = 4000 # Size of first sector in flash SA0.
ROM_TEXT_ADRS = 8
HEX_FLAGS = -v -p 8 -a 8
bsexe: $(MY_PATH)/bootstrap.hex
$(MY_PATH)/bootstrapInit.o: $(MY_PATH)/bootstrapInit.s
$(RM) $(MY_PATH)/boostrapInit.o
$(CC) -c $(CFLAGS_AS) $(MY_PATH)/bootstrapInit.s -o $@
$(MY_PATH)/bootStrapStart.o: $(MY_PATH)/bootStrapStart.c
$(RM) $(MY_PATH)/bootStrapStart.o
$(CC) -c $(CFLAGS) $(MY_PATH)/bootStrapStart.c -o $@
$(MY_PATH)/comMem.o: $(MY_PATH)/comMem.c
$(RM) $(MY_PATH)/comMem.o
$(CC) -c $(CFLAGS) $(MY_PATH)/comMem.c -o $@
$(MY_PATH)/bootstrap: $(MY_PATH)/bootstrapInit.o $(MY_PATH)/bootStrapStart.o $(MY_PATH)/comMem.o
$(RM) $(MY_PATH)/bootstrap
$(LD) $(LDFLAGS) -e $(BS_ROM_ENTRY) $(BS_LD_LOW_FLAGS) -Map bootstrap.map \
-o $@ $(MY_PATH)/bootstrapInit.o $(MY_PATH)/bootStrapStart.o $(MY_PATH)/comMem.o
$(ROMSIZEPROG) -b $(BS_ROM_SIZE) $@
$(LDOUT_CONV) $@
@echo hi // question here line 1
$(MY_PATH)/bootstrap.hex: $(MY_PATH)/bootstrap
$(RM) $(MY_PATH)/bootstrap.hex
$(BINHEX) $(HEX_FLAGS) $(SECT_SPEC)$(MY_PATH)/bootstrap$(TXT_OFFSET) \
$(IMI_SPEC)$(IMI)$(IMI_OFFSET) > $@$(MAP_EXT)
-@ $(MV_BIN)
@echo hi // question her line 2
当我使用上面的make文件构建时,我看到第1行的“hi”的输出,我没有看到line2的输出。可能有什么问题。我不是一个试图了解和解决客户问题的make文件专家。
另外一个问题是“$(LDOUT_CONV)”和 - @ $(MV_BIN)代表什么,以及make文件看到这些行时采取的操作。
感谢。
答案 0 :(得分:0)
在第2行声明之前,您是否只有一个标签?如果不是,则不能执行该语句。
“$(LDOUT_CONV)”和$(MV_BIN)是其他文件的定义变量,您可以找到它们来检查它们的作用。