-
Notifications
You must be signed in to change notification settings - Fork 41
/
Makefile.private
111 lines (97 loc) · 4.13 KB
/
Makefile.private
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
99
100
101
102
103
104
105
106
107
108
109
110
111
## -*- makefile -*- ------------------------------------------------------
##
## Copyright 2000-2008 H. Peter Anvin - All Rights Reserved
##
## 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, Inc., 53 Temple Place Ste 330,
## Boston MA 02111-1307, USA; either version 2 of the License, or
## (at your option) any later version; incorporated herein by reference.
##
## -----------------------------------------------------------------------
#
# This should only be used by the maintainer to generate official binaries
# for release. Please do not "make official" and distribute the binaries,
# please.
#
.PHONY: official release
# These files are removed when tarballs are generated.
PRIVATE = Makefile.private mk/devel.mk
GIT_DIR ?= .git
ABS_GIT_DIR := $(shell cd '$(GIT_DIR)' 2>/dev/null && pwd)
-include release/Makefile.secret
isolinux.iso: all
cp isolinux-debug.bin isolinux-test/isolinux/isolinux.bin
mkisofs -v -r -J \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-o isolinux.iso isolinux-test
burn: isolinux.iso
cdrecord -v blank=fast isolinux.iso
official:
$(MAKE) spotless CC='$(CC) -m32' SRC=$(topdir) OBJ=$(CURDIR)
$(MAKE) all CC='$(CC) -m32' SRC=$(topdir) OBJ=$(CURDIR)
$(MAKE) strip CC='$(CC) -m32' SRC=$(topdir) OBJ=$(CURDIR)
$(MAKE) dist CC='$(CC) -m32' SRC=$(topdir) OBJ=$(CURDIR)
release:
test -d release
git tag -a -m syslinux-$(VERSION) -f syslinux-$(VERSION)
-rm -rf release/syslinux-$(VERSION)
-rm -f release/syslinux-$(VERSION).*
mkdir -p release/syslinux-$(VERSION)
git archive --format=tar syslinux-$(VERSION) | \
tar -x -f - -C release/syslinux-$(VERSION)
( cd gnu-efi && git archive --format=tar HEAD ) | \
tar -x -f - -C release/syslinux-$(VERSION)/gnu-efi
find release/syslinux-$(VERSION) \
\( -name '*~' -or -name '#*' -or -name '.git*' \) -type f -print0 | \
xargs -0rt rm -f
find release/syslinux-$(VERSION) -name 'tests' -type d -print0 | \
xargs -0rt rm -rf
sed -e 's/@@VERSION@@/$(VERSION)/g' -e 's/@@RPMVERSION@@/$(VERSION)/g' \
< release/syslinux-$(VERSION)/syslinux.spec.in \
> release/syslinux-$(VERSION)/syslinux.spec
rm -f release/syslinux-$(VERSION)/syslinux.spec.in
$(MAKE) -C release/syslinux-$(VERSION) official DATE=`date +%Y-%m-%d`
cd release/syslinux-$(VERSION) && rm -rf $(PRIVATE)
cd release && tar cvvf - syslinux-$(VERSION) | \
gzip -9 > syslinux-$(VERSION).tar.gz
cd release/syslinux-$(VERSION) && \
zip -9r ../syslinux-$(VERSION).zip *
PRERELDIR := release/syslinux-$(VERSION)-pre
PRERELNO := $(shell cat $(PRERELDIR)/.prerel 2>/dev/null || echo 1)
PREREL := syslinux-$(VERSION)-pre$(PRERELNO)
RPMPREREL := $(shell $(PERL) -e 'printf "%.2f.%d\n", $(VERSION)-0.01, $(PRERELNO);')
prerel:
test -d release
git tag -a -m $(PREREL) -f $(PREREL)
-rm -rf $(PRERELDIR)/$(PREREL)
-rm -f $(PRERELDIR)/$(PREREL).*
mkdir -p $(PRERELDIR)/$(PREREL)
git archive --format=tar $(PREREL) | \
tar -x -f - -C $(PRERELDIR)/$(PREREL)
( cd gnu-efi && git archive --format=tar HEAD ) | \
tar -x -f - -C $(PRERELDIR)/$(PREREL)/gnu-efi
find $(PRERELDIR)/$(PREREL) \
\( -name '*~' -or -name '#*' \) -type f -print0 | \
xargs -0rt rm -f
find $(PRERELDIR)/$(PREREL) \
-name 'tests' -type d -print0 | \
xargs -0rt rm -rf
sed -e 's/@@VERSION@@/$(VERSION)-pre$(PRERELNO)/g' \
-e 's/@@RPMVERSION@@/$(RPMPREREL)/g' \
< $(PRERELDIR)/$(PREREL)/syslinux.spec.in \
> $(PRERELDIR)/$(PREREL)/syslinux.spec
rm -f $(PRERELDIR)/$(PREREL)/syslinux.spec.in
$(MAKE) -C $(PRERELDIR)/$(PREREL) official DATE=`printf '%s-pre%d ' $(VERSION) $(PRERELNO) | dd bs=10 count=1 2>/dev/null`
cd $(PRERELDIR)/$(PREREL) && rm -rf $(PRIVATE)
cd $(PRERELDIR) && tar cvvf - $(PREREL) | \
gzip -9 > $(PREREL).tar.gz
cd $(PRERELDIR)/$(PREREL) && \
zip -9r ../$(PREREL).zip *
expr $(PRERELNO) + 1 > $(PRERELDIR)/.prerel
LATEST_PRERELNO := $(shell expr $(PRERELNO) - 1)
LATEST_PREREL := syslinux-$(VERSION)-pre$(LATEST_PRERELNO)
unprerel:
echo $(LATEST_PRERELNO) > $(PRERELDIR)/.prerel
@echo Next release will be $(LATEST_PREREL)