Mercurial > gub
view GNUmakefile @ 5456:1a2d6ad5a556
Switch to fakeroot-ng.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Wed, 29 Jul 2009 19:52:51 +0200 |
parents | 78ec7996f505 |
children | f65d6e563f9f |
line wrap: on
line source
.PHONY: lilypond mingit phone web .PHONY: default compilers TAGS help sources = GNUmakefile $(filter-out %~, $(wildcard *.make bin/* gub/*.py gub/*/*.py gub/*/*/*.py gub/*/*/*/*.py test-lily/*.py)) ifeq ($(PLATFORMS),) PLATFORMS=linux-x86 darwin-ppc darwin-x86 mingw linux-64 linux-ppc freebsd-x86 freebsd-64 endif default: compilers include gub.make include compilers.make TAGS: $(sources) etags $^ MAKE_FILES = $(filter-out compilers.make gub.make local.make,$(wildcard *.make)) MAKE_BASES = $(MAKE_FILES:%.make=%) help: @echo Usage: make TAGS$(foreach a,$(MAKE_BASES),"|$a") @echo @echo For more elaborate use, see READMEs $(MAKE_BASES): $(MAKE) -f $@.make lily% cygwin%: $(MAKE) -f lilypond.make $@ denemo-%: $(MAKE) -f inkscape.make $@ inkscape-%: $(MAKE) -f inkscape.make $@ openoffice-%: $(MAKE) -f openoffice.make $@ test: rm -rf target make -f lilypond.make tools LOCAL_GUB_OPTIONS=-vvv bin/gub -p $(BUILD_PLATFORM) --branch=lilypond=master:master lilypond -vvv README: web/index.html web/lilypond.html web/inkscape.html web/oo.o.html w3m -dump $^ > $@ web: README scp -p web/*html lilypond.org:/var/www/lilypond/gub PYTHON_SOURCES = $$(git ls-files | grep -E '(^bin/|*.py$$)' | grep -Ev 'gub/(2|3)/') python3: ifeq (0,0) # a 2to3 crash fails to convert the remaining files 2to3-3.0 -nw -x urllib -x next $(PYTHON_SOURCES) >/dev/null else for i in $(PYTHON_SOURCES); do\ 2to3-3.0 -nw -x urllib -x next $$i >/dev/null || :; \ done endif # fix breakages sed -i -e 's@^\( *\)\t@\1 @g' \ -e 's@subprocess[.]\(AutogenMagic\|Chmod\|Conditional\|Copy\|CreateShar\|Dump\|ForcedAutogenMagic\|Func\|MapLocate\|Message\|Mkdir\|PackageGlobs\|Remove\|Rename\|Rmtree\|ShadowTree\|Substitute\|Symlink\|System\|UpdateSourceDir\)@commands.\1@g' \ $(PYTHON_SOURCES) # cleaning sed -i \ -e 's@\(for .* in\) list(\(.*[.]\(keys\|items\|values\)\) *()):@\1 \2 ():@' $(git ls-files | grep -E '(^bin/|*.py$)') \ -e 's@\(list\|next\|print\)(@\1 (@g' \ $(PYTHON_SOURCES) python3-stats: git diff origin p3 | grep -E '^(\+|X-) '| sed -e 's@^\(.\) *@\1@g' -e 's@^\(.\).*\(dbhash\|dbm\|md5\|0o\|new\|list (\|__self__\)@\1\2@g' | sort python3-printf: sed -i \ -e 's@ print \([^(].*\)@ printf (\1)@g' \ -e 's@ print @ printf @g' \ $(PYTHON_SOURCES) sed -i \ -e 's@#\nfrom gub import@#\nfrom gub.syntax import printf\nfrom gub import@' $$(grep -l printf $$(git diff --name-only)) # sed 4.0.1 is broken, what t[ext]t[tool] do you use? pytt '#\nfrom gub import' '#\nfrom gub.syntax import printf\nfrom gub import' $$(grep -l printf $$(git diff --name-only)) ROOT = GUB FAKEROOT_CACHE = $(ROOT)/fakeroot.save #FAKEROOT = $(ROOT)/usr/bin/fakeroot -i $(FAKEROOT_CACHE) -s $(FAKEROOT_CACHE) #FAKECHROOT = $(ROOT)/usr/bin/fakechroot chroot $(ROOT) FAKEROOT = $(ROOT)/usr/bin/fakeroot-ng -p $(FAKEROOT_CACHE) FAKECHROOT = chroot $(ROOT) BUILD_ARCHITECTURE = $(shell $(PYTHON) bin/build-architecture) UNTAR = cd $(ROOT)/$(BUILD_ARCHITECTURE) && set -x && for i in $$(find packages -name "*.gup"); do tar xzf $$i; done boot_packs =\ gub-utils\ librestrict\ dash\ gawk\ grep\ coreutils\ texinfo\ cross/binutils\ cross/gcc-core\ linux-headers\ glibc-core\ cross/gcc\ glibc\ bash\ tar\ make\ patch\ sed\ ncurses\ findutils\ libtool\ util-linux\ fakeroot-ng\ expat\ zlib\ gzip\ bzip2\ db\ gdbm\ python\ perl\ m4\ autoconf\ automake\ makedev\ # # Hmm. Some of these are not needed in the final root per se # but are needed to rebuild the root to get context-free checksums # Such as: bzip2, gzip, m4, autoconf, patch? root_packs =\ autoconf\ automake\ bash\ bzip2\ coreutils\ cross/binutils\ cross/gcc-core\ dash\ db\ expat\ gdbm\ gub-utils\ fakeroot-ng\ glibc-core\ gzip\ make\ makedev\ patch\ perl\ python\ tar\ util-linux\ zlib\ # # build GUB packages to populate root [eventually for distribution] boot: mkdir -p $(ROOT) sudo ln -sf $(PWD)/GUB / set -x; $(foreach i,$(boot_packs),BOOTSTRAP=TRUE bin/gub -x --fresh --keep --lax-checksums $(i) &&) : mkdir -p BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages rsync -az $(ROOT)/$(BUILD_ARCHITECTURE)/packages/ BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages rm -f $$(find BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages -name 'glibc' -o -name 'gcc' -o -name 'librestrict' -o -name 'linux-headers' -o -name 'sed' -o -name 'libtool' -o -name 'findutils' | grep -v core) mv --backup=t $(ROOT) BOOT || mkdir $(ROOT) root: $(MAKE) setup-root BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub cross/gcc' # BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub -x fakeroot-ng' setup-root: mkdir -p $(ROOT) # Symlink setup BOOTSTRAP=$(ROOT) bin/gub > /dev/null || : rsync -az ./BOOTSTRAP/ $(ROOT) mkdir -p $(ROOT)/downloads/cross/gcc-core rsync -az downloads/cross/gcc-core/ $(ROOT)/downloads/cross/gcc-core # let's not clutter /bin rsync -az bin/ $(ROOT)/gbin rsync -az gub librestrict nsis patches sourcefiles $(ROOT) $(UNTAR) rm -f $(FAKEROOT_CACHE) touch $(FAKEROOT_CACHE) $(FAKEROOT) $(FAKECHROOT) /bin/bash -l -c 'cd /dev && ./MAKEDEV standard' # $(FAKEROOT) $(FAKECHROOT) /bin/bash -l -c '($UNTAR)' mv $(ROOT)/dev/urandom $(ROOT)/dev/urandom- # run test build in root run: BOOTSTRAP=TRUE $(FAKEROOT) $(FAKECHROOT) bash -l -c 'gbin/gub cross/gcc' # run test build in root rebuildrun: setup-root rm -f $(ROOT)/$(BUILD_ARCHITECTURE)/etc/gup/* rsync -az ./BINARIES/ $(ROOT) $(UNTAR) BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub --keep --fresh perl cross/gcc' rsync -az $(ROOT)/$(BUILD_ARCHITECTURE)/packages/ BINARIES/$(BUILD_ARCHITECTURE)/packages # enter into root chroot: BOOTSTRAP=TRUE $(FAKEROOT) $(FAKECHROOT) bash -l