我使用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做到这一点?
答案 0 :(得分:1)
事实证明,没有可移植的方式来做这种事情。