makefile多個文件夾
A. linux下 一個項目(源文件位於多個文件夾或者子文件夾),怎麼編寫makefile文件滿意高分!
# Copyright (c) 2006 Unihz Technologies Co., LTD.
# Author: Raymond S. <[email protected]>
PROGRAM := write # 最後的可執行文件
SOURCES := $(wildcard *.cpp) #通配當前目錄下說有的.cpp文件
#SOURCES += $(wildcard src/*.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) #把$(SOURCES)中的變數符合後綴是.cpp的全部替換成.o,
CC := gcc
#CFLAGS := -c -ggdb -Wall -DBUILD_TIME="\"`date`\"" -DDEBUG
CFLAGS :=
#INCLUDE := -I ../unihz -I ../config -I traffic_light
INCLUDE :=
#LIB := ../unihz/libunihz.a ../config/libconfig.a -lpthread
LIB := #庫文件
.PHONY: clean install
$(PROGRAM): $(OBJS)
$(CC) -o $@ $^ $(LIB)
%.o: %.cpp
$(CC) -c $^ $(CFLAGS) $(INCLUDE) # $@:當前規則的目的文件名, $<:依靠列表中的第 一個依靠文件,而 $^:整個依靠的列表(除掉了裡面所有重復的文件名)。
clean:
rm *.o src/*.o $(PROGRAM) -f
install: $(PROGRAM)
cp $(PROGRAM) ./bin/
拿這個去該改吧,比較通用的
B. linux 一個目錄可以有幾個Makefile假如可以有多個,應該如何做
make(前提是使用Linux的make)按照默認的所搜方式查找makefile,首先是GNUmakefile,然後是makefile,最後是Makefile,如果要指定一個不符合上述所有命名規則的文件作為makefile,那麼要使用參數-f,如你所說的Make_hello可以這樣使用:make -f Make_hello。
C. 如何為多目錄源文件建立makefile
c文件在不同目錄的情況makefile怎麼寫
假設有下面幾個c++文件:
wherewhen.h
wherewhen.c
countdown.h
countdown.c
包含了math.h,
需要連接庫文件
main.c
主函數,
main.c
包含了兩個頭文件
wherewhen.h
and
countdown.h
D. makefile怎麼編繹不同文件夾的.c和.h
有兩種方法:一是你修改系統頭文件的文件夾路徑和你的源文件夾路徑。二是你將兩個文件復制到系統指定的文件夾中即可。
你用的是Turbo C嗎?如果是,見下圖。如果不是,可以參考著去做。
第四行是源文件所在目錄,你可以根據實際情況修改。
E. 怎麼通過makefile生成多個可執行文件
all:main1 main2
main1:
gcc -o main1 main1.o
main1.o:main1.c
gcc -c main1.o main1.c
main2:
gcc -o main2 main2.o
main2.o:main2.c
gcc -c main2.o main2.c
最後生成main1 ,main2 2個可執行文件,答案還滿意嗎?
F. 如何用makefile編譯多個c文件
假設有下面幾個c++文件:
wherewhen.h wherewhen.c
countdown.h countdown.c 包含了math.h, 需要連接庫文件
main.c 主函數, main.c 包含了兩個頭文件 wherewhen.h and countdown.h
1、第一種編譯方法:
g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram
生成可執行文件myprogram
2、第二中編譯方法, 分別編譯各個文件:
g++ -Wall -g -c wherewhen.c
g++ -Wall -g -c countdown.c
g++ -Wall -g -c main.c
g++ -g wherewhen.o countdown.o main.o -lm -o myprogram
G. 請教多文件夾makefile問題
一般來講,一個項目會有多個模塊,源文件分別放在不同的目錄文件夾中。
這時候,Makefile就需要遍歷不同目錄下的C程序源文件,然後分別編譯成目標文件、然後再鏈接成可執行程序。
更深入的教程,可以參考Makefile工程實踐視頻教程,裡面對源文件、目標文件、庫分別使用目錄進行管理,存放在不同的文件目錄下,如何編寫Makefile實現上面的目的。
H. 一個文件夾里有兩個makefile文件,一個makefile1和makefile,make執行哪個
makefile 被默認執行。
要執行makefile1,需要用下面這個命令
make -f makefile1