我正在使用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执行的后续命令的超级用户。我该如何解决这个问题?
答案 0 :(得分:0)
CDefines = -DLINUXGXX
COpts = -O3 $(CDefines)
alligator.o: alligator.c
$(CC) $(COpts) -c $< -o $@
它需要-o
个编译器选项。
$@
表示目标。那是alligator.o
。$<
表示依赖。那是alligator.c
。