2010-09-15 2 views
-1

привет я хочу сделать Makefile в Linux, который будет принимать все .cpp файлы в директории компилировать их и создать один файл .o, что я могу активным, как я могу сделать это с неявными правиламиНеявные правила в Makefile

благодаря Mati

+0

Вы имеете в виду один '' .a' или .so' файл? –

+0

Там будут файлы n .o для файлов ncpp. Я думаю, вы говорите о .so. Используйте ar rcs для генерации libs. – Alam

ответ

1

Неявные правила помогут создать объектные файлы, но объединить их вместе будет делать явно (как это то, что редко делается).

OBJ = a.o b.o 

big.o : ${OBJ} 
    ${LD} -r -o [email protected] $^ 
0

Или, может быть, вы можете попробовать следующий метод после того, как правильно определены переменные:

.o: .cpp 
    $(CPP) -c $(CPPFLAGS) $< -o [email protected] 
$(EXECUTABLE): $(OBJ) 
    $(CPP) $(LDFLAGS) $^ -o [email protected] 
+0

$ (CPP) и $ (CPPFLAGS) предназначены для препроцессора, а не для компилятора. Я думаю, вы имели в виду $ (CXX) и $ (CXXFLAGS). – robinjam

Смежные вопросы