127 lines
4.3 KiB
Makefile
Executable File
127 lines
4.3 KiB
Makefile
Executable File
#makefile for standby.bin
|
|
always := standby.code resume1.code
|
|
targets := standby.elf resume1.elf
|
|
|
|
GCOV_PROFILE=no
|
|
|
|
#use "-Os" flags.
|
|
#Don't use "-O2" flags.
|
|
KBUILD_CFLAGS := -g -c -nostdlib -march=armv7-a -marm -fno-unwind-tables -fno-asynchronous-unwind-tables -mlittle-endian -O2 -mno-unaligned-access
|
|
|
|
#Include the cur dir.
|
|
KBUILD_CPPFLAGS += -I.
|
|
|
|
LD_FLAGS = -static
|
|
LIBS =
|
|
|
|
INCLUDE = -I. \
|
|
-I$(KDIR)/include \
|
|
-I$(KDIR)/arch/arm/mach-sunxi/include
|
|
|
|
standby-y := common.o \
|
|
standby_clock.o \
|
|
standby_ir.o \
|
|
standby_key.o \
|
|
axp209_power.o \
|
|
standby_power.o \
|
|
standby_twi.o \
|
|
standby_usb.o \
|
|
standby_delay.o \
|
|
./../pm_debug.o \
|
|
./../mem_timing.o \
|
|
./../mem_mmu_pc.o \
|
|
./../mem_mmu_pc_asm.o \
|
|
./../mem_serial.o \
|
|
./../mem_printk.o \
|
|
./../mem_divlib.o \
|
|
./../mem_divlibc.o \
|
|
./../mem_int.o \
|
|
./../mem_gpio.o \
|
|
./../mem_tmr.o \
|
|
./../mem_tmstmp.o \
|
|
./../mem_clk.o \
|
|
standby.o
|
|
|
|
ifneq ($(strip $(CONFIG_SUNXI_ARISC)),)
|
|
standby-y += ./arisc/standby_arisc.o \
|
|
./arisc/arisc_hwmsgbox.o \
|
|
./arisc/arisc_hwspinlock.o \
|
|
./arisc/arisc_message_manager.o \
|
|
./../mem_hwspinlock.o
|
|
else
|
|
standby-y += ./dram/standby.o
|
|
endif
|
|
|
|
standby-y := $(addprefix $(obj)/,$(standby-y))
|
|
|
|
$(obj)/standby.code: $(obj)/standby.elf FORCE
|
|
$(Q)$(CROSS_COMPILE)objcopy -O binary $(obj)/standby.elf $(obj)/standby.code
|
|
#$(call if_changed,objcopy)
|
|
rm -rf *.o $(obj)/../*.o
|
|
|
|
$(obj)/standby.elf: $(obj)/standby.xn $(standby-y)
|
|
$(Q)$(CROSS_COMPILE)ld -T $(obj)/standby.xn $(LD_FLAGS) $(LIBS) -EL $(standby-y) -o $(obj)/standby.elf -Map $(obj)/standby.map
|
|
$(Q)$(CROSS_COMPILE)objdump -D $(obj)/standby.elf > $(obj)/standby.lst
|
|
#$(call if_changed,ld)
|
|
|
|
resume1-y := super/common.o \
|
|
super/super_twi.o \
|
|
super/super_delay.o \
|
|
super/super_clock.o \
|
|
super/super_power.o \
|
|
super/super_cpus.o \
|
|
super/resume/resume1.o \
|
|
super/resume/resume_head.o \
|
|
super/resume/resume1_c_part.o \
|
|
../pm_debug.o \
|
|
../mem_timing.o \
|
|
../mem_mmu_pc.o \
|
|
../mem_mmu_pc_asm.o \
|
|
../mem_cpu.o \
|
|
../mem_serial.o \
|
|
../mem_printk.o \
|
|
../mem_divlib.o \
|
|
../mem_divlibc.o \
|
|
../mem_int.o \
|
|
../mem_gpio.o \
|
|
../mem_tmr.o \
|
|
../mem_tmstmp.o \
|
|
../mem_hwspinlock.o \
|
|
../mem_clk.o
|
|
|
|
ifneq ($(strip $(CONFIG_ARCH_SUN8IW6P1) $(CONFIG_ARCH_SUN9IW1P1) $(CONFIG_ARCH_SUN8IW9P1)),)
|
|
ifneq ($(strip $(CONFIG_SUNXI_TRUSTZONE)),)
|
|
resume1-y += super/resume/monitor.o
|
|
endif
|
|
else
|
|
endif
|
|
|
|
resume1-y := $(addprefix $(obj)/,$(resume1-y))
|
|
|
|
$(obj)/resume1.code: $(obj)/resume1.bin
|
|
$(Q)$(obj)/gen_check_code $(obj)/resume1.bin $(obj)/super/resume/resume1.code
|
|
rm -rf *.o $(obj)/../*.o
|
|
|
|
$(obj)/resume1.bin: $(obj)/resume1.elf FORCE
|
|
$(Q)$(CROSS_COMPILE)objcopy -O binary $(obj)/resume1.elf $(obj)/resume1.bin
|
|
|
|
|
|
ifneq ($(strip $(CONFIG_ARCH_SUN9I)),)
|
|
$(obj)/resume1.elf: $(obj)/sun9i_resume1_scatter.scat $(resume1-y)
|
|
$(Q)$(CROSS_COMPILE)ld -T $(obj)/sun9i_resume1_scatter.scat -EL $(resume1-y) -o $(obj)/resume1.elf -Map $(obj)/resume1.map
|
|
$(Q)$(CROSS_COMPILE)objdump -D $(obj)/resume1.elf > $(obj)/resume1.lst
|
|
#FIXME: still donot know why command: $(call if_changed,ld) not work well? the output file size is not proper.
|
|
endif
|
|
|
|
ifneq ($(strip $(CONFIG_ARCH_SUN8I)),)
|
|
$(obj)/resume1.elf: $(obj)/sun8i_resume1_scatter.scat $(resume1-y)
|
|
$(Q)$(CROSS_COMPILE)ld -T $(obj)/sun8i_resume1_scatter.scat -EL $(resume1-y) -o $(obj)/resume1.elf -Map $(obj)/resume1.map
|
|
$(Q)$(CROSS_COMPILE)objdump -D $(obj)/resume1.elf > $(obj)/resume1.lst
|
|
#FIXME: still donot know why command: $(call if_changed,ld) not work well? the output file size is not proper.
|
|
endif
|
|
|
|
$(resume1-y): $(obj)/standby.code
|
|
|
|
clean-files += standby.code standby.elf
|
|
clean-files += resume1.code resume1.elf
|