Makefile根據檔名編譯檔案

2021-10-04 02:04:55 字數 928 閱讀 6888

同級目錄下有多個具有main函式的.c檔案,需要根據檔名來覺得哪乙個.c被編譯。makefile檔案如下:

bin=test

cc=gcc

cflags=-dxdebug #自定義的巨集定義

libs=

incs=-i./../inc/ #標頭檔案的路徑

srcs:=

$0.c

cobjs:=

$(srcs:.c=.o)

all:$(bin)

$(cobjs)

: %.o: %.c

$(cc)

-c $< -o $@

$(incs)

$(cflags)

$(bin)

:$(cobjs)

$(cc)

-o $(bin)

$(cobjs)

$(libs)

$(cflags)

clean:

rm$(bin)

$(cobjs)

測試的.c檔案如下

/* test1.c */

#include

#include

intmain

(int argc,

char

const

*ar**)

/* test2.c */

#include

#include

intmain

(int argc,

char

const

*ar**)

需要編譯1.c就輸入命令:make test1,生成可執行檔案test1

需要編譯2.c就輸入命令:make test2,生成可執行檔案test2

Makefile檔名操作函式

下面我們要介紹的函式主要是處理檔名的。每個函式的引數字串都會被當做乙個或是一系列的檔名來對待。dir 名稱 取目錄函式 dir。功能 從檔名序列中取出目錄部分。目錄部分是指最後乙個反斜槓 之前的部分。如果沒有反斜槓,那麼返回 返回 返回檔名序列的目錄部分。示例 dir src foo.c hacks...

根據輸入檔名確定輸出檔名

這段 和 molpro 對輸入輸出檔名的處理方法相同,對輸入檔案 task.inp 生成輸出檔案 task.out。即,對輸入檔案的檔名去掉檔案型別字尾,預設的輸出檔案型別字尾是 out,這和 molpro 的設定是相同的。另外也保留了去掉檔案型別字尾的檔名字串,以便生成其他的 log 等等檔案之用...

根據excel內容批量修改檔名

excel中為各班級學生的資訊,每個班級為乙個sheet 一級檔案下有班級子檔案,班級檔案下為,即要修改名字的檔案 其他檔案類似 在這裡插入 片 import os import xlrd count 0first path c users administrator.desktop l29cioj...