#
# powerpc common makefile
#
# Authors: Andrew Jones <drjones@redhat.com>
#

tests-common = \
	$(TEST_DIR)/selftest.elf \
	$(TEST_DIR)/selftest-migration.elf \
	$(TEST_DIR)/memory-verify.elf \
	$(TEST_DIR)/sieve.elf \
	$(TEST_DIR)/spapr_hcall.elf \
	$(TEST_DIR)/rtas.elf \
	$(TEST_DIR)/emulator.elf \
	$(TEST_DIR)/atomics.elf \
	$(TEST_DIR)/tm.elf \
	$(TEST_DIR)/smp.elf \
	$(TEST_DIR)/sprs.elf \
	$(TEST_DIR)/timebase.elf \
	$(TEST_DIR)/interrupts.elf \
	$(TEST_DIR)/mmu.elf

tests-all = $(tests-common) $(tests)
all: directories $(TEST_DIR)/boot_rom.bin $(tests-all)

##################################################################

mabi_no_altivec := $(call cc-option,-mabi=no-altivec,"")

CFLAGS += -std=gnu99
CFLAGS += -ffreestanding
CFLAGS += -O2 -msoft-float -mno-altivec $(mabi_no_altivec)
CFLAGS += -I $(SRCDIR)/lib -I $(SRCDIR)/lib/libfdt -I lib
CFLAGS += -Wa,-mregnames

# We want to keep intermediate files
.PRECIOUS: %.o

asm-offsets = lib/$(ARCH)/asm-offsets.h
include $(SRCDIR)/scripts/asm-offsets.mak

cflatobjs += lib/util.o
cflatobjs += lib/getchar.o
cflatobjs += lib/alloc_phys.o
cflatobjs += lib/alloc.o
cflatobjs += lib/alloc_page.o
cflatobjs += lib/vmalloc.o
cflatobjs += lib/devicetree.o
cflatobjs += lib/migrate.o
cflatobjs += lib/powerpc/io.o
cflatobjs += lib/powerpc/hcall.o
cflatobjs += lib/powerpc/setup.o
cflatobjs += lib/powerpc/rtas.o
cflatobjs += lib/powerpc/processor.o
cflatobjs += lib/powerpc/handlers.o
cflatobjs += lib/powerpc/smp.o

OBJDIRS += lib/powerpc

%.aux.o: $(SRCDIR)/lib/auxinfo.c
	$(CC) $(CFLAGS) -c -o $@ $< -DPROGNAME=\"$(@:.aux.o=.elf)\"

FLATLIBS = $(libcflat) $(LIBFDT_archive)
%.elf: CFLAGS += $(arch_CFLAGS)
%.elf: LDFLAGS += $(arch_LDFLAGS) -pie -n
%.elf: %.o $(FLATLIBS) $(SRCDIR)/powerpc/flat.lds $(cstart.o) $(reloc.o) %.aux.o
	$(LD) $(LDFLAGS) -o $@ \
		-T $(SRCDIR)/powerpc/flat.lds --build-id=none \
		$(filter %.o, $^) $(FLATLIBS)
	@chmod a-x $@
	@echo -n Checking $@ for unsupported reloc types...
	@if $(OBJDUMP) -R $@ | grep R_ | grep -v R_PPC64_RELATIVE; then	\
		false;							\
	else								\
		echo " looks good.";					\
	fi

$(TEST_DIR)/boot_rom.bin: $(TEST_DIR)/boot_rom.elf
	dd if=/dev/zero of=$@ bs=256 count=1
	$(OBJCOPY) -O binary $^ $@.tmp
	cat $@.tmp >> $@
	$(RM) $@.tmp

$(TEST_DIR)/boot_rom.elf: CFLAGS = -mbig-endian
$(TEST_DIR)/boot_rom.elf: $(TEST_DIR)/boot_rom.o
	$(LD) -EB -nostdlib -Ttext=0x100 --entry=start --build-id=none -o $@ $<
	@chmod a-x $@

powerpc_clean: asm_offsets_clean
	$(RM) $(TEST_DIR)/*.{o,elf} $(TEST_DIR)/boot_rom.bin \
	      $(TEST_DIR)/.*.d lib/powerpc/.*.d

generated-files = $(asm-offsets)
$(tests-all:.elf=.o) $(cstart.o) $(cflatobjs): $(generated-files)
