[英]Creating a makefile for g++ compiler
我有一些代碼,每次我想編譯時,都必須在linux shell中執行以下命令(僅作為示例):
$g++ -I. -I$SYSTEMC_HOME/include -L. -L$SYSTEMC_HOME/lib-linux64 -o sim helloworld.cpp -lsystemc -lm
在此示例中,我的源文件是helloworld.cpp
,我希望將其編譯在與源文件相同的文件夾中的sim
文件夾中。
如何使用make
或makefile
自動執行此過程。 還具有make clean
選項來刪除創建的文件夾(如果調用)嗎?
簡單
%.o: %.cpp
g++ $(YOUR_CXX_FLAGS_HERE) -c $< -o $@
$(YOUR_PACKAGE_NAME_HERE): $(YOUR_OBJECTS_HERE)
g++ $(SOME_LDFLAGS_HERE) $^ -o $@
clean:
rm $(YOUR_PACKAGE_NAME_HERE) $(YOUR_OBJECTS_HERE)
.PHONY: clean
有很好的教程,像這樣的 。
如果將cpp文件重命名為sim.cpp
這可能是最簡單的Makefile
CPPFLAGS := -I. -I$(SYSTEMC_HOME)/include
LDFLAGS := -L. -L$(SYSTEMC_HOME)/lib-linux64
LDLIBS := -lsystemc -lm
sim:
.PHONY: clean
clean: ; $(RM) sim
隱式規則應該為您處理其他一切
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.