summaryrefslogtreecommitdiff
path: root/Makefile.private
blob: fee4f3b6ff77879f3dff67425fb441adb06096a7 (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
## -*- makefile -*- ------------------------------------------------------
##   
##   Copyright 2000-2002 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., 675 Mass Ave, Cambridge MA 02139,
##   USA; either version 2 of the License, or (at your option) any later
##   version; incorporated herein by reference.
##
## -----------------------------------------------------------------------
# $Id$

#
# 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

PRIVATE = Makefile.private .depend memdisk/.depend

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
	$(MAKE) all DATE=`date +'%Y-%m-%d'`
	$(MAKE) dist

release:
	cvs tag -F `echo syslinux-$(VERSION) | sed -e 's/\./_/g'`
	-rm -rf release/syslinux-$(VERSION)
	-rm -f release/syslinux-$(VERSION).*
	mkdir -p release/syslinux-$(VERSION)
	cp -rP $(SOURCES) $(DOCS) $(OTHER) release/syslinux-$(VERSION)
	find release/syslinux-$(VERSION) -name CVS -type d -print0 | \
		xargs -0rt rm -rf
	ln -f $(PRIVATE) release/syslinux-$(VERSION)
	cd release/syslinux-$(VERSION) && $(MAKE) depend
	cd release/syslinux-$(VERSION) && $(MAKE) official
	cd release/syslinux-$(VERSION) && rm -f $(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)

prerel:
	cvs tag -F `echo $(PREREL) | sed -e 's/\./_/g'`
	mkdir -p $(PRERELDIR) $(PRERELDIR)/uu
	-rm -rf $(PRERELDIR)/$(PREREL)
	-rm -f $(PRERELDIR)/$(PREREL).*
	mkdir -p $(PRERELDIR)/$(PREREL)
	cp -rP $(SOURCES) $(DOCS) $(OTHER) $(PRERELDIR)/$(PREREL)
	find $(PRERELDIR)/$(PREREL) -name CVS -type d -print0 | \
		xargs -0rt rm -rf
	make -C $(PRERELDIR)/$(PREREL) spotless
	make -C $(PRERELDIR)/$(PREREL) all DATE=`printf '%s-pre%d          ' $(VERSION) $(PRERELNO) | dd bs=10 count=1 2>/dev/null`
	make -C $(PRERELDIR)/$(PREREL) dist
	cd $(PRERELDIR)/$(PREREL) && \
		rm -f $(PRIVATE)
	cd $(PRERELDIR) && tar cvvf - $(PREREL) | \
		gzip -9 > $(PREREL).tar.gz 
	cd $(PRERELDIR) && \
		uuencode $(PREREL).tar.gz $(PREREL).tar.gz > uu/$(PREREL).uu
	cd $(PRERELDIR)/$(PREREL) && \
		zip -9r ../$(PREREL).zip *
	expr $(PRERELNO) + 1 > $(PRERELDIR)/.prerel

unprerel:
	expr $(PRERELNO) - 1 > $(PRERELDIR)/.prerel
	@echo Next release will be syslinux-$(VERSION)-pre`cat $(PRERELDIR)/.prerel`