制作编译选项

时间:2015-12-31 04:28:00

标签: makefile

我正在使用Ubuntu 14.04运行32位机器。我想执行sudo make来生成C ++编译文件(gcc-4.8.4)。我的Makefile是

Makefile(根据ddumbugie的评论编辑):

CDefines = -DLINUXGXX
COMPFLAGS     =   
FlameManCC = gcc
FlameManCCOpts = -O3

OBJECTS = alligator.o
COpts = $(COMPFLAGS) $(FlameManCCOpts) $(CDefines)
CC = $(FlameManCC)
alligator.o: alligator.c
    $(CC) $(COpts) -c $< -o $@

执行

make -n 

给了我

gcc  -O3 -DLINUXGXX -c alligator.c -o alligator.o

但是

sudo make -n 

给了我

DLINUXGXX -c alligator.c -o alligator.o

绝对命令DLINUXGXX不被理解。但是,我需要保留make执行的后续命令的超级用户。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

CDefines = -DLINUXGXX
COpts = -O3 $(CDefines)
alligator.o: alligator.c
    $(CC) $(COpts) -c $< -o $@

它需要-o个编译器选项。

  • $@表示目标。那是alligator.o
  • $<表示依赖。那是alligator.c