makefile有關問題,想像vs一樣將目標檔案,輸出檔案存放在指定資料夾,而不是在原始檔的目錄
【原文:http://www.myexception.cn/linux-unix/1355807.html】
makefile問題,想像vs一樣將目標檔案,輸出檔案存放在指定資料夾,而不是在原始檔的目錄
SRCDIR=src/ OBJSDIR=../temp/client_net/linux/ TARDIR=../lib/ SRCS=$(wildcard src/*.cpp) OBJS=$(addprefix $(OBJSDIR), $(notdir $(patsubst %.cpp, %.o, $(SRCS)))) TAR=$(addprefix $(TARDIR), libclient_net.so) CXXFLAGS=-Iinterface -I.. -fpic LDFLAGS=-L../lib -lACE -shared $(shell "if [ ! -f $(OBJSDIR) ]; then mkdir -p $(OBJSDIR) fi") .PHONY:all clean all:$(TAR) $(TAR):$(OBJS) $(CXX) $(LDFLAGS) -o $@ $^ $(OBJSDIR)%.o:$(SRCDIR)%.cpp $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< clean: @rm $(OBJS) $(TAR)
makefile如上,但是建立目標檔案目錄總是失敗,有什麼其他方法嗎?
$(shell "if [ ! -f $(OBJSDIR) ]; then mkdir -p $(OBJSDIR) fi")這個一直失敗 。。。
Visual Studio Makefile shell 目錄
------解決方案--------------------
我一般是這麼處理的
install: @if [ ! -f $(OBJSDIR) ];then \ mkdir -p $(OBJSDIR) \ fi \
------解決方案--------------------
ifeq ($(wildcard $(OBJSDIR)), )
mkdir -p $(OBJSDIR)
endif
相關文章
- 沒有目錄建目錄,沒有檔案建檔案
- 把object放到同一個目錄的Makefile寫法,目標檔案同一目錄Object
- tar命令打包指定目錄及其檔案,而不包括其上級目錄
- 遍歷檔案Java中遍歷出指定目錄中的所有檔案Java
- C++檔案系統操作5 - 跨平臺列出指定目錄下的所有檔案和資料夾C++
- 複製指定源位置的多級資料夾下所有檔案到指定目標位置
- 把當前目錄檔名輸出到一個檔案
- QT選擇目錄等常用檔案/資料夾操作QT
- .Net引用根目錄子資料夾下的dll檔案
- 統計檔案數目(不包括隱藏檔案/資料夾)
- 刪除指定目錄下指定字尾的檔案
- tar解壓到指定目錄並去掉壓縮檔案的層級資料夾
- windows 把指定目錄的檔案複製到當前目錄Windows
- 【ZIP】打包過濾指定目錄和檔案
- 解壓 TAR 檔案到指定目錄的方法
- py目錄下獲取指定字尾檔案打包成zip檔案
- 18、檔案與目錄
- 清理bdump目錄檔案
- 更改MySQL資料檔案存放目錄位置MySql
- Node.js折騰記一:讀指定資料夾,輸出該資料夾的檔案樹Node.js
- 將ORACLE資料庫資料檔案遷移到其他目錄(ZT)Oracle資料庫
- mysql資料目錄下的常見檔案MySql
- 在 Linux 中如何歸檔檔案和目錄Linux
- Linux解壓檔案到指定目錄的方法Linux
- clang在編譯時指定目標檔案所需的最低macOS版本編譯Mac
- 關於檔案系統在建立目錄檔案和普通檔案時的區別
- 怎樣將遠端 url 檔案直接輸出,而不是先下載後開啟的形式
- 指定目錄下的所有檔案中的字串替換字串
- 如何統計 Linux 中檔案和資料夾/目錄的數量Linux
- php檔案操作之提取檔案/目錄的名稱PHP
- php怎麼知道指定目錄中有哪些檔案PHP
- C語言檔案與目錄(一)C語言
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- Linux檔案系統-目錄和檔案管理Linux
- C語言檔案與目錄(五)檔案鎖C語言
- 如何在 Laravel 裡直接輸出根目錄下的 HTML 檔案LaravelHTML
- Python 檔案、目錄操作Python
- Linux 檔案與目錄Linux