blob: d080b1fa5bbbdeda4175609aa0573cfc12315cb5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
#
# Subdirectory makefiles do some setup, then we get here
#
# Tool helpers
SPECFLAGS =-B${RTEMS_MAKEFILE_PATH}/lib/ -specs=bsp_specs -qrtems
CFLAGS = $(CPU_CFLAGS)
# GEN5200 Specific Information
ifeq ($(RTEMS_BSP_FAMILY),gen5200)
LINKARGS+=-qnolinkcmds -T$(RTEMS_LINKCMDS)
endif
# PC386 Specific Information
ifeq ($(RTEMS_BSP_FAMILY),pc386)
HEADERADDR=0x00097E00
START16FILE=$(RTEMS_MAKEFILE_PATH)/lib/start16.bin
START16ADDR=0x00097C00
RELOCADDR=0x00100000
LINKARGS+= -Wl,-Ttext,$(RELOCADDR)
endif
# Some tests need to be able to do a gethostbyname
ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes)
CLEAN_ADDITIONS += FilesystemImage FilesystemImage.c FilesystemImage.h
FILESYSTEM_OBJS = FilesystemImage.o
FILESYSTEM_SRCS = FilesystemImage.h
CFLAGS += -DENABLE_UNTAR_ROOT_FILESYSTEM -I.
endif
ifeq ($(NEED_NETWORK),yes)
#NETWORK_HFILE= ../networkconfig_$(RTEMS_BSP).h
#NETWORK_HFILE= ../networkconfig.h
endif
DEFINES += -D$(RTEMS_BSP)
CFLAGS += $(DEFINES)
RTS= --RTS=$(shell $(CC) -print-multi-directory $(CFLAGS))
all: $(PROGRAM).exe
joel:
@echo CFLAGS=$(CFLAGS)
@echo CC=$(CC)
@echo RTS=$(RTS)
$(CC) -print-multi-directory $(CFLAGS)
$(CC) -mcpu=403 -print-multi-directory
$(PROGRAM).exe: rtems_init.o $(FILESYSTEM_OBJS) $(EXTRA_OBJS)
$(AS:as=gnatmake) -g -v $(EXTRA_GNATFLAGS) \
-I$(RTEMS_MAKEFILE_PATH)/lib/include/adainclude \
-O -gnata -gnatE -gnato -g $(PROGRAM) -o $(@) \
-bargs -Mgnat_main \
-largs $(SPECFLAGS) $(CFLAGS) $(LINKARGS) \
rtems_init.o $(FILESYSTEM_OBJS) \
$(EXTRA_OBJS)
ifeq ($(RTEMS_BSP_FAMILY),pc386)
$(OBJCOPY) -O binary $(@) $(@).bin
$(RTEMS_MAKEFILE_PATH)/build-tools/bin2boot -v $(@).bt $(HEADERADDR) \
$(START16FILE) $(START16ADDR) 0 $(@).bin $(RELOCADDR) 0
endif
ifeq ($(RTEMS_BSP),icecube)
$(OBJCOPY) -R -S -O binary obj/$(PROGRAM) obj/$(PROGRAM).bin
cat obj/$(PROGRAM).bin | gzip -9 >obj/$(PROGRAM).gz
mkimage \
-A ppc -O rtems -T kernel -a 0x40000 -e 0x40000 -n "RTEMS" \
-d obj/$(PROGRAM).gz obj/$(PROGRAM).img
cp obj/$(PROGRAM).img ../../../../tftpboot/main.img
rm -f obj/$(PROGRAM).gz obj/$(PROGRAM).img
endif
rtems_init.o: ../rtems_init.c $(FILESYSTEM_SRCS) $(NETWORK_HFILE)
$(CC) $(CFLAGS) -I. $(CPU_CFLAGS) -c $<
ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes)
FilesystemImage: ../rootfs/etc/host.conf ../rootfs/etc/hosts
(cd ../rootfs ; tar cf - \
--exclude CVS --exclude .cvsignore --exclude .svn .) >$(@)
FilesystemImage.c FilesystemImage.h: FilesystemImage
$(PROJECT_ROOT)/bin/rtems-bin2c FilesystemImage FilesystemImage
FilesystemImage.o: FilesystemImage.c
$(CC) $(CFLAGS) $(CPU_CFLAGS) -c $<
endif
clean:
rm -f obj/*
rm -f b~*.* *.o *.ali $(PROGRAM)
rm -f *.num *.exe *.obj *.bin *.bt *.gba
|