首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Autotools 實戰:自動生成 Makefile 完整步驟詳解

     編輯:關於C語言

畢業設計在 Linux 開發,Makefile 編寫必不可少。為偷懶使用 Autotools 自動生成,記錄完整實驗過程(平台:Fedora 8、HP 6510B)。

十步生成 Makefile

  1. 準備源碼:/root/project/main/main.c(簡單 Hello World)。
  2. autoscan:生成 configure.scan、autoscan.log。
  3. 重命名並修改:configure.scan → configure.in,修改 AC_INIT(main, 1.0, email)、新增 AM_INIT_AUTOMAKE(main,1.0)、AC_OUTPUT([Makefile])。
  4. aclocal:生成 aclocal.m4、autom4te.cache。
  5. autoconf:生成 configure 腳本。
  6. autoheader:生成 config.h.in。
  7. 編寫 Makefile.am:
    AUTOMAKE_OPTIONS=foreign
    bin_PROGRAMS=main
    main_SOURCES=main.c
    
    • foreign:僅檢測必須文件(非 GNU 標準)。
    • bin_PROGRAMS:目標執行檔名。
    • main_SOURCES:該目標依賴源文件。
  8. automake --add-missing:生成 Makefile.in 並補全 missing、install-sh、depcomp 等輔助腳本。
  9. ./configure:檢測環境,生成最終 Makefile、config.h、config.status。
  10. make:編譯生成 main 執行檔,運行驗證輸出 "Hello, Auto Makefile!"。

關鍵點補充

  • AUTOMAKE_OPTIONS 三等級:foreign(寬鬆)、gnu(預設嚴格)、gnits(更嚴格)。
  • 若 aclocal 報 m4 宏錯誤,檢查對應行為變數加中括號 [var]。
  • 整個流程標準化、可移植,適合跨平台專案。

轉載自:cnblogs
本文出自「驛落黃昏」博客,轉載請保留出處:https://yiluohuanghun.blog.51cto.com/3407300/1288781

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved