2011-11-26 105 views

回答

5

这应该让你开始:注意如何-fopenmp被添加只是source2.c

输出的 make -Bsn
CC=gcc 
SRC=source1.c source2.c 
OBJ=$(patsubst %.c,%.o,$(SRC)) 
EXE=source1 
FLAGS= -g -O2 

source2.o: FLAGS+=-fopenmp 

all: $(EXE) 

$(EXE): $(OBJ) 
    $(CC) -o [email protected] $^ $(FLAGS) 

%.o: %.c 
    $(CC) -c -o [email protected] $^ $(FLAGS) 

clean: 
    rm $(EXE)$ 

gcc -o source1.o source1.c -g -O2 
gcc -o source2.o source2.c -g -O2 -fopenmp 
gcc -o source1 source1.o source2.o -g -O2 
+0

斑缺少-c标志。固定 – sehe

0

您可以定义例如EXTFLAGS=$(FLAGS) -fopenmp,并使用EXTFLAGS来获取某些规则。