From 7dcce9e1b9dbd2be198c19abd36e71eba7d09063 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Sat, 7 Nov 2020 18:43:11 +0100 Subject: [PATCH] Makefile: use explicit targets Some make implementation have trouble with following inference rules indirection --- Makefile | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 9f93b0b..e5d4172 100644 --- a/Makefile +++ b/Makefile @@ -19,22 +19,22 @@ options: @echo "WEBEXTCFLAGS = $(WEBEXTCFLAGS) $(CFLAGS)" @echo "LDFLAGS = $(LDFLAGS)" -.c.o: - $(CC) $(SURFCFLAGS) $(CFLAGS) -c $< +surf: $(OBJ) + $(CC) $(SURFLDFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) -.o.so: - $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ $< $(WEBEXTLIBS) +$(OBJ) $(WOBJ): config.h common.h config.mk config.h: cp config.def.h $@ -$(OBJ) $(WOBJ): config.h common.h config.mk +$(OBJ): $(SRC) + $(CC) $(SURFCFLAGS) $(CFLAGS) -c $(SRC) -surf: $(OBJ) - $(CC) $(SURFLDFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) +$(WLIB): $(WOBJ) + $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ $? $(WEBEXTLIBS) -$(WOBJ): - $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(@:.o=.c) +$(WOBJ): $(WSRC) + $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(WSRC) clean: rm -f surf $(OBJ) @@ -73,5 +73,4 @@ uninstall: done - rmdir $(DESTDIR)$(LIBDIR) -.SUFFIXES: .so .o .c .PHONY: all options distclean clean dist install uninstall