rules 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #!/usr/bin/make -f
  2. buildarch := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
  3. ifneq (,$(findstring i386,$(buildarch)))
  4. efiarch := ia32
  5. else ifneq (,$(findstring amd64,$(buildarch)))
  6. efiarch := x86_64
  7. else
  8. efiarch := $(buildarch)
  9. endif
  10. build: build-stamp
  11. build-stamp:
  12. dh_testdir
  13. ifneq (,$(findstring amd64,$(buildarch)))
  14. mkdir build-ia32
  15. $(MAKE) -C build-ia32 -f ../Makefile SRCDIR=.. ARCH=ia32
  16. endif
  17. ifneq (,$(findstring i386,$(buildarch)))
  18. mkdir build-x86_64
  19. $(MAKE) -C build-x86_64 -f ../Makefile SRCDIR=.. ARCH=x86_64
  20. endif
  21. $(MAKE)
  22. touch build-stamp
  23. clean:
  24. dh_testdir
  25. dh_testroot
  26. rm -f build-stamp configure-stamp
  27. [ ! -f Makefile ] || $(MAKE) clean
  28. rm -rf build-ia32 build-x86_64
  29. dh_clean
  30. install: build
  31. dh_testdir
  32. dh_testroot
  33. dh_clean -k
  34. dh_installdirs -A
  35. # gnu-efi files
  36. cp -r inc/* debian/gnu-efi/usr/include/efi/
  37. rm debian/gnu-efi/usr/include/efi/Makefile
  38. rm debian/gnu-efi/usr/include/efi/inc.mak
  39. rm debian/gnu-efi/usr/include/efi/make.inf
  40. rm debian/gnu-efi/usr/include/efi/makefile.hdr
  41. rm debian/gnu-efi/usr/include/efi/protocol/make.inf
  42. rm debian/gnu-efi/usr/include/efi/protocol/makefile.hdr
  43. rm debian/gnu-efi/usr/include/efi/protocol/readme.txt
  44. ifeq ($(buildarch),ia64)
  45. rm -rf debian/gnu-efi/usr/include/efi/ia32
  46. rm -rf debian/gnu-efi/usr/include/efi/x84_64
  47. else
  48. rm -rf debian/gnu-efi/usr/include/efi/ia64
  49. endif
  50. cp gnuefi/*.a debian/gnu-efi/usr/lib/
  51. ifeq ($(buildarch),kfreebsd-amd64)
  52. cp gnuefi/elf_$(efiarch)_fbsd_efi.lds debian/gnu-efi/usr/lib
  53. else
  54. cp gnuefi/elf_$(efiarch)_efi.lds debian/gnu-efi/usr/lib
  55. endif
  56. cp gnuefi/crt0-efi-$(efiarch).o debian/gnu-efi/usr/lib
  57. cp lib/*.a debian/gnu-efi/usr/lib/
  58. ifneq (,$(findstring amd64,$(buildarch)))
  59. mkdir -p debian/gnu-efi/usr/lib32
  60. cp build-ia32/gnuefi/*.a debian/gnu-efi/usr/lib32/
  61. cp gnuefi/elf_ia32_efi.lds debian/gnu-efi/usr/lib32/
  62. cp build-ia32/gnuefi/crt0-efi-ia32.o debian/gnu-efi/usr/lib32/
  63. cp build-ia32/lib/*.a debian/gnu-efi/usr/lib32/
  64. endif
  65. ifneq (,$(findstring i386,$(buildarch)))
  66. mkdir -p debian/gnu-efi/usr/lib64
  67. cp build-x86_64/gnuefi/*.a debian/gnu-efi/usr/lib64/
  68. ifeq ($(buildarch),kfreebsd-i386)
  69. cp gnuefi/elf_x86_64_fbsd_efi.lds debian/gnu-efi/usr/lib64/
  70. else
  71. cp gnuefi/elf_x86_64_efi.lds debian/gnu-efi/usr/lib64/
  72. endif
  73. cp build-x86_64/gnuefi/crt0-efi-x86_64.o debian/gnu-efi/usr/lib64/
  74. cp build-x86_64/lib/*.a debian/gnu-efi/usr/lib64/
  75. endif
  76. # Build architecture-independent files here.
  77. binary-indep: build install
  78. # We have nothing to do by default.
  79. # Build architecture-dependent files here.
  80. binary-arch: build install
  81. dh_testdir
  82. dh_testroot
  83. dh_installdocs -a
  84. dh_installchangelogs -a ChangeLog
  85. dh_link
  86. dh_strip
  87. dh_compress
  88. dh_fixperms
  89. dh_installdeb
  90. dh_shlibdeps
  91. dh_gencontrol
  92. dh_md5sums
  93. dh_builddeb
  94. binary: binary-indep binary-arch
  95. .PHONY: build clean binary-indep binary-arch binary install configure