1

我试图了解这个使用 eval 的 Makefile 的最终产品是什么。有没有办法查看 Makefile 看起来像没有使用 eval 的有效最终产品?

VALID_TOOLCHAINS := newlib glibc pnacl

NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../../..)
include $(NACL_SDK_ROOT)/tools/common.mk

TARGET = nacl_io
DEPS = nacl_io
LIBS = $(DEPS) ppapi pthread

CFLAGS = -Wall
SOURCES = handlers.c \
  nacl_io_demo.c \
  queue.c

$(foreach dep,$(DEPS),$(eval $(call DEPEND_RULE,$(dep))))
$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))

ifeq ($(CONFIG),Release)
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif

$(eval $(call NMF_RULE,$(TARGET),))
4

1 回答 1

0

是的,我知道两种方法:

  1. 替换evalinfo

  2. 运行make -p并找到明确写在该输出中的规则

于 2013-10-12T07:24:34.017 回答