Makefile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # linux/arch/arm/boot/bootp/Makefile
  4. #
  5. # This file is included by the global makefile so that you can add your own
  6. # architecture-specific flags and dependencies.
  7. #
  8. GCOV_PROFILE := n
  9. ifdef PHYS_OFFSET
  10. add_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) )
  11. # If PHYS_OFFSET is set, INITRD_PHYS and PARAMS_PHYS can be derived,
  12. # otherwise they must be passed on the command line.
  13. #
  14. # Note: the following conditions must always be true:
  15. # PARAMS_PHYS must be within 4MB of ZRELADDR
  16. # INITRD_PHYS must be in RAM
  17. PARAMS_PHYS := $(call add_hex, $(PHYS_OFFSET), 0x100)
  18. # guess an initrd location if possible
  19. initrd_offset-$(CONFIG_ARCH_FOOTBRIDGE) += 0x00800000
  20. initrd_offset-$(CONFIG_ARCH_SA1100) += 0x00800000
  21. initrd_offset-$(CONFIG_ARCH_RPC) += 0x08000000
  22. INITRD_OFFSET := $(initrd_offset-y)
  23. ifdef INITRD_OFFSET
  24. INITRD_PHYS := $(call add_hex, $(PHYS_OFFSET), $(INITRD_OFFSET))
  25. endif
  26. endif
  27. PHONY += initrd
  28. initrd:
  29. @test "$(PARAMS_PHYS)" != "" || \
  30. (echo bootpImage: You must specify PHYS_OFFSET of PARAMS_PHYS ; exit -1)
  31. @test "$(INITRD_PHYS)" != "" || \
  32. (echo bootpImage: You must specify INITRD_OFFSET or INITRD_PHYS ; exit -1)
  33. @test "$(INITRD)" != "" || \
  34. (echo bootpImage: You must specify INITRD; exit -1)
  35. LDFLAGS_bootp := --no-undefined -X \
  36. --defsym initrd_phys=$(INITRD_PHYS) \
  37. --defsym params_phys=$(PARAMS_PHYS) -T
  38. AFLAGS_initrd.o :=-DINITRD=\"$(INITRD)\"
  39. targets := bootp init.o kernel.o initrd.o
  40. # Note that bootp.lds picks up kernel.o and initrd.o
  41. $(obj)/bootp: $(src)/bootp.lds $(addprefix $(obj)/,init.o kernel.o initrd.o) FORCE
  42. $(call if_changed,ld)
  43. # kernel.o and initrd.o includes a binary image using
  44. # .incbin, a dependency which is not tracked automatically
  45. $(obj)/kernel.o: arch/arm/boot/zImage FORCE
  46. $(obj)/initrd.o: initrd $(INITRD) FORCE
  47. PHONY += $(INITRD)