| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 | ##  Copyright (C) 1999-2007 Hewlett-Packard Co.#	Contributed by David Mosberger <davidm@hpl.hp.com>#	Contributed by Stephane Eranian <eranian@hpl.hp.com>##    All rights reserved.##    Redistribution and use in source and binary forms, with or without#    modification, are permitted provided that the following conditions#    are met:##    * Redistributions of source code must retain the above copyright#      notice, this list of conditions and the following disclaimer.#    * Redistributions in binary form must reproduce the above#      copyright notice, this list of conditions and the following#      disclaimer in the documentation and/or other materials#      provided with the distribution.#    * Neither the name of Hewlett-Packard Co. nor the names of its#      contributors may be used to endorse or promote products derived#      from this software without specific prior written permission.##    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND#    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,#    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF#    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE#    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS#    BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,#    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,#    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR#    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY#    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR#    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF#    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF#    SUCH DAMAGE.#include env.mkexport VERSION = 3.0.18MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))SRCDIR = $(dir $(MKFILE_PATH))VPATH = $(SRCDIR)include $(SRCDIR)/Make.defaultsSUBDIRS = lib gnuefi inc appsall_stagge2: check_gcc $(SUBDIRS)ensure_dirs:	@mkdir -p $(OBJDIR)/apps/lib	@mkdir -p $(OBJDIR)/apps/lib/libfdt	@$(MAKE) all_stagge2all: ensure_dirsifeq ($(ARCH), riscv64)	@mkdir -p output	cp riscv64/apps/dragon_stub.efi ./output/dragon_stub-riscv64.efiendif.PHONY:	run: 	@$(MAKE) all -j $(shell nproc)	@$(MAKE) qemuqemu:	cd tools && ./run-qemu.sh && cd ..install: allifeq ($(ARCH), riscv64)	@mkdir -p $(TARGET_SYSROOT)/efi/boot/	cp ./output/dragon_stub-riscv64.efi $(TARGET_SYSROOT)/efi/boot/bootriscv64.efielse	@echo "Not support `make install` for $(ARCH)"	exit 1endifgnuefi: libapps:	gnuefimkvars:	@echo AR=$(AR)	@echo ARCH=$(ARCH)	@echo ARCH3264=$(ARCH3264)	@echo AS=$(AS)	@echo ASFLAGS=$(ASFLAGS)	@echo CC=$(CC)	@echo CFLAGS=$(CFLAGS)	@echo CPPFLAGS=$(CPPFLAGS)	@echo GCCMINOR=$(GCCMINOR)	@echo GCCNEWENOUGH=$(GCCNEWENOUGH)	@echo GCCVERSION=$(GCCVERSION)	@echo HOSTARCH=$(HOSTARCH)	@echo INCDIR=$(INCDIR)	@echo INSTALL=$(INSTALL)	@echo INSTALLROOT=$(INSTALLROOT)	@echo LD=$(LD)	@echo LDFLAGS=$(LDFLAGS)	@echo LIBDIR=$(LIBDIR)	@echo OBJCOPY=$(OBJCOPY)	@echo OS=$(OS)	@echo prefix=$(prefix)	@echo PREFIX=$(PREFIX)	@echo RANLIB=$(RANLIB)	@echo SRCDIR=$(SRCDIR)	@echo TOPDIR=$(TOPDIR)	@echo OBJDIR=$(OBJDIR)$(SUBDIRS):	mkdir -p $(OBJDIR)/$@	$(MAKE) -C $(OBJDIR)/$@ -f $(SRCDIR)/$@/Makefile SRCDIR=$(SRCDIR)/$@ ARCH=$(ARCH)clean:	rm -vrf *~	rm -f $(shell find . -name "*.o")	@set -e ; for d in $(SUBDIRS); do \		if [ -d $(OBJDIR)/$$d ]; then \			$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d clean; \		fi; \	donegdb:	gdb-multiarch -n -x tools/.gdbinit#install:#	@set -e ; for d in $(SUBDIRS); do \#		mkdir -p $(OBJDIR)/$$d; \#		$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d install; done.PHONY:	$(SUBDIRS) clean depend## on both platforms you must use gcc 3.0 or higher #check_gcc:ifeq ($(GCC_VERSION),2)	@echo "you need to use a version of gcc >= 3.0, you are using `$(CC) --version`"	@exit 1endifinclude $(SRCDIR)/Make.rulestest-archive:	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp	@git archive --format=tar $(shell git branch | awk '/^*/ { print $$2 }') | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )	@git diff | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; patch -s -p1 -b -z .gitdiff )	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)	@rm -rf /tmp/gnu-efi-$(VERSION)	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"tag:	git tag $(VERSION) refs/heads/masterarchive: tag	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp	@git archive --format=tar $(VERSION) | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)	@rm -rf /tmp/gnu-efi-$(VERSION)	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"
 |