summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo <cascardo@canonical.com>2017-08-29 16:37:47 -0300
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>2017-08-29 16:37:47 -0300
commit45f6db9168d368e6a9a21b410a5c21aad3dd7155 (patch)
treeb3f2725ebf037a09bc044f515c5a07af44c78978 /Makefile
parent44b026ef40f952d26dd61912fb7bbdf1007e4c4f (diff)
New upstream version 1.5.9
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile44
1 files changed, 28 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 2f4845c..327b8c3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
# makedumpfile
-VERSION=1.5.5
-DATE=18 Dec 2013
+VERSION=1.5.9
+DATE=28 Oct 2015
# Honour the environment variable CC
ifeq ($(strip $CC),)
@@ -15,10 +15,11 @@ CFLAGS_ARCH = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
# LDFLAGS = -L/usr/local/lib -I/usr/local/include
+HOST_ARCH := $(shell uname -m)
# Use TARGET as the target architecture if specified.
# Defaults to uname -m
ifeq ($(strip($TARGET)),)
-TARGET := $(shell uname -m)
+TARGET := $(HOST_ARCH)
endif
ARCH := $(shell echo ${TARGET} | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
@@ -26,8 +27,13 @@ ARCH := $(shell echo ${TARGET} | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc64/powerpc64/ -e s/ppc/powerpc32/)
-CFLAGS += -D__$(ARCH)__
-CFLAGS_ARCH += -D__$(ARCH)__
+CROSS :=
+ifneq ($(TARGET), $(HOST_ARCH))
+CROSS := -U__$(HOST_ARCH)__
+endif
+
+CFLAGS += -D__$(ARCH)__ $(CROSS)
+CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
ifeq ($(ARCH), powerpc64)
CFLAGS += -m64
@@ -39,11 +45,12 @@ CFLAGS += -m32
CFLAGS_ARCH += -m32
endif
-SRC = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
+SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c
-OBJ_PART = print_info.o dwarf_info.o elf_info.o erase_info.o sadump_info.o cache.o
+OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
SRC_ARCH = arch/arm.c arch/x86.c arch/x86_64.c arch/ia64.c arch/ppc64.c arch/s390x.c arch/ppc.c
-OBJ_ARCH = arch/arm.o arch/x86.o arch/x86_64.o arch/ia64.o arch/ppc64.o arch/s390x.o arch/ppc.o
+SRC_ARCH = arch/arm.c arch/arm64.c arch/x86.c arch/x86_64.c arch/ia64.c arch/ppc64.c arch/s390x.c arch/ppc.c
+OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz
ifneq ($(LINKTYPE), dynamic)
@@ -60,34 +67,39 @@ LIBS := -lsnappy $(LIBS)
CFLAGS += -DUSESNAPPY
endif
+LIBS := -lpthread $(LIBS)
+
all: makedumpfile
$(OBJ_PART): $(SRC_PART)
- $(CC) $(CFLAGS) -c -o ./$@ ./$(@:.o=.c)
+ $(CC) $(CFLAGS) -c -o ./$@ $(VPATH)$(@:.o=.c)
$(OBJ_ARCH): $(SRC_ARCH)
- $(CC) $(CFLAGS_ARCH) -c -o ./$@ ./$(@:.o=.c)
+ @mkdir -p $(@D)
+ $(CC) $(CFLAGS_ARCH) -c -o ./$@ $(VPATH)$(@:.o=.c)
-makedumpfile: $(SRC) $(OBJ_PART) $(OBJ_ARCH)
+makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
- grep -v "^.TH MAKEDUMPFILE 8" makedumpfile.8 >> temp.8
+ grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
mv temp.8 makedumpfile.8
gzip -c ./makedumpfile.8 > ./makedumpfile.8.gz
echo .TH MAKEDUMPFILE.CONF 5 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.5
- grep -v "^.TH MAKEDUMPFILE.CONF 5" makedumpfile.conf.5 >> temp.5
+ grep -v "^.TH MAKEDUMPFILE.CONF 5" $(VPATH)makedumpfile.conf.5 >> temp.5
mv temp.5 makedumpfile.conf.5
gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
eppic_makedumpfile.so: extension_eppic.c
- $(CC) $(CFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
clean:
rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
install:
install -m 755 -d ${DESTDIR}/usr/sbin ${DESTDIR}/usr/share/man/man5 ${DESTDIR}/usr/share/man/man8 ${DESTDIR}/etc
- install -m 755 -t ${DESTDIR}/usr/sbin makedumpfile makedumpfile-R.pl
+ install -m 755 -t ${DESTDIR}/usr/sbin makedumpfile $(VPATH)makedumpfile-R.pl
install -m 644 -t ${DESTDIR}/usr/share/man/man8 makedumpfile.8.gz
install -m 644 -t ${DESTDIR}/usr/share/man/man5 makedumpfile.conf.5.gz
- install -m 644 -D makedumpfile.conf ${DESTDIR}/etc/makedumpfile.conf.sample
+ install -m 644 -D $(VPATH)makedumpfile.conf ${DESTDIR}/etc/makedumpfile.conf.sample
+ mkdir -p ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts
+ install -m 644 -t ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts/ $(VPATH)eppic_scripts/*