blob: e8c4f2bcbcc2a7ea8fdf58d8a1b8bda3499b0419 [file] [log] [blame]
Greg Hartman76d05dc2016-11-23 15:51:27 -08001#
2# Copyright (C) 1999-2007 Hewlett-Packard Co.
3# Contributed by David Mosberger <davidm@hpl.hp.com>
4# Contributed by Stephane Eranian <eranian@hpl.hp.com>
5#
6# All rights reserved.
7#
8# Redistribution and use in source and binary forms, with or without
9# modification, are permitted provided that the following conditions
10# are met:
11#
12# * Redistributions of source code must retain the above copyright
13# notice, this list of conditions and the following disclaimer.
14# * Redistributions in binary form must reproduce the above
15# copyright notice, this list of conditions and the following
16# disclaimer in the documentation and/or other materials
17# provided with the distribution.
18# * Neither the name of Hewlett-Packard Co. nor the names of its
19# contributors may be used to endorse or promote products derived
20# from this software without specific prior written permission.
21#
22# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
23# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
24# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
27# BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
28# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
32# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
33# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34# SUCH DAMAGE.
35#
36
37SRCDIR = $(shell pwd)
38
39VPATH = $(SRCDIR)
40
41include $(SRCDIR)/Make.defaults
42
43SUBDIRS = lib gnuefi inc apps
44gnuefi: lib
45
46all: check_gcc $(SUBDIRS)
47
48mkvars:
49 @echo AR=$(AR)
50 @echo ARCH=$(ARCH)
51 @echo ARCH3264=$(ARCH3264)
52 @echo AS=$(AS)
53 @echo ASFLAGS=$(ASFLAGS)
54 @echo CC=$(CC)
55 @echo CFLAGS=$(CFLAGS)
56 @echo CPPFLAGS=$(CPPFLAGS)
57 @echo GCCMINOR=$(GCCMINOR)
58 @echo GCCNEWENOUGH=$(GCCNEWENOUGH)
59 @echo GCCVERSION=$(GCCVERSION)
60 @echo HOSTARCH=$(HOSTARCH)
61 @echo INCDIR=$(INCDIR)
62 @echo INSTALL=$(INSTALL)
63 @echo INSTALLROOT=$(INSTALLROOT)
64 @echo LD=$(LD)
65 @echo LDFLAGS=$(LDFLAGS)
66 @echo LIBDIR=$(LIBDIR)
67 @echo OBJCOPY=$(OBJCOPY)
68 @echo OS=$(OS)
69 @echo prefix=$(prefix)
70 @echo PREFIX=$(PREFIX)
71 @echo RANLIB=$(RANLIB)
72 @echo SRCDIR=$(SRCDIR)
73 @echo TOPDIR=$(TOPDIR)
74
75$(SUBDIRS):
76 mkdir -p $@
77 $(MAKE) -C $@ -f $(SRCDIR)/$@/Makefile SRCDIR=$(SRCDIR)/$@ ARCH=$(ARCH)
78
79clean:
80 rm -f *~
81 @for d in $(SUBDIRS); do $(MAKE) -C $$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d clean; done
82
83install:
84 @for d in $(SUBDIRS); do \
85 mkdir -p $$d; \
86 $(MAKE) -C $$d -f $(SRCDIR)/$$d/Makefile SRCDIR=$(SRCDIR)/$$d install; done
87
88.PHONY: $(SUBDIRS) clean depend
89
90#
91# on both platforms you must use gcc 3.0 or higher
92#
93check_gcc:
94ifeq ($(GCC_VERSION),2)
95 @echo "you need to use a version of gcc >= 3.0, you are using `$(CC) --version`"
96 @exit 1
97endif
98
99include $(SRCDIR)/Make.rules