Linux c語言 make檔案模板

2021-10-08 22:14:10 字數 3026 閱讀 7625

1. 生成 靜態庫,動態庫模板

lib=pubfun#原始檔

lib:

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

@echo "/********************end to make********************/"

2.普通mak檔案模板:

$(target):dependances

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

$(cc) -o $(target) $(target).c $(cominclude)  $(warn) $(thread) $(lib)

mv $(target) $(bin)

@echo "/********************end to make********************/"

$(target):

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

$(cc) -o $(target) $(cominclude) $(pubfun) $(warn) $(thread) $(target).c

mv $(target) $(bin)

@echo "/********************end to make********************/"

3.oracle編譯make模板:

#目標檔案

target=$#填目標檔案

orafun=$(oracle_fun)/oracle_fun

pubfun=$(pub_fun)/pubfun

tmppc=$(oracle_fun)/tbl_qual_system_record

cominclude=-i./include/

warn=-g -wall

#oracle工具

ora_inc=-i$(oracle_home)/precomp/public

ora_libdir=-l$(oracle_home)/lib -l$(oracle_home)/rdbms/lib -l$(oracle_home)/precomp/lib -l$(oracle_home)/sqlplus/lib -l$(oracle_home)/otrace/lib

ora_libs= -lclntsh

cflags= $(ora_inc) -i.

proc=proc

#c編譯

cc=gcc

#編譯程式

$(target):

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

ifeq ($(dbtype),mysql)

@echo "$(dbtype) is not define db,exit"

else ifeq ($(dbtype),oracle)

@echo "datatype:$(dbtype)"

endif

@echo "/********************end to make********************/"

#oracle工具

ora_inc=-i$(oracle_home)/precomp/public

ora_libdir=-l$(oracle_home)/lib -l$(oracle_home)/rdbms/lib -l$(oracle_home)/precomp/lib -l$(oracle_home)/sqlplus/lib -l$(oracle_home)/otrace/lib

ora_libs= -lclntsh

cflags= $(ora_inc) -i.

proc=proc

#編譯程式

$(target):dependances

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

ifeq ($(dbtype),mysql)

@echo "$(dbtype) is not define db,exit"

else

@echo "datatype:$(dbtype)"

endif

@echo "/********************end to make********************/"

4:mysql編譯模板:

ifeq ($(dbtype),mysql)#mysql 資料庫編譯

ifeq ($,qualsalasmac)

mysql_lib=-i$/include

mysql_ln=-l$/lib -lmysqlclient

else

mysql_lib=-i/usr/include/mysql

mysql_ln=-l/usr/lib64/mysql -lmysqlclient

endif

$(target):

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

@echo "datatype:$(dbtype)"

else

$(target):

@echo "/********************begin to make********************/"

@echo "begin make [email protected]"

@echo "$(dbtype) is not define db,exit"

endif

Linux C語言檔案讀寫

include include include include include include void main int fd,size char s hello world buffer 200 開啟 home yyf desktop linux 做寫入,如果該檔案不存在則建立該檔案 引數o w...

Linux C語言標頭檔案搜尋路徑

本文介紹在linux中標頭檔案的搜尋路徑,也就是說你通過include指定的標頭檔案,linux下的gcc編譯器它是怎麼找到它的呢。在此之前,先了解乙個基本概念。標頭檔案是一種文字檔案,使用文字編輯器將 編寫好之後,以副檔名.h儲存就行了。標頭檔案中一般放一些重複使用的 例如函式宣告 變數宣告 常數...

Linux C語言標頭檔案搜尋路徑

本文介紹在linux中標頭檔案的搜尋路徑,也就是說你通過include指定的標頭檔案,linux下的gcc編譯器它是怎麼找到它的呢。在此之前,先了解乙個基本概念。標頭檔案是一種文字檔案,使用文字編輯器將 編寫好之後,以副檔名.h儲存就行了。標頭檔案中一般放一些重複使用的 例如函式宣告 變數宣告 常數...