| ## -*- 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 |
| |
| PRIVATE = Makefile.private |
| |
| 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' |
| $(MAKE) all CC='$(CC) -m32' |
| $(MAKE) dist CC='$(CC) -m32' |
| |
| 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) |
| find release/syslinux-$(VERSION) \ |
| \( -name '*~' -or -name '#*' \) -type f -print0 | \ |
| xargs -0rt rm -f |
| 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) |
| find $(PRERELDIR)/$(PREREL) \ |
| \( -name '*~' -or -name '#*' \) -type f -print0 | \ |
| xargs -0rt rm -f |
| 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) |
| |
| preupload: |
| scp $(PRERELDIR)/$(LATEST_PREREL).* $(UPLOAD)/Testing |
| git push --tags |