簡體   English   中英

為G ++編譯器創建Makefile

[英]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文件夾中。

如何使用makemakefile自動執行此過程。 還具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM