Makefile 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #
  2. # Copyright (C) 1999-2001 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. SRCDIR = .
  37. VPATH = $(SRCDIR)
  38. include $(SRCDIR)/../Make.defaults
  39. TOPDIR = $(SRCDIR)/..
  40. CDIR=$(TOPDIR)/..
  41. LINUX_HEADERS = /usr/src/sys/build
  42. CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include
  43. CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o
  44. LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_efi.lds
  45. ifneq (,$(findstring FreeBSD,$(OS)))
  46. LDSCRIPT = $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds
  47. endif
  48. LDFLAGS += -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
  49. LOADLIBES += -lefi -lgnuefi
  50. LOADLIBES += $(LIBGCC)
  51. LOADLIBES += -T $(LDSCRIPT)
  52. TARGET_APPS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi \
  53. printenv.efi t7.efi t8.efi tcc.efi modelist.efi \
  54. route80h.efi drv0_use.efi AllocPages.efi \
  55. FreePages.efi setjmp.efi
  56. TARGET_BSDRIVERS = drv0.efi
  57. TARGET_RTDRIVERS =
  58. ifneq ($(HAVE_EFI_OBJCOPY),)
  59. FORMAT := --target efi-app-$(ARCH)
  60. $(TARGET_BSDRIVERS): FORMAT=--target efi-bsdrv-$(ARCH)
  61. $(TARGET_RTDRIVERS): FORMAT=--target efi-rtdrv-$(ARCH)
  62. else
  63. SUBSYSTEM := 0xa
  64. $(TARGET_BSDRIVERS): SUBSYSTEM = 0xb
  65. $(TARGET_RTDRIVERS): SUBSYSTEM = 0xc
  66. FORMAT := -O binary
  67. LDFLAGS += --defsym=EFI_SUBSYSTEM=$(SUBSYSTEM)
  68. endif
  69. TARGETS = $(TARGET_APPS) $(TARGET_BSDRIVERS) $(TARGET_RTDRIVERS)
  70. all: $(TARGETS)
  71. clean:
  72. rm -f $(TARGETS) *~ *.o *.so
  73. .PHONY: install
  74. include $(SRCDIR)/../Make.rules