makefile问题:“makefile:2: *** 遗漏分隔符 。 中止。”

咱们在编写完makefile,而后在终端中
$make
出现“makefile:2: *** 遗漏分隔符 。 中止。”问题,缘由是在编写makefile文件时:
all:
     gcc -o helloworld helloworld.c
fresh:
     rm -rf Makefile
clean:
     rm -rf helloworld helloworld.o
install:
     cp helloworld /usr/bin
uninstall:
     rm -rf /usr/bin/helloworld


gcc、rm、cp前面是tab分割符,不能用空格,不然会出现:

“makefile:2: *** 遗漏分隔符 。 中止。”
“makefile:4: *** 遗漏分隔符 。 中止。”
“makefile:6: *** 遗漏分隔符 。 中止。”
“makefile:8: *** 遗漏分隔符 。 中止。”

“makefile:10: *** 遗漏分隔符 。 中止。”
spa




在终端下输入make时出现“makefile:2: *** 遗漏分隔符 。 中止。”问题,缘由是编写makefile文件时:

exam:exam.c

gcc -o exam

gcc前必定要 有一个tab分隔符,不能有空格;不然会出现“makefile:2: *** 遗漏分隔符 。 中止。”问题

 

make中规定每一Shell命令以前的开头必须使用字符


如下是一个通用的makefile
#----------------------一个通用的makefile--------------------
########################################################
#直接拷贝到工做目录 下,要求,.h和.c文件均在工做目录下
#直接运行make就可编译出可执行文件,make clean清除
########################################################
#编译器
CC = gcc
FLAG = -g

#须要的连接库名称如 -lm -lcdk -lncurses等
INCLUDE =

#当前目录
CURRENT_DIR += .
#头文件目录
HEADFILE_DIR += /usr/local/include
#生成的可执行文件名称
EXENAME = compileok
########################################################


ADDED_CFLAGS += -I$(CURRENT_DIR) -I$(HEADFILE_DIR)

SRC = $(wildcard *.c)
OBJS = $(patsubst %.c,%.o,$(SRC))

$(EXENAME) : $(OBJS)
$(CC) $(ADDED_CFLAGS) $(FLAG) -o $@ $(OBJS) $(INCLUDE)

$(OBJS) : $(SRC)
$(CC) $(ADDED_CFLAGS) $(FLAG) -c $(SRC) $(INCLUDE)

.PHONY:     clean
clean :
    -rm -rf *.o $(EXENAME)

#----EOF-------
编译器

相关文章
相关标签/搜索