2015-11-14 5 views
0

У меня есть две разные программы, которые используют общий заголовочный файл. Оба отлично работают самостоятельно. То, что я хочу сделать, это скомпилировать с одним make-файлом, чтобы, если я хочу запустить один файл, я должен ввести ./progone.out вместо ./a.out и для другого c-файла, который я набираю. /progtwo.out. Я не делал много работы с make-файлами, поэтому я хочу знать, есть ли способ сделать это. Я проверял кучу учебников, и ни один из них, похоже, не объясняет, как это сделать.Создание файла Makefile с различными исполняемыми файлами

ответ

1
# this will have the make to compile both executables when invoked as "make" or "make all" 
.PHONY all 
all: progone.out progtwo.out 

# these defines how each programs will be built 
progone.out: progone.c commonheader.h 
    gcc -o progone.out progone.c 

progtwo.out: progtwo.c commonheader.h 
    gcc -o progtwo.out progtwo.c 

Вы также можете обобщить правила для построения каждой программы, как это, если они одинаковы:

%.out: %.c commonheader.h 
    gcc -o [email protected] $< 

[email protected] будет имя цели (%.out здесь) и $< будет имя первой зависимости (%.c здесь).

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