CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Initial import
[pkgutils-cross.git] / Makefile
1 #
2 # pkgutils
3 #
4 # Copyright (c) 2000-2005 by Per Liden <per@fukt.bth.se>
5 #
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.
10 #
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.
15 #
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,
19 # USA.
20 #
21
22 DESTDIR =
23 BINDIR = /usr/bin
24 MANDIR = /usr/man
25 ETCDIR = /etc
26
27 VERSION = 5.21
28 LIBTAR_VERSION = 1.2.11
29
30 CXXFLAGS += -DNDEBUG
31 CXXFLAGS += -O2 -Wall -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" \
32 -Ilibtar-$(LIBTAR_VERSION)/lib -Ilibtar-$(LIBTAR_VERSION)/listhash
33
34 LDFLAGS += -static -Llibtar-$(LIBTAR_VERSION)/lib -ltar -lz
35
36 OBJECTS = main.o pkgutil.o pkgadd.o pkgrm.o pkginfo.o
37
38 MANPAGES = pkgadd.8 pkgrm.8 pkginfo.8 pkgmk.8 rejmerge.8
39
40 LIBTAR = libtar-$(LIBTAR_VERSION)/lib/libtar.a
41
42 all: pkgadd pkgmk rejmerge man
43
44 $(LIBTAR):
45 (tar xzf libtar-$(LIBTAR_VERSION).tar.gz; \
46 cd libtar-$(LIBTAR_VERSION); \
47 patch -p1 < ../libtar-$(LIBTAR_VERSION)-fix_mem_leak.patch; \
48 patch -p1 < ../libtar-$(LIBTAR_VERSION)-reduce_mem_usage.patch; \
49 patch -p1 < ../libtar-$(LIBTAR_VERSION)-fix_linkname_overflow.patch; \
50 LDFLAGS="" ./configure --disable-encap --disable-encap-install; \
51 make)
52
53 pkgadd: $(LIBTAR) .depend $(OBJECTS)
54 $(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
55
56 pkgmk: pkgmk.in
57
58 rejmerge: rejmerge.in
59
60 man: $(MANPAGES)
61
62 mantxt: man $(MANPAGES:=.txt)
63
64 %.8.txt: %.8
65 nroff -mandoc -c $< | col -bx > $@
66
67 %: %.in
68 sed -e "s/#VERSION#/$(VERSION)/" $< > $@
69
70 .depend:
71 $(CXX) $(CXXFLAGS) -MM $(OBJECTS:.o=.cc) > .depend
72
73 ifeq (.depend,$(wildcard .depend))
74 include .depend
75 endif
76
77 .PHONY: install clean distclean dist
78
79 dist: distclean
80 rm -rf /tmp/pkgutils-$(VERSION)
81 mkdir -p /tmp/pkgutils-$(VERSION)
82 cp -rf . /tmp/pkgutils-$(VERSION)
83 tar -C /tmp --exclude .svn -czvf ../pkgutils-$(VERSION).tar.gz pkgutils-$(VERSION)
84 rm -rf /tmp/pkgutils-$(VERSION)
85
86 install: all
87 install -D -m0755 pkgadd $(DESTDIR)$(BINDIR)/pkgadd
88 install -D -m0644 pkgadd.conf $(DESTDIR)$(ETCDIR)/pkgadd.conf
89 install -D -m0755 pkgmk $(DESTDIR)$(BINDIR)/pkgmk
90 install -D -m0755 rejmerge $(DESTDIR)$(BINDIR)/rejmerge
91 install -D -m0644 pkgmk.conf $(DESTDIR)$(ETCDIR)/pkgmk.conf
92 install -D -m0644 rejmerge.conf $(DESTDIR)$(ETCDIR)/rejmerge.conf
93 install -D -m0644 pkgadd.8 $(DESTDIR)$(MANDIR)/man8/pkgadd.8
94 install -D -m0644 pkgrm.8 $(DESTDIR)$(MANDIR)/man8/pkgrm.8
95 install -D -m0644 pkginfo.8 $(DESTDIR)$(MANDIR)/man8/pkginfo.8
96 install -D -m0644 pkgmk.8 $(DESTDIR)$(MANDIR)/man8/pkgmk.8
97 install -D -m0644 rejmerge.8 $(DESTDIR)$(MANDIR)/man8/rejmerge.8
98 ln -sf pkgadd $(DESTDIR)$(BINDIR)/pkgrm
99 ln -sf pkgadd $(DESTDIR)$(BINDIR)/pkginfo
100
101 clean:
102 rm -f .depend
103 rm -f $(OBJECTS)
104 rm -f $(MANPAGES)
105 rm -f $(MANPAGES:=.txt)
106
107 distclean: clean
108 rm -f pkgadd pkginfo pkgrm pkgmk rejmerge
109 rm -rf libtar-$(LIBTAR_VERSION)
110
111 # End of file