【发布时间】:2014-07-16 04:28:15
【问题描述】:
我已经阅读了CFLAGS and CPPFLAGS 之间的区别。但我的 Makefile.am 目前同时使用 DEFS 和 CPPFLAGS,我不确定它们的区别。
DEFS += -DLOCALEDIR=\"$(localedir)\" -DDATADIR=\"$(datadir)\" -DPKGDATADIR=\"$(pkgdatadir)\"
和:
src_foo_CPPFLAGS = \
$(AM_CPPFLAGS) \
-I$(top_builddir)/src \
-DDATADIR='"$(datadir)"' \
-DMODULEDIR='"$(moduledir)"' \
-DLIBEXECDIR='"$(libexecdir)"'
CPPFLAGS 和 DEFS 似乎都使用-D 选项创建定义。那么有什么区别。我可以删除DEFS 并将缺少的定义(PKGDATADIR 和LOCALEDIR)添加到CPPFLAGS 吗?
【问题讨论】:
-
manual 建议通过
CPPFLAGS/AM_CPPFLAGS执行此操作:“您应该将 -DDATADIR='$(datadir)' 添加到 makefile 的 CPPFLAGS 定义中”。