Don't hardcode optimizations, install to the correct locations.
Disable warnings; clang is very chatty.
Put in obstack code.
Convert to bsd make

Index: Makefile
--- Makefile.orig
+++ Makefile
@@ -1,51 +1,21 @@
-ifneq ($(srcdir),)
-VPATH = $(srcdir)
-else
-srcdir=$(shell pwd)
-endif
-
-CFLAGS = -O2 -g
-DWZ_VERSION := $(shell cat $(srcdir)/VERSION)
-CFLAGS_VERSION = -DDWZ_VERSION='"$(DWZ_VERSION)"'
-CFLAGS_COPYRIGHT = $(shell cat $(srcdir)/COPYRIGHT_YEARS)
-CFLAGS_COMMON = -Wall -W -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-XXH_PROG = "\#define XXH_INLINE_ALL 1\n\#include <xxhash.h>\n"
-XXH_INLINE_ALL_WORKS = $(shell printf $(XXH_PROG) \
-		| $(CC) -xc -c - -o /dev/null 2>/dev/null \
-		&& echo -n 1)
-ifeq "$(XXH_INLINE_ALL_WORKS)" "1"
-  CFLAGS_COMMON += -DXXH_INLINE_ALL=1
-endif
-
-override CFLAGS += $(CFLAGS_COMMON) $(CFLAGS_VERSION) $(CFLAGS_COPYRIGHT)
-
+srcdir = .
+CFLAGS ?= -O2 -g
+DWZ_VERSION != cat $(srcdir)/VERSION
+CFLAGS += -DDWZ_VERSION='"$(DWZ_VERSION)"'
+CFLAGS !+= cat $(srcdir)/COPYRIGHT_YEARS
+CFLAGS += -D_FILE_OFFSET_BITS=64
+CFLAGS += -DXXH_INLINE_ALL=1
 prefix = /usr
 exec_prefix = $(prefix)
 bindir = $(exec_prefix)/bin
 datarootdir = $(prefix)/share
 mandir = $(datarootdir)/man
-OBJECTS = args.o dwz.o hashtab.o pool.o sha1.o dwarfnames.o
+OBJECTS = args.o dwz.o hashtab.o pool.o sha1.o dwarfnames.o obstack.o
 LIBS=-lelf
-ifneq "$(XXH_INLINE_ALL_WORKS)" "1"
-LIBS += -lxxhash
-endif
 dwz: $(OBJECTS)
-	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
-args.o: native.o
-args.o: CFLAGS_FOR_SOURCE = \
-	-DNATIVE_ENDIAN_VAL=$(NATIVE_ENDIAN_VAL) \
-	-DNATIVE_POINTER_SIZE=$(NATIVE_POINTER_SIZE)
-NATIVE_ENDIAN=$(shell readelf -h native.o \
-	| grep Data \
-	| sed 's/.*, //;s/ endian//')
-NATIVE_ENDIAN_LITTLE=$(findstring $(NATIVE_ENDIAN),$(findstring little,$(NATIVE_ENDIAN)))
-NATIVE_ENDIAN_BIG=$(findstring $(NATIVE_ENDIAN),$(findstring big,$(NATIVE_ENDIAN)))
-NATIVE_ENDIAN_VAL=$(if $(NATIVE_ENDIAN_LITTLE),ELFDATA2LSB,$(if $(NATIVE_ENDIAN_BIG),ELFDATA2MSB,ELFDATANONE))
-NATIVE_POINTER_SIZE=$(shell readelf -wi native.o \
-	| grep "Pointer Size:" \
-	| sed 's/.*: *//')
+	$(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
 %.o: %.c
-	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< $(CFLAGS_FOR_SOURCE)
+	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 install: dwz
 	install -D dwz $(DESTDIR)$(bindir)/dwz
 	install -D -m 644 $(srcdir)/dwz.1 $(DESTDIR)$(mandir)/man1/dwz.1
@@ -53,10 +23,6 @@ clean:
 	rm -f $(OBJECTS) *~ core* dwz $(TEST_EXECS) $(DWZ_TEST_OBJECTS) \
 	  dwz.log dwz.sum native.c native.o
 	rm -Rf testsuite-bin tmp.*
-native.c:
-	echo "int main (void) { return 0; }" > $@
-native.o: native.c
-	$(CC) -o $@ $< -c -g
 
 PWD:=$(shell pwd -P)
 
