Hi again,

      I'm having issues with compiling .a / .la (library archives), with
dependent objects (.o). For whatever reason I can't get the .a / .la archive
to be created unless the dirname for the library archive and the objects are
the same.

# Makefile

# $(CURDIR) is $(srcdir)/lib/ltp
LIB_TARGET        := $(srcdir)/lib/libltp.a
MAKE_DEPS       := $(patsubst %.c,%.o,$(wildcard *.c))
MAKE_TARGETS := $(LIB_TARGET)
$(LIB_TARGET): $(MAKE_TARGET)

# ------

# Master rule:
%.a:
      ar -rc $@ $^

So the essential rule set should be:

%.o: %.c

$(srcdir)/lib/libltp.a: $(patsubst %.c,%.o,$(wildcard
$(srcdir)/lib/ltp/*.c))
      ar -rc $@ $^

But make refuses to do:
%.o: %.c

I even inserted the implicit rule and make refuses to connect the dots...

Furthermore, I just inserted $(CURDIR) in front of $(wildcard ...), and it
still refuses to do the right thing.

Isn't this supposed to be evaluated automatically to the expected answer of
.c -> .o?

Thanks,
-Garrett
_______________________________________________
Help-make mailing list
Help-make@gnu.org
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to