我正在爲學校做一些C編程,我發現自己重複使用了我創建的庫,一遍又一遍(堆棧,用戶輸入,錯誤處理等)。組織學校工作區/編寫Makefile
現在,我個人的SVN目錄結構是這樣的:
trunk/
|-- 2520
| `-- assignments
| |-- A2
| |-- Makefile
| |-- README
| |-- calculator.c
| |-- calculatorlib.c
| `-- calculatorlib.h
`-- libs
|-- misc
| |-- errorlib.c
| |-- errorlib.h
| |-- userinputlib.c
| `-- userinputlib.h
`-- stacks
|-- stacklib.c
`-- stacklib.h
有些文件(userinputlib和errorlib)的幾乎每一個項目,我的工作原因是顯而易見的習慣。我希望能夠將這些文件包含在項目的工作區(2520 /作業/ A2)中,而不必複製文件,因爲我不想管理文件的副本,也不想檢查兩份SVN中的同一個文件。
我想在項目工作區中有庫文件,這樣我的Makefile就可以工作,而無需進行大量的手動配置(或硬編碼路徑)。首先,我想到了符號鏈接(哪些SVN和tar支持),但我似乎無法編譯我的任務,因爲我的頭文件在另一個目錄中。
我可以手動將每個頭文件編譯爲一個目標文件並進行最終的鏈接,但我不知道如何在Makefile中自動執行此操作。
任何幫助或任何替代我如何我的環境設置表示讚賞。
謝謝!
編輯:我忘了提,我已經搜索谷歌和發現描述自動依存產生(或許,我想這一點?)使用gcc -MM
了幾頁,我已經閱讀過GNU Make使用手冊,但沒有跳出以我。
這正是我試圖與我的答案溝通,但我認爲你更清楚一點。 – timdev 2009-10-19 00:47:10