makefile例項(2) 多個檔案例項

2022-03-25 10:02:47 字數 2392 閱讀 6136

1,原始檔依賴關係

defs.h        command.h        buffer.h

main.cpp *

util.cpp *

kde.cpp * *

command.cpp * *

display.cpp * *

insert.cpp * *

search.cpp * *

files.cpp * * *

2, 原始檔

因為這裡只是想做一下簡單測試,所以很多原始檔的內容都是空的。

[root@localhost 1-makefile]#head *.h

==> buffer.h <==

#pragma once

#define buffer "buffer"

==> command.h <==

#pragma once

#define command "command"

==> defs.h <==

#pragma once

#define defs "defs"

[root@localhost 1-makefile]#head *.cpp

==> command.cpp <==

==> display.cpp <==

==> files.cpp <==

==> insert.cpp <==

==> kde.cpp <==

==> main.cpp <==#include

intmain()

==> search.cpp <==

==> utils.cpp <==[root@localhost

1-makefile]#

3,makefile 內容(最最原始的)

[root@localhost 1-makefile]#cat makefile 

edit : main.o kde.o command.o display.o insert.o search.o utils.o files.o

g++ -o edit main.o kde.o command.o display.o insert.o search.o utils.o files.o

main.o : main.cpp defs.h

g++ -c main.cpp

kde.o : kde.cpp defs.h command.h

g++ -c kde.cpp

command.o : command.cpp defs.h command.h

g++ -c command.cpp

display.o : display.cpp defs.h buffer.h

g++ -c display.cpp

insert.o : insert.cpp defs.h buffer.h

g++ -c insert.cpp

search.o : search.cpp defs.h buffer.h

g++ -c search.cpp

files.o : files.cpp defs.h buffer.h command.h

g++ -c files.cpp

utils.o : utils.cpp defs.h

g++ -c utils.cpp

clean :

rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

4,執行make

[root@localhost 1-makefile]#make clean

rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

5,執行結果

[root@localhost 1-makefile]#./edit 

hello world

6,執行清理

[root@localhost 1-makefile]#make clean

rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

C 編譯多個檔案makefile

逐步編譯 g c apcluster.cppapcluster.h 生成apcluster.o 中間檔案 g c example.cppapcluster.h 生成example.o中間檔案 g o main apcluster.o example.o makefile gnu的make很強大,它可...

c 的makefile檔案例項

首先宣告,感謝九哥的幫助,因為從來沒寫過makefile,所以一直是手動編譯,然後有一次寫了三個檔案,需要編譯,而我只編譯了乙個檔案,所以一直出錯,九哥告訴我用makefile更方便,可以學習一下 於是我就寫了看了很多的blog,然後向九哥要了這麼個東西,據說還有可以生成的工具 makefile f...

Makefile高階技巧多個檔案編譯

includes i home linux i i usr include 新增鏈結的標頭檔案所在目錄 ext cc opts dext mode rtm cc opts duse rtmodel 定義巨集 cflags o cflags ext cc opts cflags rtm cc opts...