aboutsummaryrefslogtreecommitdiff
blob: a9cb67df060642489ac7e94adef42dde634421f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Copyright 2003 Ned Ludd <solar@linbsd.net>
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-projects/pax-utils/Makefile,v 1.16 2005/04/01 19:09:15 solar Exp $
####################################################################
# 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.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA.
####################################################################

####################################################
CFLAGS	:= -Wall -O2
#CFLAGS += -DEBUG -g
#LDFLAGS :=-pie
DESTDIR	=
PREFIX	:= $(DESTDIR)/usr
STRIP	:= strip
MKDIR	:= mkdir -p
CP	:= cp
#####################################################
TARGETS	= scanelf scan4sym pspax
OBJS	= ${TARGETS:%=%.o} paxelf.o
MPAGES	= ${TARGETS:%=man/%.1}
SOURCES	= ${OBJS:%.o=%.c}

all: $(OBJS) $(TARGETS)
	@#chpax -zperms $(TARGETS)

%.o: %.c
	$(CC) $(CFLAGS) -c $<

%: %.o paxelf.o
	$(CC) -o $@ $(CFLAGS) paxelf.o $< $(LDFLAGS)

%.so: %.c
	$(CC) -shared -fPIC -o $@ $<

scan4sym: scan4sym.o paxelf.o
	$(CC) -o $@ $(CFLAGS) paxelf.o $< -ldl $(LDFLAGS)

depend:
	$(CC) $(CFLAGS) -MM $(SOURCES) > .depend

clean:
	-rm -f $(OBJS) $(TARGETS)

distclean: clean
	-rm -f *~ core
	
install: all
	-$(STRIP) $(TARGETS)
	-$(MKDIR) $(PREFIX)/bin/ $(PREFIX)/share/man/man1/
	-$(CP) $(TARGETS) $(PREFIX)/bin/
	for mpage in $(MPAGES) ; do \
		[ -e $$mpage ] \
			&& cp $$mpage $(PREFIX)/share/man/man1/ || : ;\
	done

include .depend