Linux에는 파일이 존재하는지 확인하는 기능이 있습니다. 이 기능은 makefile의 와일드카드 기능입니다. 와일드카드 함수는 파일 목록과 일치할 수 있습니다. 지정된 패턴과 일치하는 파일이 없으면 함수는 빈 값을 반환하며 구문은 "$(wildcard PATTERN...)"입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
리눅스에는 파일 존재 여부를 판단하는 기능이 있습니다
makefile의 와일드카드 기능을 사용하세요
ifneq ($(wildcard FILE,) #文件存在 endif
$(wildcard FILE)는 확장한다는 뜻입니다 현재 경로 아래의 FILE 파일과 일치하는 파일.
현재 경로에 a.c와 b.c가 존재한다고 가정하고 src=$(wildcard *.c)를 실행하면 src의 값은 a.c b.c가 됩니다.
src=$(wildcard와 같은 와일드카드를 사용하지 않는 경우; cc); 현재 경로 아래에 cc라는 파일을 확장해야 합니다. 현재 경로 아래에 파일이 존재하지 않기 때문에 src는 빈 문자열입니다.
예제는 다음과 같습니다.
위의 두 가지 방법을 사용하여 obj 폴더에 dependency.mk 파일이 있는지 확인합니다. 존재하는 경우 a.c 및 b.c 파일을 만듭니다.
작성된 makefile은 다음과 같습니다.
OBJ_DIR=obj fileNames = $(wildcard $(OBJ_DIR)/depend.mk) all: @echo "this is all " @echo ${fileNames} @if [ -e $(OBJ_DIR)/depend.mk ]; then touch b.c; fi ifneq ($(wildcard $(OBJ_DIR)/depend.mk),) touch a.c endif
실행 후 a.c, b.c가 성공적으로 생성되었습니다.
추천 학습: Linux 비디오 튜토리얼
위 내용은 Linux에는 파일 존재 여부를 확인하는 기능이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!