summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: b2c93cd6ea5a09348f33e99e8562fadc0cc54857 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#---------------------------------------------------------------
# Package         : multiarch-utils
# File            : Makefile
# Version         : $Id$
# Author          : Gwenole Beauchesne
# Created On      : Wed Jan 12 18:42:04 CET 2005
#---------------------------------------------------------------

prefix		= /usr
bindir		= $(prefix)/bin
includedir	= $(prefix)/include

RPM_MACRO_FILES	= multiarch
RPM_BIN_FILES	= mkmultiarch check-multiarch-files
BINARIES	= multiarch-platform multiarch-dispatch
INCLUDES	= multiarch-dispatch.h
XCONFIGS	= multiarch-dispatch-host.def
OTHER_FILES	= Makefile multiarch-utils.spec ChangeLog
FILES		= $(foreach file,$(RPM_MACRO_FILES),macros.$(file)) $(RPM_BIN_FILES) $(BINARIES) $(INCLUDES) $(XCONFIGS) $(OTHER_FILES)

PACKAGE		= multiarch-utils
VERSION		:= $(shell rpm -q --qf %{VERSION} --specfile $(PACKAGE).spec)
RELEASE		:= $(shell rpm -q --qf %{RELEASE} --specfile $(PACKAGE).spec)
TAG		:= $(shell echo "V$(VERSION)_$(RELEASE)" | tr -- '-.' '__')
MULTIARCH_DIST	:= $(shell sed -n '/^%define *multiarch_distro *\([0-9]*\)/s//\1/p' $(PACKAGE).spec)

RPMOPT = --clean --rmspec

all:
	@echo "nothing to be done for $(PACKAGE)-$(VERSION)-$(RELEASE)"

clean: cleandist
	rm -f *~

install:
	-mkdir -p $(DESTDIR)/etc/rpm
	for f in $(RPM_MACRO_FILES); do \
	  perl -pe 's/%MULTIARCH_DISTRO%/$(MULTIARCH_DIST)/' macros.$$f > $(DESTDIR)/etc/rpm/macros.$$f; \
	  if [[ -f /etc/rpm/macros.d/mandriva-release.macros ]]; then \
	    mkdir -p $(DESTDIR)/etc/rpm/macros.d; \
	    mv $(DESTDIR)/etc/rpm/macros.$$f $(DESTDIR)/etc/rpm/macros.d/$$f.macros; \
	  fi; \
	done
	-mkdir -p $(DESTDIR)$(prefix)/lib/rpm
	install -m755 $(RPM_BIN_FILES) $(DESTDIR)$(prefix)/lib/rpm/
	-mkdir -p $(DESTDIR)$(bindir)
	install -m755 $(BINARIES) $(DESTDIR)$(bindir)/
	-mkdir -p $(DESTDIR)$(includedir)
	install -m644 $(INCLUDES) $(DESTDIR)$(includedir)/
	-mkdir -p $(DESTDIR)$(prefix)/X11R6/lib/X11/config
	install -m644 $(XCONFIGS) $(DESTDIR)$(prefix)/X11R6/lib/X11/config/

# rules to build a test rpm

localrpm: localdist buildrpm

localdist: cleandist dir localcopy tar

cleandist:
	rm -rf $(PACKAGE)-$(VERSION) $(PACKAGE)-$(VERSION).tar.bz2

dir:
	mkdir $(PACKAGE)-$(VERSION)

localcopy:
	tar c $(FILES) | tar x -C $(PACKAGE)-$(VERSION)

tar:
	tar cvf $(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION)
	bzip2 -9vf $(PACKAGE)-$(VERSION).tar
	rm -rf $(PACKAGE)-$(VERSION)

buildrpm:
	rpm -ta $(PACKAGE)-$(VERSION).tar.bz2

# rules to build a distributable rpm

rpm: changelog cvstag dist buildrpm

dist: cleandist dir export tar

export:
	cvs export -d $(PACKAGE)-$(VERSION) -r $(TAG) $(PACKAGE)

cvstag:
	cvs tag $(CVSTAGOPT) $(TAG)

changelog: ../common/username
	cvs2cl -U ../common/username -I ChangeLog 
	rm -f ChangeLog.bak
	cvs commit -m "Generated by cvs2cl the `date '+%d_%b'`" ChangeLog

# Local variables:
# mode: makefile
# tab-width: 8
# End:
#
# Makefile ends here