Automake + libtool:每个对象CFLAGS的模式规则?

时间:2014-11-18 18:15:33

标签: c pattern-matching gnu-make automake libtool

我使用GNU Automake和libtool来编译我的程序。我的Makefile.am看起来像这样:

lib_LTLIBRARIES = \
    libObjectively.la

libObjectively_la_SOURCES = \
    Array.c \
    Class.c \
    Condition.c \
    Date.c \
    DateFormatter.c \
    Dictionary.c \
    Lock.c \
    Log.c \
    Object.c \
    String.c \
    Thread.c

libObjectively_la_CFLAGS = \
    -I ..

libObjectively_la_LDFLAGS = \
    -pthread \
    -shared

一切都很好。但是,我也喜欢使用模式规则为每个源文件设置CFLAGS。在常规的旧Makefile语法中,这看起来像:

%.o: %.c
    $(CC) $(CFLAGS) -D__Class=$(subst .o,,$@) -o $@ $<

有没有办法用Automake + libtool做到这一点?

1 个答案:

答案 0 :(得分:1)

事实证明,没有可移植的方式来做这种事情。