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: *** 遗漏分隔符 。 停止。”




在终端下输入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-------

转载于:https://my.oschina.net/alphajay/blog/28894

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值