我的 makefile 是:
LOGGER=Mongo
# Mongo logger
LOGGER_MONGO_BINARY=loggerMongoApp
LOGGER_MONGO_FOLDER=logger-service-mongo
# Redis logger
LOGGER_REDIS_BINARY=loggerRedisApp
LOGGER_REDIS_FOLDER=logger-service-redis
build_logger:
ifeq ("${LOGGER}", "Mongo")
LOGGER_BINARY=${LOGGER_MONGO_BINARY}
LOGGER_FOLDER=${LOGGER_MONGO_FOLDER}
else ifeq ("${LOGGER}", "Redis")
LOGGER_BINARY=${LOGGER_REDIS_BINARY}
LOGGER_FOLDER=${LOGGER_REDIS_FOLDER}
endif
@echo Building logger binary (${LOGGER}-based)...
chdir ..\${LOGGER_FOLDER} \
&& set GOOS=linux \
&& set GOARCH=amd64 \
&& set CGO_ENABLED=0 \
&& go build -o ${LOGGER_BINARY} ./cmd/api
@echo Done!
在 makefile 中我想要获得条件逻辑。
make build_logger
结尾为:
ifeq ("Mongo", "Mongo")
process_begin: CreateProcess(NULL, ifeq (Mongo, Mongo), ...) failed.
make (e=2): ═х єфрхЄё эрщЄш єърчрээ√щ Їрщы.
make: *** [Makefile:43: build_logger] Error 2
里面的短信内容是“找不到指定的文件”。怎么回事?
我建议你这样写: