1. 程式人生 > >批量修改Makefile內容

批量修改Makefile內容

提出問題

在64位linux上執行某程式時,發現其需要32位的庫,其中一個就是fontconfig-2.7.0.tar.gz。然後在linux上編譯fontconfig-2.7.0.tar.gz,操作如下:

./configure --prefix=`pwd`/../install/
make
make install

將編譯出來的庫放到軟體中,執行出錯。編譯出來是64位的。
[email protected]:/usr/lib/x86_64-linux-gnu# file libfontconfig.so.1.8.0
libfontconfig.so.1.8.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5cef2f0e7239d3d7c0ffaafe1dc72773406782a0, stripped

[email protected]:/usr/lib/x86_64-linux-gnu#

如何修改?

這裡我採用方法是:將所有 Makefile使用的GCC和LD修改。具體如下:

  • 將ld -m elf_x86_64修改為ld -m elf_i386
  • 將gcc修gcc -m32
  • 檢查makefile,發現depmode=gcc3被修改成gcc -m323,這不符合我們的要求,重新修正成gcc3

檢視有多少Makefile需要修改:

root@inspur:/home/liufei/test/fontconfig/aaa/fontconfig-2.7.0# find . -name "Makefile"
./fc-case/Makefile ./src/Makefile ./fc-list/Makefile ./fc-scan/Makefile ./fc-query/Makefile ./fc-cat/Makefile ./test/Makefile ./fc-cache/Makefile ./fc-arch/Makefile ./fontconfig/Makefile ./Makefile ./fc-match/Makefile ./fc-lang/Makefile ./doc/Makefile ./fc-glyphname/Makefile ./conf.d/Makefile root@inspur:/home/liufei/test/fontconfig/aaa/fontconfig-
2.7.0#

如果一個一個去修改,真讓人崩潰。有沒有什麼辦法可以一次性修改所有的Makefile呢?

當然有,使用sed即可完成。

#替換ld中的選項,/usr/bin/ld -m elf_x86_64修改為/usr/bin/ld -m elf_i386
sed -i 's/elf_x86_64/elf_i386/g' `find . -name "Makefile"`

#增加m32選項,使用32位gcc
sed -i 's/gcc/gcc -m32/g' `find . -name "Makefile"`

#修改錯誤的替換
sed -i 's/gcc -m323/gcc -m3/g' `find . -name "Makefile"`

這樣修改之後,執行make;make install。

大功告成!!!

相關推薦

批量修改Makefile內容

