Home | History | Annotate | Line # | Download | only in apps
      1 #
      2 #  Copyright (C) 1999-2001 Hewlett-Packard Co.
      3 #	Contributed by David Mosberger <davidm (at] hpl.hp.com>
      4 #	Contributed by Stephane Eranian <eranian (at] 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 
     37 SRCDIR = .
     38 
     39 VPATH = $(SRCDIR)
     40 
     41 include $(SRCDIR)/../Make.defaults
     42 
     43 TOPDIR = $(SRCDIR)/..
     44 
     45 CDIR=$(TOPDIR)/..
     46 LINUX_HEADERS	= /usr/src/sys/build
     47 CPPFLAGS	+= -D__KERNEL__ -I$(LINUX_HEADERS)/include
     48 CRTOBJS		= ../gnuefi/crt0-efi-$(ARCH).o
     49 
     50 LDSCRIPT	= $(TOPDIR)/gnuefi/elf_$(ARCH)_efi.lds
     51 ifneq (,$(findstring FreeBSD,$(OS)))
     52 LDSCRIPT	= $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds
     53 endif
     54 
     55 LDFLAGS		+= -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
     56 
     57 LOADLIBES	+= -lefi -lgnuefi
     58 LOADLIBES	+= $(LIBGCC)
     59 LOADLIBES	+= -T $(LDSCRIPT)
     60 
     61 TARGET_APPS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi \
     62 	      printenv.efi t7.efi t8.efi tcc.efi modelist.efi \
     63 	      route80h.efi drv0_use.efi AllocPages.efi exit.efi \
     64 	      FreePages.efi setjmp.efi debughook.efi debughook.efi.debug \
     65 	      bltgrid.efi lfbgrid.efi setdbg.efi unsetdbg.efi
     66 TARGET_BSDRIVERS = drv0.efi
     67 TARGET_RTDRIVERS =
     68 
     69 ifneq ($(HAVE_EFI_OBJCOPY),)
     70 
     71 FORMAT		:= --target efi-app-$(ARCH)
     72 $(TARGET_BSDRIVERS): FORMAT=--target efi-bsdrv-$(ARCH)
     73 $(TARGET_RTDRIVERS): FORMAT=--target efi-rtdrv-$(ARCH)
     74 
     75 else
     76 
     77 SUBSYSTEM	:= 0xa
     78 $(TARGET_BSDRIVERS): SUBSYSTEM = 0xb
     79 $(TARGET_RTDRIVERS): SUBSYSTEM = 0xc
     80 
     81 FORMAT		:= -O binary
     82 LDFLAGS		+= --defsym=EFI_SUBSYSTEM=$(SUBSYSTEM)
     83 
     84 endif
     85 
     86 TARGETS = $(TARGET_APPS) $(TARGET_BSDRIVERS) $(TARGET_RTDRIVERS)
     87 
     88 all:	$(TARGETS)
     89 
     90 clean:
     91 	rm -f $(TARGETS) *~ *.o *.so
     92 
     93 .PHONY: install
     94 
     95 include $(SRCDIR)/../Make.rules
     96