这是一个伪代码:
if .gitignore exists
GITIGNORE_PATH := .gitignore
else
GITIGNORE_PATH := ../.gitignore
fi
all:
do_build...
我试图搜索这个,但他们总是在规则中显示如何执行此操作,如:
$(UBIN)/%:
@if [ -f '$@' ]; then \
$(CC) $(CFLAGS) -o '$@' $(OBJS) -L $(ORAHOME) $(ORALIBS) \
$(LNKPATH) $(DSTN_LIBS); \
echo ""; \
fi
单行:
GITIGNORE_PATH := $(if $(wildcard .gitignore),,../).gitignore
这有效:
# Read it as `if .gitignore file exists`
ifneq (,$(wildcard .gitignore))
GITIGNORE_PATH := .gitignore
else
GITIGNORE_PATH := ../.gitignore
endif
all:
echo GITIGNORE_PATH ${GITIGNORE_PATH}