У меня есть один вопрос о компиляции исходного файла c в файл obj. ситуация такова: у меня есть исходный код от поставщика, какой-то lib от поставщика и некоторый obj-файл от поставщика.скомпилировать исходный код c в файл obj
Makefile, обеспечивают по поставщикам, а также, и использовать следующий способ определить источник:
${BUILD_LIB}_FILES += a.c \
b.c \
c.c
Эти три C-файлы должны сначала компилировать в OBJ файл, а затем генерировать Lib файл. Тем не менее, поставщик НЕ выпустил мне файл c.c
, он предоставил мне только c.o
, это означает, что я сначала скомпилирую a.c
и b.c
в файл obj и использую их вместе с c.o
для генерации файла lib, но как это может быть сделано makefile?
Запутанная точка находится в Makefile, это уже список c.c
должна быть в процессе компиляции (это добавить c.c
в переменные $ {BUILD_LIB} _FILES), но если марка может найти там предварительно построить c.o
, он не будет компиляция c.c
(это значит для моей ситуации, независимо от того, что есть c.c
или нет, она скомпилируется успешно), ПОЧЕМУ? Из моего понимания, gcc
должен скомпилировать ВСЕ исходные файлы, которые уже перечислены в этой переменной.
Ответ на ваш вопрос зависит от другого содержимого make-файла, которое вам нужно будет показать. – Armali