|
|
1.1 root 1: # *****************************************************************************
2: # * Copyright (c) 2004, 2008 IBM Corporation
3: # * All rights reserved.
4: # * This program and the accompanying materials
5: # * are made available under the terms of the BSD License
6: # * which accompanies this distribution, and is available at
7: # * http://www.opensource.org/licenses/bsd-license.php
8: # *
9: # * Contributors:
10: # * IBM Corporation - initial implementation
11: # ****************************************************************************/
12:
13: include ../Makefile.dirs
14:
15: include $(TOPBRDDIR)/config
16: include $(TOPCMNDIR)/make.rules
17:
18:
19: LDFLAGS = -nostdlib
20: CPPFLAGS = -I. -I$(LIBCMNDIR)/libc/include -I$(LIBCMNDIR)/libipmi -I$(INCLBRDDIR) \
21: -I$(INCLCMNDIR) -I$(RTASCMNDIR) -I$(INCLCMNDIR)/$(CPUARCH)
22: ASFLAGS = -Wa,-mregnames $(FLAG)
23: CFLAGS += -Wall -Wextra -O2 -msoft-float -ffreestanding $(FLAG)
24:
25: # Board specific RTAS files:
26: BOARD_SRC_ASM =
27: BOARD_SRC_C = rtas_flash.c rtas_board.c rtas_pci.c \
28: rtas_out.c rtas_table.c
29: BOARD_SRCS = $(BOARD_SRC_ASM) $(BOARD_SRC_C)
30: BOARD_OBJ = $(BOARD_SRC_ASM:%.S=%.o) $(BOARD_SRC_C:%.c=%.o) $(BOARD_OCO:%.oco=%.o)
31: BOARD_OCO = i2c_bmc.oco ipmi_oem.oco
32:
33:
34: # Common RTAS files (from $(RTASCMNDIR) directory):
35: RTAS_SRC_ASM = rtas_entry.S rtas_common.S reloc.S
36: RTAS_SRC_C = rtas_call.c
37: RTAS_SRCS = $(RTAS_SRC_ASM) $(RTAS_SRC_C)
38: RTAS_OBJ = $(RTAS_SRC_ASM:%.S=%.o) $(RTAS_SRC_C:%.c=%.o)
39:
40: RTAS_FLASH_SRC = block_lists.c
41: RTAS_FLASH_OBJ = $(RTAS_FLASH_SRC:%.c=$(RTASCMNDIR)/flash/%.o)
42:
43: # Additional object files:
44: EXTRA_OBJ = ../llfw/hw.o ../../lib/libc.a ../../lib/libipmi.a
45:
46: OBJS = $(RTAS_OBJ:%=$(RTASCMNDIR)/%) $(BOARD_OBJ) $(EXTRA_OBJ) \
47: $(RTAS_FLASH_OBJ)
48:
49:
50: all: Makefile.dep rtas.bin
51:
52: rtas.bin: rtas
53: $(OBJCOPY) -O binary $< $@
54:
55: rtas: $(RTASCMNDIR)/rtas.lds $(OBJS) reloc_table.o
56: $(LD) $(LDFLAGS) -o $@ -T $(RTASCMNDIR)/rtas.lds $(OBJS) reloc_table.o
57:
58: reloc_table.o: $(TOOLSDIR)/gen_reloc_table $(OBJS)
59: $(TOOLSDIR)/create_reloc_table.sh --ld "$(ONLY_LD)" --ldflags "$(LDFLAGS)" \
60: --lds "$(RTASCMNDIR)/rtas.lds" --objcopy "$(OBJCOPY)" $(OBJS)
61:
62: $(TOOLSDIR)/gen_reloc_table: $(TOOLSDIR)/gen_reloc_table.c
63: $(MAKE) -C $(TOOLSDIR) gen_reloc_table
64:
65: ../../lib/libc.a:
66: make -C ../../lib
67:
68: clean:
69: make -C ../../lib clean
70: rm -f $(OBJS) reloc_table.o rtas rtas.bin
71:
72: distclean : clean
73: rm -f Makefile.dep
74:
75:
76: # Rules for creating the dependency file:
77: depend:
78: $(CC) -MM $(CPPFLAGS) $(CFLAGS) $(BOARD_SRCS) > Makefile.dep
79: $(CC) -MM $(CPPFLAGS) $(CFLAGS) $(RTAS_SRCS:%=$(RTASCMNDIR)/%) \
80: | sed -e '/:/s,^,$(RTASCMNDIR)/,' >> Makefile.dep
81: Makefile.dep:
82: $(MAKE) depend
83:
84: # Include dependency file if available:
85: ifneq (,$(wildcard Makefile.dep))
86: include Makefile.dep
87: endif
88: %.o: %.oco
89: cp -f $< $@
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.