82 lines
2.6 KiB
Text
82 lines
2.6 KiB
Text
|
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
|
||
|
-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)
|
||
|
|