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

tests-common = \
	$(TEST_DIR)/selftest.elf \
	$(TEST_DIR)/spapr_hcall.elf \
	$(TEST_DIR)/rtas.elf \
	$(TEST_DIR)/emulator.elf \
	$(TEST_DIR)/tm.elf \
	$(TEST_DIR)/sprs.elf

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

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

CFLAGS += -std=gnu99
CFLAGS += -ffreestanding
CFLAGS += -O2
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/alloc.o
cflatobjs += lib/devicetree.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

FLATLIBS = $(libcflat) $(LIBFDT_archive)
%.elf: CFLAGS += $(arch_CFLAGS)
%.elf: LDFLAGS = $(arch_LDFLAGS) -nostdlib -pie -n
%.elf: %.o $(FLATLIBS) $(SRCDIR)/powerpc/flat.lds $(cstart.o) $(reloc.o)
	$(CC) $(CFLAGS) -c -o $(@:.elf=.aux.o) $(SRCDIR)/lib/auxinfo.c \
		-DPROGNAME=\"$@\"
	$(LD) $(LDFLAGS) -o $@ \
		-T $(SRCDIR)/powerpc/flat.lds --build-id=none \
		$(filter %.o, $^) $(FLATLIBS) $(@:.elf=.aux.o)
	$(RM) $(@:.elf=.aux.o)
	@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 $@ $<

powerpc_clean: libfdt_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)
