Blob Blame History Raw
#
# Copyright (C) 2016 FUJITSU LIMITED
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#

VERSION=1.0.7
NAME=ptdump
ARCH=UNSUPPORTED

ifeq ($(shell arch), x86_64)
  TARGET=X86_64
  TARGET_CFLAGS=
  ARCH=SUPPORTED
endif

ifeq ($(shell /bin/ls /usr/include/crash/defs.h 2>/dev/null), /usr/include/crash/defs.h)
  INCDIR=/usr/include/crash
endif
ifeq ($(shell /bin/ls ./defs.h 2> /dev/null), ./defs.h)
  INCDIR=.
endif
ifeq ($(shell /bin/ls ../defs.h 2> /dev/null), ../defs.h)
  INCDIR=..
endif

SUBDIR=ptdump
TARGET_CFILES=$(SUBDIR)/fastdecode.c $(SUBDIR)/map.c ptdump.c

COMMON_CFLAGS=-Wall -I$(INCDIR) -fPIC -D$(TARGET)

all: ptdump.so

ptdump.so: $(TARGET_CFILES) $(INCDIR)/defs.h $(SUBDIR)/map.h
ifeq ($(ARCH),UNSUPPORTED)
	@echo "ptdump: architecture not supported"
else
	gcc $(RPM_OPT_FLAGS) $(CFLAGS) $(TARGET_CFLAGS) $(COMMON_CFLAGS) -nostartfiles -shared -rdynamic -o $@ $(TARGET_CFILES) -Wl,-z,now
endif

debug: COMMON_CFLAGS+=-DDEBUG
debug: all

create-archive:
	@git archive --format=tar --prefix=$(NAME)-$(VERSION)/ HEAD | \
	gzip > ./$(NAME)-$(VERSION).tar.gz

tag:
	@git tag $(VERSION)
	@echo tag:$(VERSION)

clean:
	rm -f *.so *.o $(SUBDIR)/*.so $(SUBDIR)/*.o