]> Skullheadx's Git Forge - surf.git/commitdiff
Makefile: use explicit targets
authorQuentin Rameau <quinq@fifth.space>
Sat, 7 Nov 2020 17:43:11 +0000 (18:43 +0100)
committerQuentin Rameau <quinq@fifth.space>
Sat, 7 Nov 2020 17:43:11 +0000 (18:43 +0100)
Some make implementation have trouble with following inference rules
indirection

Makefile

index 9f93b0b56667c92bb926ca6a736e2f6b18e2f2cd..e5d4172d270250eda761076ba9fb95153f8a7909 100644 (file)
--- 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