有没有办法在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