diff options
author | Yang Zhang <yang.z.zhang@intel.com> | 2015-08-28 09:58:54 +0800 |
---|---|---|
committer | Yang Zhang <yang.z.zhang@intel.com> | 2015-09-01 12:44:00 +0800 |
commit | e44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch) | |
tree | 66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/SLOF/rtas/Makefile.inc | |
parent | 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff) |
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5
Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/SLOF/rtas/Makefile.inc')
-rw-r--r-- | qemu/roms/SLOF/rtas/Makefile.inc | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/qemu/roms/SLOF/rtas/Makefile.inc b/qemu/roms/SLOF/rtas/Makefile.inc new file mode 100644 index 000000000..4297f86a9 --- /dev/null +++ b/qemu/roms/SLOF/rtas/Makefile.inc @@ -0,0 +1,89 @@ +# ***************************************************************************** +# * Copyright (c) 2004, 2008 IBM Corporation +# * All rights reserved. +# * This program and the accompanying materials +# * are made available under the terms of the BSD License +# * which accompanies this distribution, and is available at +# * http://www.opensource.org/licenses/bsd-license.php +# * +# * Contributors: +# * IBM Corporation - initial implementation +# ****************************************************************************/ + +# Before including this Makefile, you should specify the following variables +# in your Makefile: +# - RTASCMNDIR : Points to the common RTAS directory +# - RTASBRDDIR : Points to the board specific RTAS directory +# - TOOLSDIR : Points to the common tools directory +# - OBJS : A list with all object files that should be linked into rtas.bin +# - BOARD_SRCS : A list with all board specific source code files +# (needed for "make depend") + + +LDFLAGS = -nostdlib +CPPFLAGS += -I$(RTASBRDDIR) -I$(RTASCMNDIR) \ + -I$(INCLCMNDIR) -I$(INCLBRDDIR) \ + -I$(LIBCMNDIR)/libc/include \ + -I$(INCLCMNDIR)/$(CPUARCH) +ASFLAGS = -Wa,-mregnames $(FLAG) +CFLAGS += -g -nostdinc -ffreestanding -Wall -Wextra -O2 -msoft-float \ + -mno-altivec -mabi=no-altivec $(FLAG) + +# Common RTAS files: +RTAS_SRC_ASM = reloc.S rtas_common.S rtas_entry.S rtas_term.S \ + rtas_cpu.S rtas_flash_asm.S rtas_mem.S rtas_ras.S +RTAS_SRC_C = rtas_call.c rtas_flash_c.c rtas_h8.c \ + rtas_nvramlog.c rtas_sensor.c rtas_init.c \ + rtas_flash_cfi.c +RTAS_SRCS = $(RTAS_SRC_ASM) $(RTAS_SRC_C) +RTAS_OBJ_ASM = $(RTAS_SRC_ASM:%.S=%.o) +RTAS_OBJ_C = $(RTAS_SRC_C:%.c=%.o) + +# Common build rules: +$(RTAS_OBJ_C): + $(CC) $(CPPFLAGS) $(CFLAGS) -c $(@:%.o=$(RTASCMNDIR)/%.c) -o $@ + +$(RTAS_OBJ_ASM): + $(CC) $(CPPFLAGS) $(ASFLAGS) -c $(@:%.o=$(RTASCMNDIR)/%.S) -o $@ + +$(TOOLSDIR)/gen_reloc_table: $(TOOLSDIR)/gen_reloc_table.c + $(MAKE) -C $(TOOLSDIR) gen_reloc_table + + +# Rules for building rtas.bin: +rtas.bin: rtas + $(OBJCOPY) -O binary $< $@ + +rtas: $(RTASCMNDIR)/rtas.lds $(OBJS) reloc_table.o $(LIBCMNDIR)/libc.a + $(LD) $(LDFLAGS) -o $@ -T $(RTASCMNDIR)/rtas.lds $(OBJS) \ + reloc_table.o $(LIBCMNDIR)/libc.a + +reloc_table.o: $(TOOLSDIR)/gen_reloc_table $(OBJS) $(LIBCMNDIR)/libc.a + $(TOOLSDIR)/create_reloc_table.sh --ld "$(ONLY_LD)" --ldflags "$(LDFLAGS)" \ + --lds "$(RTASCMNDIR)/rtas.lds" --objcopy "$(OBJCOPY)" $(OBJS) $(LIBCMNDIR)/libc.a + + +$(LIBCMNDIR)/libc.a: + $(MAKE) -C $(LIBCMNDIR) libc + + +# Rules for cleaning up: +clean_rtas: + rm -f $(OBJS) reloc_table.o rtas rtas.bin + rm -f $(RTASCMNDIR)/*~ $(RTASCMNDIR)/*.o + +distclean_rtas: clean_rtas + rm -f Makefile.dep + + +# Rules for creating the dependency file: +depend: + rm -f Makefile.dep + $(MAKE) Makefile.dep + +Makefile.dep: Makefile $(RTASCMNDIR)/Makefile.inc + $(CC) -MM $(CPPFLAGS) $(CFLAGS) $(RTAS_SRCS:%=$(RTASCMNDIR)/%) > Makefile.dep + $(CC) -MM $(CPPFLAGS) $(CFLAGS) $(BOARD_SRCS) >> Makefile.dep + +# Include dependency file if available: +-include Makefile.dep |