0
我有兩個不同的程序使用通用頭文件。兩者都完全依靠自己的工作。我想要做的就是能夠用一個makefile編譯,這樣如果我想運行一個文件,我必須輸入./progone.out而不是./a.out,而輸入另一個c文件。 /progtwo.out。我沒有做大量的makefile工作,所以我想知道是否有辦法做到這一點。我一直在檢查一堆教程,而他們都沒有解釋如何做到這一點。使用不同的可執行文件創建Makefile
我有兩個不同的程序使用通用頭文件。兩者都完全依靠自己的工作。我想要做的就是能夠用一個makefile編譯,這樣如果我想運行一個文件,我必須輸入./progone.out而不是./a.out,而輸入另一個c文件。 /progtwo.out。我沒有做大量的makefile工作,所以我想知道是否有辦法做到這一點。我一直在檢查一堆教程,而他們都沒有解釋如何做到這一點。使用不同的可執行文件創建Makefile
# 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
)。