$OpenBSD: patch-Makefile,v 1.3 2014/04/04 09:57:39 benoit Exp $

1. Do not force some compilation flags.
2. Set library version, respecting OpenBSD policy.
3. Avoid duplication of defines, linked to (2).
4. Do not use $(INSTALL_*) at the build stage.

--- Makefile.orig	Tue Apr  1 04:22:54 2014
+++ Makefile	Fri Apr  4 08:10:20 2014
@@ -16,7 +16,7 @@
 STRIP = $(CROSS)strip
 endif
 
-CFLAGS += -fPIC -O3 -Wall -Iinclude
+CFLAGS += -fPIC -Wall -Iinclude
 
 ifeq ($(USE_SYS_DYN_MEM),yes)
 CFLAGS += -DUSE_SYS_DYN_MEM
@@ -59,6 +59,10 @@
 INSTALL_LIB ?= $(INSTALL_BIN) -m0755
 
 LIBNAME = capstone
+LIBVER ?= 0.0.0
+ifdef LIB$(LIBNAME)_VERSION
+LIBVER = $(LIB$(LIBNAME)_VERSION)
+endif
 
 
 DEP_ARM =
@@ -199,12 +203,16 @@
 EXT = so
 VERSION_EXT = $(EXT).$(API_MAJOR)
 AR_EXT = a
-LDFLAGS += -Wl,-soname,lib$(LIBNAME).$(VERSION_EXT)
+LDFLAGS += -Wl,-soname,lib$(LIBNAME)
 endif
 endif
 endif
 
+ifeq ($(LIBVER),)
 LIBRARY = lib$(LIBNAME).$(EXT)
+else
+LIBRARY = lib$(LIBNAME).$(EXT).$(LIBVER)
+endif
 ARCHIVE = lib$(LIBNAME).$(AR_EXT)
 PKGCFGF = $(LIBNAME).pc
 
@@ -212,7 +220,7 @@
 
 all: $(LIBRARY) $(ARCHIVE) $(PKGCFGF)
 	$(MAKE) -C tests
-	$(INSTALL_DATA) lib$(LIBNAME).$(EXT) tests
+	cp $(LIBRARY) tests
 
 $(LIBRARY): $(LIBOBJ)
 	$(CC) $(LDFLAGS) $(LIBOBJ) -o $(LIBRARY)
@@ -248,13 +256,8 @@
 	mkdir -p $(LIBDIR)
 	# remove potential broken old libs
 	rm -f $(LIBDIR)/lib$(LIBNAME).*
-	$(INSTALL_LIB) lib$(LIBNAME).$(EXT) $(LIBDIR)
-ifneq ($(VERSION_EXT),)
-	cd $(LIBDIR) && \
-	mv lib$(LIBNAME).$(EXT) lib$(LIBNAME).$(VERSION_EXT) && \
-	ln -s lib$(LIBNAME).$(VERSION_EXT) lib$(LIBNAME).$(EXT)
-endif
-	$(INSTALL_DATA) lib$(LIBNAME).$(AR_EXT) $(LIBDIR)
+	$(INSTALL_LIBRARY) $(LIBRARY) $(LIBDIR)
+	$(INSTALL_DATA) $(ARCHIVE) $(LIBDIR)
 	mkdir -p $(INCDIR)/$(LIBNAME)
 	$(INSTALL_DATA) include/*.h $(INCDIR)/$(LIBNAME)
 	mkdir -p $(PKGCFCGDIR)
@@ -262,11 +265,12 @@
 
 uninstall:
 	rm -rf $(INCDIR)/$(LIBNAME)
-	rm -f $(LIBDIR)/lib$(LIBNAME).*
-	rm -f $(PKGCFCGDIR)/$(LIBNAME).pc
+	rm -f $(LIBDIR)/$(LIBRARY)
+	rm -f $(LIBDIR)/$(ARCHIVE)
+	rm -f $(LIBDIR)/pkgconfig/$(PKGCFGF)
 
 clean:
-	rm -f $(LIBOBJ) lib$(LIBNAME).*
+	rm -f $(LIBOBJ) $(ARCHIVE) $(LIBRARY)
 	rm -f $(PKGCFGF)
 	$(MAKE) -C bindings/python clean
 	$(MAKE) -C bindings/java clean
