SmartAudio/lichee/linux-4.9/drivers/soc/sunxi/pm/standby/Makefile

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