| 1 | ## -*- makefile -*- ------------------------------------------------------ |
|---|
| 2 | ## |
|---|
| 3 | ## Copyright 2000-2008 H. Peter Anvin - All Rights Reserved |
|---|
| 4 | ## |
|---|
| 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., 53 Temple Place Ste 330, |
|---|
| 8 | ## Boston MA 02111-1307, USA; either version 2 of the License, or |
|---|
| 9 | ## (at your option) any later version; incorporated herein by reference. |
|---|
| 10 | ## |
|---|
| 11 | ## ----------------------------------------------------------------------- |
|---|
| 12 | |
|---|
| 13 | # |
|---|
| 14 | # This should only be used by the maintainer to generate official binaries |
|---|
| 15 | # for release. Please do not "make official" and distribute the binaries, |
|---|
| 16 | # please. |
|---|
| 17 | # |
|---|
| 18 | .PHONY: official release |
|---|
| 19 | |
|---|
| 20 | # These files are removed when tarballs are generated. |
|---|
| 21 | PRIVATE = Makefile.private mk/devel.mk |
|---|
| 22 | |
|---|
| 23 | GIT_DIR ?= .git |
|---|
| 24 | ABS_GIT_DIR := $(shell cd '$(GIT_DIR)' 2>/dev/null && pwd) |
|---|
| 25 | |
|---|
| 26 | -include release/Makefile.secret |
|---|
| 27 | |
|---|
| 28 | isolinux.iso: all |
|---|
| 29 | cp isolinux-debug.bin isolinux-test/isolinux/isolinux.bin |
|---|
| 30 | mkisofs -v -r -J \ |
|---|
| 31 | -b isolinux/isolinux.bin -c isolinux/boot.cat \ |
|---|
| 32 | -no-emul-boot -boot-load-size 4 -boot-info-table \ |
|---|
| 33 | -o isolinux.iso isolinux-test |
|---|
| 34 | |
|---|
| 35 | burn: isolinux.iso |
|---|
| 36 | cdrecord -v blank=fast isolinux.iso |
|---|
| 37 | |
|---|
| 38 | official: |
|---|
| 39 | $(MAKE) spotless CC='$(CC) -m32' |
|---|
| 40 | $(MAKE) all CC='$(CC) -m32' |
|---|
| 41 | $(MAKE) strip CC='$(CC) -m32' |
|---|
| 42 | $(MAKE) dist CC='$(CC) -m32' |
|---|
| 43 | |
|---|
| 44 | release: |
|---|
| 45 | test -d release |
|---|
| 46 | git tag -a -m syslinux-$(VERSION) -f syslinux-$(VERSION) |
|---|
| 47 | -rm -rf release/syslinux-$(VERSION) |
|---|
| 48 | -rm -f release/syslinux-$(VERSION).* |
|---|
| 49 | mkdir -p release/syslinux-$(VERSION) |
|---|
| 50 | git archive --format=tar syslinux-$(VERSION) | \ |
|---|
| 51 | tar -x -f - -C release/syslinux-$(VERSION) |
|---|
| 52 | find release/syslinux-$(VERSION) \ |
|---|
| 53 | \( -name '*~' -or -name '#*' \) -type f -print0 | \ |
|---|
| 54 | xargs -0rt rm -f |
|---|
| 55 | sed -e 's/@@VERSION@@/$(VERSION)/g' -e 's/@@RPMVERSION@@/$(VERSION)/g' \ |
|---|
| 56 | < release/syslinux-$(VERSION)/syslinux.spec.in \ |
|---|
| 57 | > release/syslinux-$(VERSION)/syslinux.spec |
|---|
| 58 | rm -f release/syslinux-$(VERSION)/syslinux.spec.in |
|---|
| 59 | $(MAKE) -C release/syslinux-$(VERSION) official DATE=`date +%Y-%m-%d` |
|---|
| 60 | |
|---|
| 61 | cd release/syslinux-$(VERSION) && rm -rf $(PRIVATE) |
|---|
| 62 | cd release && tar cvvf - syslinux-$(VERSION) | \ |
|---|
| 63 | gzip -9 > syslinux-$(VERSION).tar.gz |
|---|
| 64 | cd release/syslinux-$(VERSION) && \ |
|---|
| 65 | zip -9r ../syslinux-$(VERSION).zip * |
|---|
| 66 | |
|---|
| 67 | |
|---|
| 68 | PRERELDIR := release/syslinux-$(VERSION)-pre |
|---|
| 69 | PRERELNO := $(shell cat $(PRERELDIR)/.prerel 2>/dev/null || echo 1) |
|---|
| 70 | PREREL := syslinux-$(VERSION)-pre$(PRERELNO) |
|---|
| 71 | RPMPREREL := $(shell $(PERL) -e 'printf "%.2f.%d\n", $(VERSION)-0.01, $(PRERELNO);') |
|---|
| 72 | |
|---|
| 73 | prerel: |
|---|
| 74 | test -d release |
|---|
| 75 | git tag -a -m $(PREREL) -f $(PREREL) |
|---|
| 76 | -rm -rf $(PRERELDIR)/$(PREREL) |
|---|
| 77 | -rm -f $(PRERELDIR)/$(PREREL).* |
|---|
| 78 | mkdir -p $(PRERELDIR)/$(PREREL) |
|---|
| 79 | git archive --format=tar $(PREREL) | \ |
|---|
| 80 | tar -x -f - -C $(PRERELDIR)/$(PREREL) |
|---|
| 81 | find $(PRERELDIR)/$(PREREL) \ |
|---|
| 82 | \( -name '*~' -or -name '#*' \) -type f -print0 | \ |
|---|
| 83 | xargs -0rt rm -f |
|---|
| 84 | sed -e 's/@@VERSION@@/$(VERSION)-pre$(PRERELNO)/g' \ |
|---|
| 85 | -e 's/@@RPMVERSION@@/$(RPMPREREL)/g' \ |
|---|
| 86 | < $(PRERELDIR)/$(PREREL)/syslinux.spec.in \ |
|---|
| 87 | > $(PRERELDIR)/$(PREREL)/syslinux.spec |
|---|
| 88 | rm -f $(PRERELDIR)/$(PREREL)/syslinux.spec.in |
|---|
| 89 | $(MAKE) -C $(PRERELDIR)/$(PREREL) official DATE=`printf '%s-pre%d ' $(VERSION) $(PRERELNO) | dd bs=10 count=1 2>/dev/null` |
|---|
| 90 | cd $(PRERELDIR)/$(PREREL) && rm -rf $(PRIVATE) |
|---|
| 91 | cd $(PRERELDIR) && tar cvvf - $(PREREL) | \ |
|---|
| 92 | gzip -9 > $(PREREL).tar.gz |
|---|
| 93 | cd $(PRERELDIR)/$(PREREL) && \ |
|---|
| 94 | zip -9r ../$(PREREL).zip * |
|---|
| 95 | expr $(PRERELNO) + 1 > $(PRERELDIR)/.prerel |
|---|
| 96 | |
|---|
| 97 | LATEST_PRERELNO := $(shell expr $(PRERELNO) - 1) |
|---|
| 98 | LATEST_PREREL := syslinux-$(VERSION)-pre$(LATEST_PRERELNO) |
|---|
| 99 | |
|---|
| 100 | unprerel: |
|---|
| 101 | echo $(LATEST_PRERELNO) > $(PRERELDIR)/.prerel |
|---|
| 102 | @echo Next release will be $(LATEST_PREREL) |
|---|