CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
pkgmk-cross.conf: adapted to 64b
[pkgutils-cross.git] / Makefile
1 #
2 # pkgutils
3 #
4 # Copyright (c) 2000-2005 by Per Liden <per@fukt.bth.se>
5 # Copyright (c) 2006-2013 by CRUX team (http://crux.nu)
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
20 # USA.
21 #
22
23 DESTDIR =
24 BINDIR = /usr/bin
25 MANDIR = /usr/man
26 ETCDIR = /etc
27
28 VERSION = 5.35.6
29 NAME = pkgutils-$(VERSION)
30
31 CXXFLAGS += -DNDEBUG
32 CXXFLAGS += -O2 -Wall -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" \
33 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
34
35 LIBARCHIVELIBS := $(shell pkg-config --libs libarchive)
36
37 LDFLAGS += $(LIBARCHIVELIBS)
38
39 OBJECTS = main.o pkgutil.o pkgadd.o pkgrm.o pkginfo.o
40
41 MANPAGES = pkgadd.8 pkgrm.8 pkginfo.8 pkgmk.8 rejmerge.8 pkgmk.conf.5
42
43 all: pkgadd pkgmk rejmerge man
44
45 pkgadd: .depend $(OBJECTS)
46 $(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
47
48 pkgmk: pkgmk.in
49
50 rejmerge: rejmerge.in
51
52 man: $(MANPAGES)
53
54 mantxt: man $(MANPAGES:=.txt)
55
56 %.8.txt: %.8
57 nroff -mandoc -c $< | col -bx > $@
58
59 %: %.in
60 sed -e "s/#VERSION#/$(VERSION)/" $< > $@
61
62 .depend:
63 $(CXX) $(CXXFLAGS) -MM $(OBJECTS:.o=.cc) > .depend
64
65 ifeq (.depend,$(wildcard .depend))
66 include .depend
67 endif
68
69 .PHONY: install clean distclean dist
70
71 dist: distclean
72 rm -rf $(NAME) $(NAME).tar.gz
73 git archive --format=tar --prefix=$(NAME)/ HEAD | tar -x
74 git log > $(NAME)/ChangeLog
75 tar czvf $(NAME).tar.gz $(NAME)
76 rm -rf $(NAME)
77
78 install: all
79 install -D -m0755 pkgadd $(DESTDIR)$(BINDIR)/pkgadd
80 install -D -m0644 pkgadd.conf $(DESTDIR)$(ETCDIR)/pkgadd.conf
81 install -D -m0755 pkgmk $(DESTDIR)$(BINDIR)/pkgmk
82 install -D -m0755 rejmerge $(DESTDIR)$(BINDIR)/rejmerge
83 install -D -m0644 pkgmk.conf $(DESTDIR)$(ETCDIR)/pkgmk.conf
84 install -D -m0644 rejmerge.conf $(DESTDIR)$(ETCDIR)/rejmerge.conf
85 install -D -m0644 pkgadd.8 $(DESTDIR)$(MANDIR)/man8/pkgadd.8
86 install -D -m0644 pkgrm.8 $(DESTDIR)$(MANDIR)/man8/pkgrm.8
87 install -D -m0644 pkginfo.8 $(DESTDIR)$(MANDIR)/man8/pkginfo.8
88 install -D -m0644 pkgmk.8 $(DESTDIR)$(MANDIR)/man8/pkgmk.8
89 install -D -m0644 rejmerge.8 $(DESTDIR)$(MANDIR)/man8/rejmerge.8
90 install -D -m0644 pkgmk.conf.5 $(DESTDIR)$(MANDIR)/man5/pkgmk.conf.5
91 ln -sf pkgadd $(DESTDIR)$(BINDIR)/pkgrm
92 ln -sf pkgadd $(DESTDIR)$(BINDIR)/pkginfo
93
94 clean:
95 rm -f .depend
96 rm -f $(OBJECTS)
97 rm -f $(MANPAGES)
98 rm -f $(MANPAGES:=.txt)
99
100 distclean: clean
101 rm -f pkgadd pkginfo pkgrm pkgmk rejmerge
102
103 # End of file