有沒有辦法在Makefile規則中檢查它是否有權寫入指定的目錄?這是我寫Makefile文件的一小部分:Makefile:檢查對目錄的寫權限
APP_NAME = electro
CC = gcc
C_FLAGS = -Wall
LIB_DIR = lib
SRC_DIR = src
INST_DIR = /usr/bin
INST_LIBDIR = /usr/lib
LIBS = libcomponent.so libpower.so libresistance.so
L_FLAGS = -lresistance -lpower -lcomponent
.PHONY: lib
lib:
@$(MAKE) --directory=$(LIB_DIR)
install: $(SRC_DIR)/main.c lib
(cd $(LIB_DIR); cp $(LIBS) $(INST_LIBDIR))
$(CC) $(C_FLAGS) -o $(INST_DIR)/$(APP_NAME) $(L_FLAGS) $<
@echo "$(APP_NAME) installed successfully."
如果用戶沒有權限寫入到/ usr/lib目錄和/ usr/bin中的「安裝」規則顯然會失敗。有沒有辦法在執行這兩行之前檢查這個權限,並在這種情況下輸出一個適當的錯誤信息(可能是「你沒有足夠的權限來運行這個命令」)?
請注意,這些檢查在Cygwin上並不值得。不寫在那裏可能會更好。 – reinierpost 2012-03-02 09:52:56