提出問題 在64位linux上執行某程式時,發現其需要32位的庫,其中一個就是fontconfig-2.7.0.tar.gz。然後在linux上編譯fontconfig-2.7.0.tar.gz,操作如下: ./configure --prefix=`p

sed 批量修改Makefile文件

sed 批量修改makefile文件Makefile文件太多 [[email protected]/* */ DarwinStreamingSrvr6.0.3-Source]# find -name Makefile.POSIX ./APIModules/QTSSDemoAuthorizatio

c# .net批量修改檔案內容

專案中會碰到需要批量替換修改html、txt等檔案的內容,以下貼出我的一個工具類 //讀取需要替換的文字 String pathTemp = System.Environment.CurrentDirectory + "\\t

linux 批量替換檔案內容及查詢某目錄下所有包含某字串的檔案(批量修改檔案內容

sed replace word / string syntax The syntax is as follows: C程式碼   sed -i 's/old-word/new-word/g' *.txt   GNU sed command can edit files in place (

Visio批量修改圖形內容,匯出圖片,另存為新檔案

Sub chenphAutoExport() ' 角色 Dim role(2) As String role(0) = "普通教師" role(1) = "高階教師" ' 分類 Dim sort(2) As String

Excel 批量修改內容的指令碼

1、例如,將 A列的字串中的2008換成2009 建立一個巨集test Sub test()Dim r As RangeFor Each r In Range("a:a").SpecialCells(xlCellTypeConstants)      r = repla

Python3 寫的遠程批量修改文件內容的腳本

tde sts readline imp 主機 ati strip 遠程 調用 一、說明: 1、利用Python的paramiko模塊,調用遠程的shell命令去修改相應文件。 2、有一個專用配置文件,列出服務器清單。 3、Python循環讀取配置文件的服務器IP去連接它,

根據select的內容批量修改一個表的欄位

/*判斷是否存在,如果存在就刪除*/ drop procedure if exists tempProcedure_Test;/*取一個系統中絕對不會用到的儲存過程名稱*/ /*建立臨時儲存過程*/ create procedure tempProcedure_Test() BEGIN declar

實現對easyui-datagrid的資料行批量修改(包括修改內容和刪除)

先上一個easyui-datagrid的資料。 而我們要實現的功能是1.對三條記錄進行批量的刪除和批量的修改狀態。 1.批量的刪除 我們選擇傳入三條記錄的id值,並利用service層的deleteByid方法進行刪除。 具體程式碼如下所示。 先上service層程式碼:

ASP.NET C#如何讀取word,寫入word,複製內容到另一個word文件,批量修改檔名

首先要新增COM引用 Microsoft word 11.0 Object Library. 然後新增.NET引用 Microsoft.Office.Interop.Word.dll 下載Aspose.Words引用 Aspose.Words.dll using S

VBA實現批量修改Word文件的頁尾內容

功能示例: 有很多個doc文件,頁尾的電話變了,如原電話是4007339339,現在變成4007168339了,要實現批量替換,可使用此程式。 使用說明: 1、 複製下面程式程式碼到VBA裡後,點“工具”-“巨集”-“巨集”-“change”-“執行” 2、 輸入目錄(不要

word vba批量替換檔案內容批量修改檔名

最近在工作中遇到某一資料夾下的許多檔案,名字和內容有大量需要替換,一個個手工替換很麻煩,於是修改了一段程式碼: Sub 批量更改word要素編號及檔名() '此程式碼為指定資料夾中所有選取的WORD檔案的進行格式設定 Dim MyDialog As FileDialog,

unity 程式碼批量修改Remove Missing Script和批量修改指定元件的內容

昨天在專案開發中,發現一個問題,就是一些指令碼已經被廢棄,但是這些廢棄指令碼還是被繫結在某些預製體中,這時候執行就會產生很多Missing Script的警告資訊,這些警告雖不影響程式碼的實際執行,但是一個大專案肯定不能出現的N多的警告資訊,並且這裡通過手動去找肯定不現實,所

linux下用命令批量修改替換檔案內容

在linux入侵之後,我們要清除留下的一些痕跡,比如apache留下的日誌.但是對於ssh登陸日誌比如/var/log/wtmp 和 lastlog這類二進位制檔案,sed命令就愛莫能助了. Linux下批量替換多個檔案中的字串的簡單方法。用sed命令可以批量替換多個檔案

關於linux系統下批量修改文件名和後綴

linux 字符串 總會遇到遇到處理文件的問題,比如文件後綴修改,以前都是寫shell,後來發現有個更簡單的方法rename1,在centos 下是用c 寫的 rename用法: a.txt 修改為 a.cc rename txt cc *.txt

Chrome瀏覽器任意修改網頁內容

tar 瀏覽器 doc log abs 技術分享 單擊 first top 在Chrome瀏覽器按F12,打開開發者工具,切換到console選項卡: 在下面的輸入行輸入下面的命令回車:document.body.contentEditable="true" 再

jQuery匹配id 批量修改css屬性

val log bsp hid spa div span 屬性 flow 1 <ul id="foreignCurrencyTree_1_ul"> 2 <li id="foreignCurrencyTree_11_li">111111&

MySQL+MyBatis下批量修改數據的問題

void repo font mes fcc strac size subject joinpoint 今天處理數據批量的更新,場景是這樣子的,web站管理的字典功能,需要添加一個記錄的整體描述,以及詳細內容的描述。一個字典整體概述只有一組信息,但是其詳細內容,會有很多項,

批量修改字段中不規則的部分

不同的 自己 方法 php 循環 ace 包括 批量修改字段 repl 需求:mysql數據表中有img字段,其中包括下面三條數據,我想把圖片名保留下來,前面的部分改成自己想要的部分,即下面三條數據,其實這個字段的數據遠不止三條,這裏只是個例子。 http://s29.99

Linux下批量修改文件名(rename)

批量修改 rename1.rename命令批量修改文件名, 其實Linux下可以使用別的辦法來批量修改文件名, 不過rename實在太方便了比如把所有的表為cdb1_* 修改為cdb_*的在本目錄下只需要# rename ‘cdb1‘ ‘cdb‘ *以前都是寫個for循環來做...想想多傻啊, 呵呵ren