Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2010 OpenWrt.org
  4. include $(TOPDIR)/rules.mk
  5. include $(INCLUDE_DIR)/image.mk
  6. define CompressLzma
  7. $(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(2)
  8. endef
  9. define CompressGzip
  10. gzip -9n -c $(1) > $(2)
  11. endef
  12. define MkuImage
  13. mkimage -A mips -O linux -T kernel -a 0x80100000 -C $(1) $(2) \
  14. -e 0x80100000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
  15. -d $(3) $(4)
  16. endef
  17. define Image/Prepare
  18. $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
  19. $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(KDIR)/uImage.lzma)
  20. $(call CompressGzip,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.gz)
  21. $(call MkuImage,gzip,,$(KDIR)/vmlinux.bin.gz,$(KDIR)/uImage.gz)
  22. endef
  23. define Image/BuildKernel
  24. cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf
  25. cp $(KDIR)/uImage.lzma $(BIN_DIR)/$(IMG_PREFIX)-uImage-lzma
  26. cp $(KDIR)/uImage.gz $(BIN_DIR)/$(IMG_PREFIX)-uImage-gzip
  27. endef
  28. define Image/Build/Initramfs
  29. cp $(KDIR)/vmlinux-initramfs.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs.elf
  30. cp $(KDIR)/vmlinux-initramfs $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs.bin
  31. endef
  32. define Image/Build/gzip
  33. gzip -f9n $(BIN_DIR)/$(IMG_ROOTFS)-$(1).img
  34. endef
  35. $(eval $(call Image/gzip-ext4-padded-squashfs))
  36. define Image/Build
  37. $(call Image/Build/$(1))
  38. $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_ROOTFS)-$(1).img
  39. $(call Image/Build/gzip/$(1))
  40. endef
  41. $(eval $(call BuildImage))