AIX系統下的Makefile

2021-09-08 16:56:12 字數 4387 閱讀 4148

部落格:

日期:2013.01.06

因aix下的makefile目前還不支援makefile函式,如果將linux下的makefile放入aix系統下,會出現很多錯誤。因此,很有必要總結一下aix下makefile的使用場景。

1) 編譯多個c檔案生成可執行檔案 如:

test.h test.c main.c->main可執行檔案 

cc = cccflags = -q64include = -i. \                        -i$(home)/incl \                        -i$(home)/src/incllib_path = -l. \                        -l$(home)/lib \                        -l/usr/lib lib_list = -lbase -lxml -lpkg  #(注:這裡的動態鏈結庫必須在ld_library_path的指定路徑下,否則會報找不到動態鏈結庫)objs = test.o main.otarget = main.phony: all cleanall: $(target)$(target): $(objs)    $(cc) $(cflags) -o $(target) $(objs) $(include) $(lib_path) $(lib_list).suffixes: .o .c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -f $(objs)

2) 編譯多個c檔案,生成動態鏈結庫

objs = test.o abc.otarget = libabc.so.phony: all cleanall: $(target)$(target): $(objs)    $(cc) $(cflags) -g -o $(target) $(objs) $(include).suffixes: .o .c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -f $(objs)

3) 編譯多個ec和c檔案,生成可執行檔案 如:

編譯test.h test.ec main.c->main可執行檔案

objs = test.o main.otarget = mainall: $(target)$(target): $(objs)    $(esql) $(cflags) -o $(target) $(objs) $(include) $(lib_path) $(lib_list).suffixes: .ec .c .o.ec.o:    rm -f $*.c    $(esql) $(cflags) $(include) -c $*.ec    rm -f $*.c.c.o:    $(cc) $(cflags) $(include) -c $*.c

4) 編譯多個ec和c檔案,生成動態鏈結庫

cc = ccesql = $(informixdir)/bin/esqlcflags = -q64include = -i. \                        -i$(informixdir)/incl/esql \                        -i$(informixdir)/incl/public lib_path = -l$(informixdir)/lib \                        -l$(informixdir)/lib/esqllib_list = -lbase -ltest -lhaha #(注:這裡的動態鏈結庫必須在ld_library_path的指定路徑下,否則會報找不到動態鏈結庫)objs = test.o abc.otarget = libabc.so.phony: all cleanall: $(target)$(target): $(objs)    $(esql) $(cflags) -g -o $(target) $(objs) $(lib_path) $(lib_list) $(include).suffixes: .ec .c .o.ec.o:    rm -f $*.c    $(esql) $(cflags) $(include) -c $*.ec    rm -f $*.c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -fr $(objs) $(target)

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

部落格:日期:2013.01.06

因aix下的makefile目前還不支援makefile函式,如果將linux下的makefile放入aix系統下,會出現很多錯誤。因此,很有必要總結一下aix下makefile的使用場景。

1) 編譯多個c檔案生成可執行檔案 如:

test.h test.c main.c->main可執行檔案 

cc = cccflags = -q64include = -i. \                        -i$(home)/incl \                        -i$(home)/src/incllib_path = -l. \                        -l$(home)/lib \                        -l/usr/lib lib_list = -lbase -lxml -lpkg  #(注:這裡的動態鏈結庫必須在ld_library_path的指定路徑下,否則會報找不到動態鏈結庫)objs = test.o main.otarget = main.phony: all cleanall: $(target)$(target): $(objs)    $(cc) $(cflags) -o $(target) $(objs) $(include) $(lib_path) $(lib_list).suffixes: .o .c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -f $(objs)

2) 編譯多個c檔案,生成動態鏈結庫

objs = test.o abc.otarget = libabc.so.phony: all cleanall: $(target)$(target): $(objs)    $(cc) $(cflags) -g -o $(target) $(objs) $(include).suffixes: .o .c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -f $(objs)

3) 編譯多個ec和c檔案,生成可執行檔案 如:

編譯test.h test.ec main.c->main可執行檔案

objs = test.o main.otarget = mainall: $(target)$(target): $(objs)    $(esql) $(cflags) -o $(target) $(objs) $(include) $(lib_path) $(lib_list).suffixes: .ec .c .o.ec.o:    rm -f $*.c    $(esql) $(cflags) $(include) -c $*.ec    rm -f $*.c.c.o:    $(cc) $(cflags) $(include) -c $*.c

4) 編譯多個ec和c檔案,生成動態鏈結庫

cc = ccesql = $(informixdir)/bin/esqlcflags = -q64include = -i. \                        -i$(informixdir)/incl/esql \                        -i$(informixdir)/incl/public lib_path = -l$(informixdir)/lib \                        -l$(informixdir)/lib/esqllib_list = -lbase -ltest -lhaha #(注:這裡的動態鏈結庫必須在ld_library_path的指定路徑下,否則會報找不到動態鏈結庫)objs = test.o abc.otarget = libabc.so.phony: all cleanall: $(target)$(target): $(objs)    $(esql) $(cflags) -g -o $(target) $(objs) $(lib_path) $(lib_list) $(include).suffixes: .ec .c .o.ec.o:    rm -f $*.c    $(esql) $(cflags) $(include) -c $*.ec    rm -f $*.c.c.o:    $(cc) $(cflags) $(include) -c $*.cclean:    rm -fr $(objs) $(target)

aix系統下組的命令

pg etc passwd可以檢視 etc passwd檔案 建立新使用者時候,mkuser命令會呼叫 etc lib security mkuser.sys,這個是乙個shell指令碼,可以修改的,他負責為使用者建立乙個.profile檔案,而這個.profile檔案是從 etc security...

AIX系統下的抓包方式

說明 通常aix平台使用tcpdump抓包,較老的裝置無法使用tcpdump,可使用iptrace,抓包結果都可以使用wireshark或ethereal 開啟。tcpdump抓包 最簡單方式,類似suse抓包命令 tcpdump w myself.cap i en0 x t s 0 host 10...

AIX系統下的topas命令使用

topas命令預設2秒更新一次 一 topas命令以區域形式表現系統各項指標效能,如下圖 1 cpu 反應cpu效能區域,如果有多個 cpu,按 c鍵兩次就可顯示 cpu列表。僅按 c鍵一次會關閉此區域 user 使用者程序占用cpu 的時間比率。該數值反應了使用者所執行的各種軟體所占用的 cpu時...