Home | History | Annotate | Line # | Download | only in dist
Makefile revision 1.1.1.2
      1      1.1  jakllsch #
      2      1.1  jakllsch #  Copyright (C) 1999-2007 Hewlett-Packard Co.
      3      1.1  jakllsch #	Contributed by David Mosberger <davidm (at] hpl.hp.com>
      4      1.1  jakllsch #	Contributed by Stephane Eranian <eranian (at] hpl.hp.com>
      5      1.1  jakllsch #
      6      1.1  jakllsch #    All rights reserved.
      7      1.1  jakllsch #
      8      1.1  jakllsch #    Redistribution and use in source and binary forms, with or without
      9      1.1  jakllsch #    modification, are permitted provided that the following conditions
     10      1.1  jakllsch #    are met:
     11      1.1  jakllsch #
     12      1.1  jakllsch #    * Redistributions of source code must retain the above copyright
     13      1.1  jakllsch #      notice, this list of conditions and the following disclaimer.
     14      1.1  jakllsch #    * Redistributions in binary form must reproduce the above
     15      1.1  jakllsch #      copyright notice, this list of conditions and the following
     16      1.1  jakllsch #      disclaimer in the documentation and/or other materials
     17      1.1  jakllsch #      provided with the distribution.
     18      1.1  jakllsch #    * Neither the name of Hewlett-Packard Co. nor the names of its
     19      1.1  jakllsch #      contributors may be used to endorse or promote products derived
     20      1.1  jakllsch #      from this software without specific prior written permission.
     21      1.1  jakllsch #
     22      1.1  jakllsch #    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
     23      1.1  jakllsch #    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
     24      1.1  jakllsch #    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     25      1.1  jakllsch #    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     26      1.1  jakllsch #    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
     27      1.1  jakllsch #    BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
     28      1.1  jakllsch #    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     29      1.1  jakllsch #    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     30      1.1  jakllsch #    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     31      1.1  jakllsch #    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
     32      1.1  jakllsch #    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
     33      1.1  jakllsch #    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     34      1.1  jakllsch #    SUCH DAMAGE.
     35      1.1  jakllsch #
     36      1.1  jakllsch 
     37  1.1.1.2  jmcneill VERSION = 3.0.8
     38  1.1.1.2  jmcneill 
     39  1.1.1.2  jmcneill MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
     40  1.1.1.2  jmcneill SRCDIR = $(dir $(MKFILE_PATH))
     41      1.1  jakllsch 
     42      1.1  jakllsch VPATH = $(SRCDIR)
     43      1.1  jakllsch 
     44      1.1  jakllsch include $(SRCDIR)/Make.defaults
     45      1.1  jakllsch 
     46      1.1  jakllsch SUBDIRS = lib gnuefi inc apps
     47      1.1  jakllsch gnuefi: lib
     48      1.1  jakllsch 
     49      1.1  jakllsch all:	check_gcc $(SUBDIRS)
     50      1.1  jakllsch 
     51      1.1  jakllsch mkvars:
     52      1.1  jakllsch 	@echo AR=$(AR)
     53      1.1  jakllsch 	@echo ARCH=$(ARCH)
     54      1.1  jakllsch 	@echo ARCH3264=$(ARCH3264)
     55      1.1  jakllsch 	@echo AS=$(AS)
     56      1.1  jakllsch 	@echo ASFLAGS=$(ASFLAGS)
     57      1.1  jakllsch 	@echo CC=$(CC)
     58      1.1  jakllsch 	@echo CFLAGS=$(CFLAGS)
     59      1.1  jakllsch 	@echo CPPFLAGS=$(CPPFLAGS)
     60      1.1  jakllsch 	@echo GCCMINOR=$(GCCMINOR)
     61      1.1  jakllsch 	@echo GCCNEWENOUGH=$(GCCNEWENOUGH)
     62      1.1  jakllsch 	@echo GCCVERSION=$(GCCVERSION)
     63      1.1  jakllsch 	@echo HOSTARCH=$(HOSTARCH)
     64      1.1  jakllsch 	@echo INCDIR=$(INCDIR)
     65      1.1  jakllsch 	@echo INSTALL=$(INSTALL)
     66      1.1  jakllsch 	@echo INSTALLROOT=$(INSTALLROOT)
     67      1.1  jakllsch 	@echo LD=$(LD)
     68      1.1  jakllsch 	@echo LDFLAGS=$(LDFLAGS)
     69      1.1  jakllsch 	@echo LIBDIR=$(LIBDIR)
     70      1.1  jakllsch 	@echo OBJCOPY=$(OBJCOPY)
     71      1.1  jakllsch 	@echo OS=$(OS)
     72      1.1  jakllsch 	@echo prefix=$(prefix)
     73      1.1  jakllsch 	@echo PREFIX=$(PREFIX)
     74      1.1  jakllsch 	@echo RANLIB=$(RANLIB)
     75  1.1.1.2  jmcneill 	@echo SRCDIR=$(SRCDIR)
     76      1.1  jakllsch 	@echo TOPDIR=$(TOPDIR)
     77      1.1  jakllsch 
     78      1.1  jakllsch $(SUBDIRS):
     79  1.1.1.2  jmcneill 	mkdir -p $(OBJDIR)/$@
     80  1.1.1.2  jmcneill 	$(MAKE) -C $(OBJDIR)/$@ -f $(SRCDIR)/$@/Makefile SRCDIR=$(SRCDIR)/$@ ARCH=$(ARCH)
     81      1.1  jakllsch 
     82      1.1  jakllsch clean:
     83      1.1  jakllsch 	rm -f *~
     84  1.1.1.2  jmcneill 	@for d in $(SUBDIRS); do \
     85  1.1.1.2  jmcneill 		if [ -d $(OBJDIR)/$$d ]; then \
     86  1.1.1.2  jmcneill 			$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d clean; \
     87  1.1.1.2  jmcneill 		fi; \
     88  1.1.1.2  jmcneill 	done
     89      1.1  jakllsch 
     90      1.1  jakllsch install:
     91  1.1.1.2  jmcneill 	@for d in $(SUBDIRS); do \
     92  1.1.1.2  jmcneill 		mkdir -p $(OBJDIR)/$$d; \
     93  1.1.1.2  jmcneill 		$(MAKE) -C $(OBJDIR)/$$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d install; done
     94      1.1  jakllsch 
     95      1.1  jakllsch .PHONY:	$(SUBDIRS) clean depend
     96      1.1  jakllsch 
     97      1.1  jakllsch #
     98      1.1  jakllsch # on both platforms you must use gcc 3.0 or higher 
     99      1.1  jakllsch #
    100      1.1  jakllsch check_gcc:
    101      1.1  jakllsch ifeq ($(GCC_VERSION),2)
    102      1.1  jakllsch 	@echo "you need to use a version of gcc >= 3.0, you are using `$(CC) --version`"
    103      1.1  jakllsch 	@exit 1
    104      1.1  jakllsch endif
    105      1.1  jakllsch 
    106      1.1  jakllsch include $(SRCDIR)/Make.rules
    107  1.1.1.2  jmcneill 
    108  1.1.1.2  jmcneill test-archive:
    109  1.1.1.2  jmcneill 	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp
    110  1.1.1.2  jmcneill 	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp
    111  1.1.1.2  jmcneill 	@git archive --format=tar $(shell git branch | awk '/^*/ { print $$2 }') | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )
    112  1.1.1.2  jmcneill 	@git diff | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; patch -s -p1 -b -z .gitdiff )
    113  1.1.1.2  jmcneill 	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/
    114  1.1.1.2  jmcneill 	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)
    115  1.1.1.2  jmcneill 	@rm -rf /tmp/gnu-efi-$(VERSION)
    116  1.1.1.2  jmcneill 	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"
    117  1.1.1.2  jmcneill 
    118  1.1.1.2  jmcneill tag:
    119  1.1.1.2  jmcneill 	git tag $(VERSION) refs/heads/master
    120  1.1.1.2  jmcneill 
    121  1.1.1.2  jmcneill archive: tag
    122  1.1.1.2  jmcneill 	@rm -rf /tmp/gnu-efi-$(VERSION) /tmp/gnu-efi-$(VERSION)-tmp
    123  1.1.1.2  jmcneill 	@mkdir -p /tmp/gnu-efi-$(VERSION)-tmp
    124  1.1.1.2  jmcneill 	@git archive --format=tar $(VERSION) | ( cd /tmp/gnu-efi-$(VERSION)-tmp/ ; tar x )
    125  1.1.1.2  jmcneill 	@mv /tmp/gnu-efi-$(VERSION)-tmp/ /tmp/gnu-efi-$(VERSION)/
    126  1.1.1.2  jmcneill 	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/gnu-efi-$(VERSION).tar.bz2 gnu-efi-$(VERSION)
    127  1.1.1.2  jmcneill 	@rm -rf /tmp/gnu-efi-$(VERSION)
    128  1.1.1.2  jmcneill 	@echo "The archive is in gnu-efi-$(VERSION).tar.bz2"
    129  1.1.1.2  jmcneill 
    130