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