1 ## -*- makefile -*- ------------------------------------------------------
3 ## Copyright 2000-2003 H. Peter Anvin - All Rights Reserved
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
8 ## USA; either version 2 of the License, or (at your option) any later
9 ## version; incorporated herein by reference.
11 ## -----------------------------------------------------------------------
15 # This should only be used by the maintainer to generate official binaries
16 # for release. Please do not "make official" and distribute the binaries,
19 .PHONY: official release
21 CVS = cvs -d hpa@terminus.zytor.com:/home/hpa/cvsroot
23 PRIVATE = Makefile.private .depend memdisk/.depend com32/lib
26 cp isolinux-debug.bin isolinux-test/isolinux/isolinux.bin
28 -b isolinux/isolinux.bin -c isolinux/boot.cat \
29 -no-emul-boot -boot-load-size 4 -boot-info-table \
30 -o isolinux.iso isolinux-test
33 cdrecord -v blank=fast isolinux.iso
37 $(MAKE) all DATE=`date +'%Y-%m-%d'`
41 $(CVS) tag -F `echo syslinux-$(VERSION) | sed -e 's/\./_/g'`
42 -rm -rf release/syslinux-$(VERSION)
43 -rm -f release/syslinux-$(VERSION).*
44 mkdir -p release/syslinux-$(VERSION)
45 cd release && $(CVS) export -r `echo syslinux-$(VERSION) | sed -e 's/\./_/g'` -d syslinux-$(VERSION) syslinux
46 find release/syslinux-$(VERSION) \
47 \( -name '*~' -or -name '#*' \) -type f -print0 | \
49 find release/syslinux-$(VERSION) -name CVS -type d -print0 | \
51 sed -e 's/@@VERSION@@/$(VERSION)/g' -e 's/@@RPMVERSION@@/$(VERSION)/g' \
52 < release/syslinux-$(VERSION)/syslinux.spec.in \
53 > release/syslinux-$(VERSION)/syslinux.spec
54 rm -f release/syslinux-$(VERSION)/syslinux.spec.in
55 $(MAKE) -C release/syslinux-$(VERSION) spotless
56 $(MAKE) -C release/syslinux-$(VERSION) depend
57 $(MAKE) -C release/syslinux-$(VERSION) official
58 cd release/syslinux-$(VERSION) && rm -rf $(PRIVATE)
59 cd release && tar cvvf - syslinux-$(VERSION) | \
60 gzip -9 > syslinux-$(VERSION).tar.gz
61 cd release/syslinux-$(VERSION) && \
62 zip -9r ../syslinux-$(VERSION).zip *
65 PRERELDIR := release/syslinux-$(VERSION)-pre
66 PRERELNO := $(shell cat $(PRERELDIR)/.prerel 2>/dev/null || echo 1)
67 PREREL := syslinux-$(VERSION)-pre$(PRERELNO)
68 RPMPREREL := $(shell $(PERL) -e 'printf "%.2f.%d\n", $(VERSION)-0.01, $(PRERELNO);')
71 $(CVS) tag -F `echo $(PREREL) | sed -e 's/\./_/g'`
72 mkdir -p $(PRERELDIR) $(PRERELDIR)/uu
73 -rm -rf $(PRERELDIR)/$(PREREL)
74 -rm -f $(PRERELDIR)/$(PREREL).*
75 mkdir -p $(PRERELDIR)/$(PREREL)
76 cd $(PRERELDIR) && $(CVS) export -r `echo $(PREREL) | sed -e 's/\./_/g'` -d $(PREREL) syslinux
77 find $(PRERELDIR)/$(PREREL) \
78 \( -name '*~' -or -name '#*' \) -type f -print0 | \
80 find $(PRERELDIR)/$(PREREL) -name CVS -type d -print0 | \
82 sed -e 's/@@VERSION@@/$(VERSION)-pre$(PRERELNO)/g' \
83 -e 's/@@RPMVERSION@@/$(RPMPREREL)/g' \
84 < $(PRERELDIR)/$(PREREL)/syslinux.spec.in \
85 > $(PRERELDIR)/$(PREREL)/syslinux.spec
86 rm -f $(PRERELDIR)/$(PREREL)/syslinux.spec.in
87 $(MAKE) -C $(PRERELDIR)/$(PREREL) spotless
88 $(MAKE) -C $(PRERELDIR)/$(PREREL) depend
89 $(MAKE) -C $(PRERELDIR)/$(PREREL) all DATE=`printf '%s-pre%d ' $(VERSION) $(PRERELNO) | dd bs=10 count=1 2>/dev/null`
90 $(MAKE) -C $(PRERELDIR)/$(PREREL) dist
91 cd $(PRERELDIR)/$(PREREL) && rm -rf $(PRIVATE)
92 cd $(PRERELDIR) && tar cvvf - $(PREREL) | \
93 gzip -9 > $(PREREL).tar.gz
95 uuencode $(PREREL).tar.gz $(PREREL).tar.gz > uu/$(PREREL).uu
96 cd $(PRERELDIR)/$(PREREL) && \
97 zip -9r ../$(PREREL).zip *
98 expr $(PRERELNO) + 1 > $(PRERELDIR)/.prerel
101 expr $(PRERELNO) - 1 > $(PRERELDIR)/.prerel
102 @echo Next release will be syslinux-$(VERSION)-pre`cat $(PRERELDIR)/.prerel`