4 # Copyright (c) 2000-2005 by Per Liden <per@fukt.bth.se>
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
28 LIBTAR_VERSION
= 1.2.11
31 CXXFLAGS
+= -O2
-Wall
-pedantic
-D_GNU_SOURCE
-DVERSION
=\"$(VERSION
)\" \
32 -Ilibtar-
$(LIBTAR_VERSION
)/lib
-Ilibtar-
$(LIBTAR_VERSION
)/listhash \
33 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS
=64
35 LDFLAGS
+= -static
-Llibtar-
$(LIBTAR_VERSION
)/lib
-ltar
-lz
37 OBJECTS
= main.o pkgutil.o pkgadd.o pkgrm.o pkginfo.o
39 MANPAGES
= pkgadd
.8 pkgrm
.8 pkginfo
.8 pkgmk
.8 rejmerge
.8
41 LIBTAR
= libtar-
$(LIBTAR_VERSION
)/lib
/libtar.a
43 all: pkgadd pkgmk rejmerge man
46 (tar xzf libtar-
$(LIBTAR_VERSION
).
tar.gz
; \
47 cd libtar-
$(LIBTAR_VERSION
); \
48 patch
-p1
< ..
/libtar-
$(LIBTAR_VERSION
)-fix_mem_leak.patch
; \
49 patch
-p1
< ..
/libtar-
$(LIBTAR_VERSION
)-reduce_mem_usage.patch
; \
50 patch
-p1
< ..
/libtar-
$(LIBTAR_VERSION
)-fix_linkname_overflow.patch
; \
51 LDFLAGS
="" .
/configure
--disable-encap
--disable-encap-install
; \
54 pkgadd
: $(LIBTAR
) .depend
$(OBJECTS
)
55 $(CXX
) $(OBJECTS
) -o
$@
$(LDFLAGS
)
63 mantxt
: man
$(MANPAGES
:=.txt
)
66 nroff
-mandoc
-c
$< | col
-bx
> $@
69 sed
-e
"s/#VERSION#/$(VERSION)/" $< > $@
72 $(CXX
) $(CXXFLAGS
) -MM
$(OBJECTS
:.o
=.
cc) > .depend
74 ifeq (.depend
,$(wildcard .depend
))
78 .PHONY
: install clean distclean dist
81 rm -rf
/tmp
/pkgutils-
$(VERSION
)
82 mkdir
-p
/tmp
/pkgutils-
$(VERSION
)
84 cp
-rf .
/tmp
/pkgutils-
$(VERSION
)
85 tar -C
/tmp
--exclude .svn
-czvf ..
/pkgutils-
$(VERSION
).
tar.gz pkgutils-
$(VERSION
)
86 rm -rf
/tmp
/pkgutils-
$(VERSION
)
89 install -D
-m0755 pkgadd
$(DESTDIR
)$(BINDIR
)/pkgadd
90 install -D
-m0644 pkgadd.conf
$(DESTDIR
)$(ETCDIR
)/pkgadd.conf
91 install -D
-m0755 pkgmk
$(DESTDIR
)$(BINDIR
)/pkgmk
92 install -D
-m0755 rejmerge
$(DESTDIR
)$(BINDIR
)/rejmerge
93 install -D
-m0644 pkgmk.conf
$(DESTDIR
)$(ETCDIR
)/pkgmk.conf
94 install -D
-m0644 rejmerge.conf
$(DESTDIR
)$(ETCDIR
)/rejmerge.conf
95 install -D
-m0644 pkgadd
.8 $(DESTDIR
)$(MANDIR
)/man8
/pkgadd
.8
96 install -D
-m0644 pkgrm
.8 $(DESTDIR
)$(MANDIR
)/man8
/pkgrm
.8
97 install -D
-m0644 pkginfo
.8 $(DESTDIR
)$(MANDIR
)/man8
/pkginfo
.8
98 install -D
-m0644 pkgmk
.8 $(DESTDIR
)$(MANDIR
)/man8
/pkgmk
.8
99 install -D
-m0644 rejmerge
.8 $(DESTDIR
)$(MANDIR
)/man8
/rejmerge
.8
100 ln
-sf pkgadd
$(DESTDIR
)$(BINDIR
)/pkgrm
101 ln
-sf pkgadd
$(DESTDIR
)$(BINDIR
)/pkginfo
107 rm -f
$(MANPAGES
:=.txt
)
110 rm -f pkgadd pkginfo pkgrm pkgmk rejmerge
111 rm -rf libtar-
$(LIBTAR_VERSION
)