11.1Sjakllsch#
21.1Sjakllsch#  Copyright (C) 1999-2007 Hewlett-Packard Co.
31.1Sjakllsch#	Contributed by David Mosberger <davidm@hpl.hp.com>
41.1Sjakllsch#	Contributed by Stephane Eranian <eranian@hpl.hp.com>
51.1Sjakllsch#
61.1Sjakllsch#    All rights reserved.
71.1Sjakllsch#
81.1Sjakllsch#    Redistribution and use in source and binary forms, with or without
91.1Sjakllsch#    modification, are permitted provided that the following conditions
101.1Sjakllsch#    are met:
111.1Sjakllsch#
121.1Sjakllsch#    * Redistributions of source code must retain the above copyright
131.1Sjakllsch#      notice, this list of conditions and the following disclaimer.
141.1Sjakllsch#    * Redistributions in binary form must reproduce the above
151.1Sjakllsch#      copyright notice, this list of conditions and the following
161.1Sjakllsch#      disclaimer in the documentation and/or other materials
171.1Sjakllsch#      provided with the distribution.
181.1Sjakllsch#    * Neither the name of Hewlett-Packard Co. nor the names of its
191.1Sjakllsch#      contributors may be used to endorse or promote products derived
201.1Sjakllsch#      from this software without specific prior written permission.
211.1Sjakllsch#
221.1Sjakllsch#    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
231.1Sjakllsch#    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
241.1Sjakllsch#    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
251.1Sjakllsch#    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
261.1Sjakllsch#    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
271.1Sjakllsch#    BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
281.1Sjakllsch#    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
291.1Sjakllsch#    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
301.1Sjakllsch#    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
311.1Sjakllsch#    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
321.1Sjakllsch#    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
331.1Sjakllsch#    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
341.1Sjakllsch#    SUCH DAMAGE.
351.1Sjakllsch#
361.1Sjakllsch
371.1.1.3SjmcneillVERSION = 3.0.14
381.1.1.2Sjmcneill
391.1.1.2SjmcneillMKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
401.1.1.2SjmcneillSRCDIR = $(dir $(MKFILE_PATH))
411.1Sjakllsch
421.1SjakllschVPATH = $(SRCDIR)
431.1Sjakllsch
441.1Sjakllschinclude $(SRCDIR)/Make.defaults
451.1Sjakllsch
461.1SjakllschSUBDIRS = lib gnuefi inc apps
471.1Sjakllschgnuefi: lib
481.1Sjakllsch
491.1Sjakllschall:	check_gcc $(SUBDIRS)
501.1Sjakllsch
511.1Sjakllschmkvars:
521.1Sjakllsch	@echo AR=$(AR)
531.1Sjakllsch	@echo ARCH=$(ARCH)
541.1Sjakllsch	@echo ARCH3264=$(ARCH3264)
551.1Sjakllsch	@echo AS=$(AS)
561.1Sjakllsch	@echo ASFLAGS=$(ASFLAGS)
571.1Sjakllsch	@echo CC=$(CC)
581.1Sjakllsch	@echo CFLAGS=$(CFLAGS)
591.1Sjakllsch	@echo CPPFLAGS=$(CPPFLAGS)
601.1Sjakllsch	@echo GCCMINOR=$(GCCMINOR)
611.1Sjakllsch	@echo GCCNEWENOUGH=$(GCCNEWENOUGH)
621.1Sjakllsch	@echo GCCVERSION=$(GCCVERSION)
631.1Sjakllsch	@echo HOSTARCH=$(HOSTARCH)
641.1Sjakllsch	@echo INCDIR=$(INCDIR)
651.1Sjakllsch	@echo INSTALL=$(INSTALL)
661.1Sjakllsch	@echo INSTALLROOT=$(INSTALLROOT)
671.1Sjakllsch	@echo LD=$(LD)
681.1Sjakllsch	@echo LDFLAGS=$(LDFLAGS)
691.1Sjakllsch	@echo LIBDIR=$(LIBDIR)
701.1Sjakllsch	@echo OBJCOPY=$(OBJCOPY)
711.1Sjakllsch	@echo OS=$(OS)
721.1Sjakllsch	@echo prefix=$(prefix)
731.1Sjakllsch	@echo PREFIX=$(PREFIX)
741.1Sjakllsch	@echo RANLIB=$(RANLIB)
751.1.1.2Sjmcneill	@echo SRCDIR=$(SRCDIR)
761.1Sjakllsch	@echo TOPDIR=$(TOPDIR)
771.1Sjakllsch
781.1Sjakllsch$(SUBDIRS):
791.1.1.2Sjmcneill	mkdir -p $(OBJDIR)/$@
801.1.1.2Sjmcneill	$(MAKE) -C $(OBJDIR)/$@ -f $(SRCDIR)/$@/Makefile SRCDIR=$(SRCDIR)/$@ ARCH=$(ARCH)
811.1Sjakllsch
821.1Sjakllschclean:
831.1Sjakllsch	rm -f *~
841.1.1.2Sjmcneill	@for d in $(SUBDIRS); do \
851.1.1.2Sjmcneill		if [ -d $(OBJDIR)/$$d ]; then \
861.1.1.2Sjmcneill			$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d clean; \
871.1.1.2Sjmcneill		fi; \
881.1.1.2Sjmcneill	done
891.1Sjakllsch
901.1Sjakllschinstall:
911.1.1.2Sjmcneill	@for d in $(SUBDIRS); do \
921.1.1.2Sjmcneill		mkdir -p $(OBJDIR)/$$d; \
931.1.1.2Sjmcneill		$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d install; done
941.1Sjakllsch
951.1Sjakllsch.PHONY:	$(SUBDIRS) clean depend
961.1Sjakllsch
971.1Sjakllsch#
981.1Sjakllsch# on both platforms you must use gcc 3.0 or higher 
991.1Sjakllsch#
1001.1Sjakllschcheck_gcc:
1011.1Sjakllschifeq ($(GCC_VERSION),2)
1021.1Sjakllsch	@echo "you need to use a version of gcc >= 3.0, you are using `$(CC) --version`"
1031.1Sjakllsch	@exit 1
1041.1Sjakllschendif
1051.1Sjakllsch
1061.1Sjakllschinclude $(SRCDIR)/Make.rules
1071.1.1.2Sjmcneill
1081.1.1.2Sjmcneilltest-archive:
1091.1.1.2Sjmcneill	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp
1101.1.1.2Sjmcneill	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp
1111.1.1.2Sjmcneill	@git archive --format=tar $(shell git branch | awk '/^*/ { print $$2 }') | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )
1121.1.1.2Sjmcneill	@git diff | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; patch -s -p1 -b -z .gitdiff )
1131.1.1.2Sjmcneill	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/
1141.1.1.2Sjmcneill	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)
1151.1.1.2Sjmcneill	@rm -rf /tmp/gnu-efi-$(VERSION)
1161.1.1.2Sjmcneill	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"
1171.1.1.2Sjmcneill
1181.1.1.2Sjmcneilltag:
1191.1.1.2Sjmcneill	git tag $(VERSION) refs/heads/master
1201.1.1.2Sjmcneill
1211.1.1.2Sjmcneillarchive: tag
1221.1.1.2Sjmcneill	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp
1231.1.1.2Sjmcneill	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp
1241.1.1.2Sjmcneill	@git archive --format=tar $(VERSION) | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )
1251.1.1.2Sjmcneill	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/
1261.1.1.2Sjmcneill	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)
1271.1.1.2Sjmcneill	@rm -rf /tmp/gnu-efi-$(VERSION)
1281.1.1.2Sjmcneill	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"
1291.1.1.2Sjmcneill
130