11.1Sjakllsch#
21.1Sjakllsch#  Copyright (C) 1999-2001 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.1SjakllschSRCDIR = .
381.1Sjakllsch
391.1SjakllschVPATH = $(SRCDIR)
401.1Sjakllsch
411.1Sjakllschinclude $(SRCDIR)/../Make.defaults
421.1Sjakllsch
431.1SjakllschTOPDIR = $(SRCDIR)/..
441.1Sjakllsch
451.1SjakllschCDIR = $(TOPDIR)/..
461.1SjakllschFILES = boxdraw smbios console crc data debug dpath  \
471.1.1.2Sjmcneill        error event exit guid hand hw init lock   \
481.1.1.3Sjmcneill        misc pause print sread str cmdline\
491.1Sjakllsch	runtime/rtlock runtime/efirtlib runtime/rtstr runtime/vm runtime/rtdata  \
501.1.1.2Sjmcneill	$(ARCH)/initplat $(ARCH)/math $(ARCH)/setjmp
511.1Sjakllsch
521.1Sjakllschifeq ($(ARCH),ia64)
531.1SjakllschFILES += $(ARCH)/salpal $(ARCH)/palproc
541.1Sjakllschendif
551.1Sjakllsch
561.1Sjakllschifeq ($(ARCH),x86_64)
571.1SjakllschFILES += $(ARCH)/callwrap $(ARCH)/efi_stub
581.1Sjakllschendif
591.1Sjakllsch
601.1.1.2Sjmcneillifeq ($(ARCH),arm)
611.1.1.2SjmcneillFILES += $(ARCH)/uldiv $(ARCH)/ldivmod $(ARCH)/div $(ARCH)/llsl $(ARCH)/llsr \
621.1.1.2Sjmcneill	 $(ARCH)/mullu
631.1.1.2Sjmcneillendif
641.1.1.2Sjmcneill
651.1SjakllschOBJS  = $(FILES:%=%.o)
661.1Sjakllsch
671.1.1.3SjmcneillSUBDIRS = ia32 x86_64 ia64 aarch64 arm mips64el riscv64 runtime
681.1.1.2Sjmcneill
691.1.1.2SjmcneillLIBDIRINSTALL = $(INSTALLROOT)$(LIBDIR)
701.1Sjakllsch
711.1Sjakllschall: libsubdirs libefi.a
721.1Sjakllsch
731.1.1.2Sjmcneill.PHONY: libsubdirs
741.1Sjakllschlibsubdirs:
751.1Sjakllsch	for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
761.1Sjakllsch
771.1.1.2Sjmcneilllibefi.a: $(OBJS)
781.1.1.2Sjmcneill	$(AR) $(ARFLAGS) $@ $^
791.1Sjakllsch
801.1Sjakllschclean:
811.1Sjakllsch	rm -f libefi.a *~ $(OBJS) */*.o
821.1Sjakllsch
831.1.1.2Sjmcneill$(LIBDIRINSTALL):
841.1.1.2Sjmcneill	mkdir -p $@
851.1.1.2Sjmcneill
861.1.1.2Sjmcneill$(LIBDIRINSTALL)/libefi.a: libefi.a | $(LIBDIRINSTALL)
871.1.1.2Sjmcneill	$(INSTALL) -m 644 $< $(dir $@)
881.1.1.2Sjmcneill
891.1.1.2Sjmcneillinstall: $(LIBDIRINSTALL)/libefi.a
901.1Sjakllsch
911.1Sjakllschinclude $(SRCDIR)/../Make.rules
921.1Sjakllsch
931.1Sjakllsch.PHONY: libsubdirs
94