나는 다음과 같은 문장이있다 메이크가 :이 같은메이크 디버깅
gmake: Entering directory `/veluser2/vel/abp/bvijays/proj/c9mi790V64OG/cmi9dl'
echo dmic
dmic
srvgen dmic 2
Working on directory : /veluser2/vel/abp/bvijays/bb/cmi9dl/v79_0/dmic/src
Working on directory : /velhome/vel/ccvel/ccvel/bb/cmi9dl/v79_0/dmic/src
foreach: No match.
gmake: *** [ddmic_srv.h] Error 1
gmake: Target `pre' not remade because of errors.
gmake: Leaving directory `/veluser2/vel/abp/bvijays/proj/c9mi790V64OG/cmi9dl'
을 그래서 보인다 : 나는 빌드를 실행 한 후
TOPICS = dmic
SRV_MODE =
ifeq "$(SRV_FLAG)" "ON"
SRV_MODE = 2
endif
vpath d%_srv.h $(CNT_PATH)
USER_PRE_TARGETS := $(foreach topic,$(TOPICS),$(topic)_srv.h)
dmic_srcs = $(wildcard $(CCWSCA)/dmic/src/*.c) \
$(wildcard $(CCWSCA)/dmic/src/*.ppc)
dmic_srv.h: $(dmic_srcs)
srvgen dmic $(SRV_MODE)
users_topic =
users_topic := $(shell ls -tr $(CCWPA)/$(CCBB)/Makefile.pre* | \
tail -1 | awk 'BEGIN{FS="Makefile.pre."}{printf("%s\n", $$2);}')
USER_PRE_TARGETS := $(foreach topic,$(users_topic),d$(topic)_srv.h)
, 나는 아래의 것과 같은 메시지를 얻을를 foreach 명령을 발행 할 때 어떤 문제가 있습니까? 이 makefile을 처음 접했을 때 아무도 makefile을 디버그하는 방법을 제안 할 수 있습니까?
어떤 make 도구를 사용하고 있습니까? * defacto * 표준이 있지만 많은 경우 특수 확장이 있습니다. BTW 예제는'gmake'를 보여줍니다, 그러나 그것은 아무것도 될 수 있습니다. –
@Thomas : gmake는 GNU make를 사용합니다.'$ (와일드 카드)'와'$ (foreach)'가 있으면 더 좋았을 것입니다. – dmckee