# # Copyright (C) 1999-2001 Hewlett-Packard Co. # Contributed by David Mosberger # Contributed by Stephane Eranian # # 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. # SRCDIR = . VPATH = $(SRCDIR) include $(SRCDIR)/../Make.defaults TOPDIR = $(SRCDIR)/.. CDIR=$(TOPDIR)/.. LINUX_HEADERS = /usr/src/sys/build CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_efi.lds ifneq (,$(findstring FreeBSD,$(OS))) LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds endif LDFLAGS += -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS) LOADLIBES += -lefi -lgnuefi LOADLIBES += $(shell $(CC) $(ARCH3264) -print-libgcc-file-name) LOADLIBES += -T $(LDSCRIPT) ifeq ($(ARCH),aarch64) FORMAT := pe-aarch64-little else FORMAT = efi-app-$(ARCH) endif TARGET_APPS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi \ printenv.efi t7.efi tcc.efi modelist.efi \ route80h.efi drv0_use.efi AllocPages.efi \ FreePages.efi TARGET_BSDRIVERS = drv0.efi TARGET_RTDRIVERS = TARGETS = $(TARGET_APPS) $(TARGET_BSDRIVERS) $(TARGET_RTDRIVERS) all: $(TARGETS) ifeq ($(ARCH),aarch64) $(TARGET_BSDRIVERS): $(TARGET_RTDRIVERS): else $(TARGET_BSDRIVERS): FORMAT=efi-bsdrv-$(ARCH) $(TARGET_RTDRIVERS): FORMAT=efi-rtdrv-$(ARCH) endif clean: rm -f $(TARGETS) *~ *.o *.so .PHONY: install include $(SRCDIR)/../Make.rules