$NetBSD: patch-Makefile,v 1.3 2023/01/23 15:42:08 wiz Exp $

- Don't invoke git.
- Honor user's CFLAGS/LDFLAGS.
- libtoolize shared object creation.
- The PHONY target is removed to allow PKGCONFIG_OVERRIDE to work.

--- Makefile.orig	2022-11-07 15:24:56.000000000 +0000
+++ Makefile
@@ -9,21 +9,11 @@ bindir ?= $(prefix)/bin
 incdir ?= $(prefix)/include
 libdir ?= $(prefix)/lib
 
-ifeq "$(wildcard .git)" ".git"
-  VERSION := $(shell git describe --tags --always)
-else
-  VERSION := $(patsubst mujs-%,%,$(notdir $(CURDIR)))
-endif
-
-ifeq ($(shell uname),Darwin)
-	SO_EXT := dylib
-else
-	SO_EXT := so
-endif
+SO_EXT := la
 
 # Compiler flags for various configurations:
 
-CFLAGS := -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter
+CFLAGS += -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter
 
 ifeq "$(CC)" "clang"
   CFLAGS += -Wunreachable-code
@@ -33,16 +23,6 @@ ifeq "$(shell uname)" "Linux"
   HAVE_READLINE := yes
 endif
 
-ifeq "$(build)" "debug"
-  CFLAGS += -g
-else ifeq "$(build)" "sanitize"
-  CFLAGS += -pipe -g -fsanitize=address -fno-omit-frame-pointer
-  LDFLAGS += -fsanitize=address
-else ifeq "$(build)" "release"
-  CFLAGS += -O2
-  LDFLAGS += -Wl,-s
-endif
-
 ifeq "$(HAVE_READLINE)" "yes"
   CFLAGS += -DHAVE_READLINE
   LIBREADLINE += -lreadline
@@ -74,33 +54,32 @@ one.c: $(SRCS)
 
 jsdump.c: astnames.h opnames.h
 
-$(OUT)/%.o: %.c $(HDRS)
+$(OUT)/%.lo: %.c $(HDRS)
 	@ mkdir -p $(@D)
-	$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+	$(LIBTOOL) --quiet --tag=CC --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
 
-$(OUT)/libmujs.o: one.c $(HDRS)
+$(OUT)/libmujs.lo: one.c $(HDRS)
 	@ mkdir -p $(@D)
-	$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+	$(LIBTOOL) --quiet --tag=CC --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
 
-$(OUT)/libmujs.a: $(OUT)/libmujs.o
+$(OUT)/libmujs.a: $(OUT)/libmujs.lo
 	@ mkdir -p $(@D)
 	$(AR) cr $@ $^
 
-$(OUT)/libmujs.$(SO_EXT): one.c $(HDRS)
+$(OUT)/libmujs.$(SO_EXT): $(OUT)/libmujs.lo one.c $(HDRS)
 	@ mkdir -p $(@D)
-	$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -shared $(LDFLAGS) -o $@ $< -lm
+	$(LIBTOOL) --quiet --tag=CC --mode=link $(CC) $(LDFLAGS) -rpath $(PREFIX)/lib -o $@ $< -lm
 
 libmujs ?= libmujs.a
 
-$(OUT)/mujs: $(OUT)/main.o $(OUT)/$(libmujs)
+$(OUT)/mujs: $(OUT)/main.lo $(OUT)/libmujs.$(SO_EXT)
 	@ mkdir -p $(@D)
-	$(CC) $(LDFLAGS) -o $@ $< -L$(OUT) -l:$(libmujs) $(LIBREADLINE) -lm
+	$(LIBTOOL) --quiet --tag=CC --mode=link $(CC) $(LDFLAGS) -o $@ $^ $(LIBREADLINE) -lm
 
-$(OUT)/mujs-pp: $(OUT)/pp.o $(OUT)/$(libmujs)
+$(OUT)/mujs-pp: $(OUT)/pp.lo $(OUT)/libmujs.$(SO_EXT)
 	@ mkdir -p $(@D)
-	$(CC) $(LDFLAGS) -o $@ $< -L$(OUT) -l:$(libmujs) -lm
+	$(LIBTOOL) --quiet --tag=CC --mode=link $(CC) $(LDFLAGS) -o $@ $^ -lm
 
-.PHONY: $(OUT)/mujs.pc
 $(OUT)/mujs.pc:
 	@ mkdir -p $(dir $@)
 	@ echo Creating $@
@@ -121,13 +100,13 @@ install-common: $(OUT)/mujs $(OUT)/mujs.
 	install -d $(DESTDIR)$(bindir)
 	install -m 644 mujs.h $(DESTDIR)$(incdir)
 	install -m 644 $(OUT)/mujs.pc $(DESTDIR)$(libdir)/pkgconfig
-	install -m 755 $(OUT)/mujs $(DESTDIR)$(bindir)
+	$(LIBTOOL) --quiet --tag=CC --mode=install install -m 755 $(OUT)/mujs $(DESTDIR)$(bindir)
 
 install-static: install-common $(OUT)/libmujs.a
 	install -m 644 $(OUT)/libmujs.a $(DESTDIR)$(libdir)
 
 install-shared: install-common $(OUT)/libmujs.$(SO_EXT)
-	install -m 755 $(OUT)/libmujs.$(SO_EXT) $(DESTDIR)$(libdir)
+	$(LIBTOOL) --quiet --tag=CC --mode=install install -m 755 $(OUT)/libmujs.$(SO_EXT) $(DESTDIR)$(libdir)
 
 install: install-static
 
