Я использую 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?
-D__Class=$(subst .0,,$@)
к обычному шаблонному правилу? - person Etan Reisner   schedule 18.11.2014-D
вы пытаетесь добавить правило по умолчанию, которое создает файлы.o
, или что-то еще в этой строке? - person Etan Reisner   schedule 19.11.2014