$NetBSD: patch-ac,v 1.5 2012/08/21 19:50:54 drochner Exp $

libtool support and install target cleanup.

--- Makefile.orig	2012-08-16 13:55:20.000000000 +0000
+++ Makefile
@@ -24,18 +24,10 @@ THIRD_LIBS += $(JPEG_LIB)
 THIRD_LIBS += $(OPENJPEG_LIB)
 THIRD_LIBS += $(ZLIB_LIB)
 
-ifeq "$(verbose)" ""
-QUIET_AR = @ echo ' ' ' ' AR $@ ;
-QUIET_CC = @ echo ' ' ' ' CC $@ ;
-QUIET_GEN = @ echo ' ' ' ' GEN $@ ;
-QUIET_LINK = @ echo ' ' ' ' LINK $@ ;
-QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ;
-endif
-
-CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $<
-AR_CMD = $(QUIET_AR) $(AR) cr $@ $^
-LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
-MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@
+CC_CMD = ${LIBTOOL} --mode=compile $(CC) $(CFLAGS) -o $@ -c $<
+AR_CMD = ${LIBTOOL} --mode=link $(CC) -o $@ -version-info 0:0:0 -rpath ${PREFIX}/lib $^
+LINK_CMD = ${LIBTOOL} --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
+MKDIR_CMD = mkdir -p $@
 
 # --- Rules ---
 
@@ -47,33 +39,32 @@ MUCBZ_HDR := $(FITZ_HDR) cbz/mucbz.h
 $(OUT) $(GEN) :
 	$(MKDIR_CMD)
 
-$(OUT)/%.a :
+$(OUT)/%.la :
 	$(AR_CMD)
-	$(RANLIB_CMD)
 
-$(OUT)/% : $(OUT)/%.o
+$(OUT)/% : $(OUT)/%.lo
 	$(LINK_CMD)
 
-$(OUT)/%.o : fitz/%.c $(FITZ_HDR) | $(OUT)
+$(OUT)/%.lo : fitz/%.c $(FITZ_HDR) | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : draw/%.c $(FITZ_HDR) | $(OUT)
+$(OUT)/%.lo : draw/%.c $(FITZ_HDR) | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : pdf/%.c $(MUPDF_HDR) | $(OUT)
+$(OUT)/%.lo : pdf/%.c $(MUPDF_HDR) | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : xps/%.c $(MUXPS_HDR) | $(OUT)
+$(OUT)/%.lo : xps/%.c $(MUXPS_HDR) | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : cbz/%.c $(MUCBZ_HDR) | $(OUT)
+$(OUT)/%.lo : cbz/%.c $(MUCBZ_HDR) | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : apps/%.c fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h | $(OUT)
+$(OUT)/%.lo : apps/%.c fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h | $(OUT)
 	$(CC_CMD)
-$(OUT)/%.o : scripts/%.c | $(OUT)
+$(OUT)/%.lo : scripts/%.c | $(OUT)
 	$(CC_CMD)
 
-.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
+.PRECIOUS : $(OUT)/%.lo # Keep intermediates from chained rules
 
 # --- Fitz, MuPDF, MuXPS and MuCBZ library ---
 
-FITZ_LIB := $(OUT)/libfitz.a
+FITZ_LIB := $(OUT)/libfitz.la
 
 FITZ_SRC := $(notdir $(wildcard fitz/*.c draw/*.c))
 FITZ_SRC := $(filter-out draw_simple_scale.c, $(FITZ_SRC))
@@ -81,10 +72,10 @@ MUPDF_SRC := $(notdir $(wildcard pdf/*.c
 MUXPS_SRC := $(notdir $(wildcard xps/*.c))
 MUCBZ_SRC := $(notdir $(wildcard cbz/*.c))
 
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.o))
-$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUCBZ_SRC:%.c=%.o))
+$(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.lo))
+$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.lo))
+$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.lo))
+$(FITZ_LIB) : $(addprefix $(OUT)/, $(MUCBZ_SRC:%.c=%.lo))
 
 libs: $(FITZ_LIB) $(THIRD_LIBS)
 
@@ -127,9 +118,9 @@ endif
 
 generate: $(CMAP_HDR) $(FONT_HDR)
 
-$(OUT)/pdf_cmap_table.o : $(CMAP_HDR)
-$(OUT)/pdf_fontfile.o : $(FONT_HDR)
-$(OUT)/cmapdump.o : pdf/pdf_cmap.c pdf/pdf_cmap_parse.c
+$(OUT)/pdf_cmap_table.lo : $(CMAP_HDR)
+$(OUT)/pdf_fontfile.lo : $(FONT_HDR)
+$(OUT)/cmapdump.lo : pdf/pdf_cmap.c pdf/pdf_cmap_parse.c
 
 # --- Tools and Apps ---
 
@@ -137,12 +128,12 @@ MUDRAW := $(addprefix $(OUT)/, mudraw)
 $(MUDRAW) : $(FITZ_LIB) $(THIRD_LIBS)
 
 MUBUSY := $(addprefix $(OUT)/, mubusy)
-$(MUBUSY) : $(addprefix $(OUT)/, mupdfclean.o mupdfextract.o mupdfinfo.o mupdfposter.o mupdfshow.o) $(FITZ_LIB) $(THIRD_LIBS)
+$(MUBUSY) : $(addprefix $(OUT)/, mupdfclean.lo mupdfextract.lo mupdfinfo.lo mupdfposter.lo mupdfshow.lo) $(FITZ_LIB) $(THIRD_LIBS)
 
 ifeq "$(NOX11)" ""
 MUVIEW := $(OUT)/mupdf
 $(MUVIEW) : $(FITZ_LIB) $(THIRD_LIBS)
-$(MUVIEW) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
+$(MUVIEW) : $(addprefix $(OUT)/, x11_main.lo x11_image.lo pdfapp.lo)
 	$(LINK_CMD) $(X11_LIBS)
 endif
 
@@ -165,11 +156,14 @@ incdir ?= $(prefix)/include
 mandir ?= $(prefix)/share/man
 
 install: $(FITZ_LIB) $(MUVIEW) $(MUDRAW) $(MUBUSY)
-	install -d $(bindir) $(libdir) $(incdir) $(mandir)/man1
-	install $(FITZ_LIB) $(libdir)
-	install fitz/memento.h fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h $(incdir)
-	install $(MUVIEW) $(MUDRAW) $(MUBUSY) $(bindir)
-	install $(wildcard apps/man/*.1) $(mandir)/man1
+	${BSD_INSTALL_DATA_DIR} $(bindir) $(libdir) $(incdir)
+	${BSD_INSTALL_MAN_DIR} $(mandir)/man1
+	${LIBTOOL} --mode=install ${BSD_INSTALL_LIB} $(FITZ_LIB) $(libdir)
+	${BSD_INSTALL_DATA} fitz/memento.h fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h $(incdir)
+	for f in $(MUVIEW) $(MUDRAW) $(MUBUSY); do \
+		${LIBTOOL} --mode=install ${BSD_INSTALL_PROGRAM} $$f $(bindir); \
+	done
+	${BSD_INSTALL_MAN} $(wildcard apps/man/*.1) $(mandir)/man1
 
 # --- Clean and Default ---
 
