2014-10-16 48 views
0

我有一個makefile,它在OS X中給出了以下錯誤,如果有人對爲什麼會出現此錯誤有一個想法,我將非常感激: ./../../。 ./..//來源//templates/gcc/Makefile.posix:15:***缺少分隔符。停止。 這裏是生成文件:括號編輯生成文件在Mac OS X中缺少分隔符

GNU_INSTALL_ROOT := /usr/local/gcc-arm-none-eabi-4_8-2014q3 
GNU_VERSION := 4.8.3 
GNU_PREFIX := arm-none-eabi 
GDB_PORT_NUMBER := 9992 

FLASH_START_ADDR = $(shell $(OBJDUMP) -h $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out -j .text | grep .text | awk '{print $$4}') 

JLINK_OPTS = -device nrf51822 -if swd -speed 4000 
JLINK_GDB_OPTS = -noir 
JLINK = JLinkExe $(JLINK_OPTS) 
JLINKD_GDB = JLinkGDBServer $(JLINK_GDB_OPTS) 


flash-jlink: flash.jlink 
    $(JLINK) flash.jlink 

flash.jlink: 
    printf "loadbin $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin $(FLASH_START_ADDR)\nr\ng\nexit\n" > flash.jlink 

erase-all: erase-all.jlink 
    $(JLINK) erase-all.jlink 

erase-all.jlink: 
    # Write to NVMC to enable erase, do erase all, wait for completion. reset 
    printf "w4 4001e504 2\nw4 4001e50c 1\nsleep 100\nr\nexit\n" > erase-all.jlink 

run-debug: 
    $(JLINKD_GDB) $(JLINK_OPTS) $(JLINK_GDB_OPTS) -port $(GDB_PORT_NUMBER) 

.PHONY: flash-jlink flash.jlink erase-all erase-all.jlink run-debug 
+0

「缺少分隔符」幾乎總是意味着您的某個命令行不是以製表符開始的。確保每個命令行中的第一個字符是選項卡,而不是空格。 – 2014-10-16 14:37:07

+0

有各種各樣的可能性。當然@ JohnBode的答案很可能。如果你實際上粘貼了確切的錯誤信息,而不是在標題中進行解釋,那麼我們可能會明確地告訴你,因爲信息將包含行號......沒有我們只是猜測。 – MadScientist 2014-10-17 00:13:34

+0

true,sorry:../../../../..//來源// templates/gcc/Makefile.posix:15:***缺少分隔符。停止。 – Baldrick 2014-10-17 17:48:53

回答

1
TAB

字符是由4位(SP屬SP,SP)置換。更改爲其他編輯器(TextMate)解決了問題