C: Создание статической библиотеки и создание ссылок с использованием Makefile
я пытаюсьпонимать статические и общие библиотеки.
Я хочу сделать следующее, чтобы создать make-файл, который выполняет раздельную компиляцию и компоновку, так что статическая библиотека создается и связывается при формировании конечного статического исполняемого файла.
У меня есть следующий код для Makefile, но я получаю следующую ошибку
Makefile:13: *** missing separator. Stop.
Но я также пытаюсь понять, как на самом деле связывать / создавать библиотеки.
Если я запускаю команды послеline 12
в терминале они работают, но не в make-файле.
myProgram: main.o addSorted.o freeLinks.o
gcc -lm -o myProgram main.o addSorted.o freeLinks.o
main.o: main.c
gcc -O -c -lm main.c main.h
addSorted.o: addSorted.c addSorted.h
gcc -O -c -lm addSorted.c
freeLinks.o: freeLinks.c freeLinks.h
gcc -O -c -lm freeLinks.c
ar rc libmylib.a main.o addSorted.o freeLinks.o //Error Line
ranlib libmylib.a
gcc -o foo -L. -lmylib foo.o
clean:
rm -f myProgram main.o addSorted.o freeLinks.o
Кроме того, если вы можете помочь в улучшении кода, я был бы очень признателен.