source: soft/giet_vm/Makefile @ 254

Last change on this file since 254 was 253, checked in by alain, 11 years ago

1/ introducing support to display images on the frame buffer
with the vci_chbuf_dma (in stdio.c and drivers.c)
2/ introducing support for mem_cache configuration segment
as the memory cache is considered as another addressable peripheral type
(in drivers.c)
3/ Introducing the new "increment" parameter in the mapping header.
This parameter define the virtual address increment for the vsegs
associated to the replicated peripherals (ICU, XICU, MDMA, TIMER, MMC).
This parameter is mandatory, and all map.xml files the "mappings"
directory have been updated.

File size: 5.2 KB
RevLine 
[162]1export # export all variable to sub-Makefile
[232]2CC = mipsel-unknown-elf-gcc
3AS = mipsel-unknown-elf-as
4LD = mipsel-unknown-elf-ld
5DU = mipsel-unknown-elf-objdump
[158]6
[253]7MAP_XML      = mappings/4c_1p_iob.xml
[204]8
[189]9SYS_OBJS     = build/sys/vm_handler.o \
[232]10               build/sys/sys_handler.o \
[189]11               build/sys/giet.o \
[232]12               build/sys/switch.o \
[189]13               build/sys/common.o \
14               build/sys/ctx_handler.o \
15               build/sys/drivers.o \
16               build/sys/exc_handler.o \
17               build/sys/irq_handler.o \
18               build/sys/kernel_init.o
[162]19
[189]20BOOT_OBJS    = build/boot/reset.o \
21               build/boot/boot_init.o
[162]22
[189]23DISPLAY_OBJS = build/display/main.o \
24               build/libs/stdio.o \
25               build/libs/utils.o
[162]26
[189]27ROUTER_OBJS  = build/router/main.o \
28               build/libs/mwmr_channel.o \
29               build/libs/stdio.o \
30               build/libs/utils.o
[162]31
[189]32HELLO_OBJS   = build/hello/main.o \
33               build/libs/stdio.o \
34               build/libs/utils.o
[158]35
[189]36PGCD_OBJS    = build/pgcd/main.o \
37               build/libs/stdio.o \
38               build/libs/utils.o
[158]39
[251]40GAMEOFLIFE_OBJS   = build/gameoflife/main.o \
41                    build/libs/stdio.o \
42                    build/libs/barrier.o
43
[241]44DHRYSTONE_OBJS = build/dhrystone/dhry_1.o \
45                 build/dhrystone/dhry_2.o \
46                 build/libs/stdio.o \
47                 build/libs/utils.o \
48                 build/libs/string.o \
[244]49                 build/libs/spin_lock.o \
[241]50                 build/libs/malloc.o
51
52
[251]53CFLAGS = -Wall -ffreestanding -mno-gpopt -mips32
[158]54
[189]55INCLUDE = -Iboot -Isys -Ixml -Ilibs -I.
[158]56
[232]57all: map.bin soft.elf
[160]58
[189]59## merge all *.elf and map.bin to soft.elf
60soft.elf: build/boot/boot.elf \
61          build/sys/sys.elf \
62          build/display/display.elf \
63          build/router/router.elf \
64          build/pgcd/pgcd.elf \
65          build/hello/hello.elf \
[251]66          build/gameoflife/gameoflife.elf \
[241]67          build/dhrystone/dhrystone.elf \
[215]68         
[189]69        $(MAKE) -C memo
70        memo/memo.x  map.bin
71        $(DU) -D $@ > build$@.txt
[160]72
[177]73### mapping compilation
[204]74map.bin: $(MAP_XML)
[189]75        $(MAKE) -C xml
[215]76        xml/xml2bin $< .
[158]77
[177]78### system compilation
[218]79build/sys/sys.elf: $(SYS_OBJS) sys/sys.ld
[189]80        $(LD) -o $@ -T sys/sys.ld $(SYS_OBJS)
81        $(DU) -D $@ > $@.txt
[158]82
[218]83build/sys/%.o: sys/%.c giet_config.h $(MAP_XML)
[189]84        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]85
[218]86build/sys/%.o: sys/%.s giet_config.h $(MAP_XML)
[189]87        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]88
[177]89### boot compilation
[189]90build/boot/boot.elf: $(BOOT_OBJS) boot/boot.ld
91        $(LD) -o $@ -T boot/boot.ld $(BOOT_OBJS)
92        $(DU) -D $@ > $@.txt
[158]93
[218]94build/boot/%.o: boot/%.c giet_config.h $(MAP_XML)
[189]95        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]96
[218]97build/boot/%.o: boot/%.S giet_config.h $(MAP_XML)
[189]98        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]99
[189]100### display compilation
101build/display/display.elf: $(DISPLAY_OBJS) display/display.ld
102        $(LD) -o $@ -T display/display.ld $(DISPLAY_OBJS)
103        $(DU) -D $@ > $@.txt
[158]104
[189]105build/display/main.o: display/main.c
106        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
107
108### router compilation
109build/router/router.elf: $(ROUTER_OBJS) router/router.ld
110        $(LD) -o $@ -T router/router.ld $(ROUTER_OBJS)
111        $(DU) -D $@ > $@.txt
112
113build/router/main.o: router/main.c
114        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
115
116### hello compilation
117build/hello/hello.elf: $(HELLO_OBJS) hello/hello.ld
118        $(LD) -o $@ -T hello/hello.ld $(HELLO_OBJS)
119        $(DU) -D $@ > $@.txt
120
121build/hello/main.o: hello/main.c
[232]122        $(CC) $(INCLUDE) $(CFLAGS) -c -o $@ $<
[189]123
124### pgcd compilation
125build/pgcd/pgcd.elf: $(PGCD_OBJS) pgcd/pgcd.ld
126        $(LD) -o $@ -T pgcd/pgcd.ld $(PGCD_OBJS)
127        $(DU) -D $@ > $@.txt
128
129build/pgcd/main.o: pgcd/main.c
[232]130        $(CC) $(INCLUDE) $(CFLAGS) -c -o $@ $<
[189]131
[251]132
133### gameoflife compilation
134build/gameoflife/gameoflife.elf: $(GAMEOFLIFE_OBJS) gameoflife/gameoflife.ld
135        $(LD) -o $@ -T gameoflife/gameoflife.ld $(GAMEOFLIFE_OBJS)
136        $(DU) -D $@ > $@.txt
137
138build/gameoflife/main.o: gameoflife/main.c
139        $(CC) $(INCLUDE) $(CFLAGS) -O3 -c -o $@ $<
140
[241]141### dhrystone compilation
142build/dhrystone/dhrystone.elf: $(DHRYSTONE_OBJS) dhrystone/dhrystone.ld
143        $(LD) -o $@ -T dhrystone/dhrystone.ld $(DHRYSTONE_OBJS)
144        $(DU) -D $@ > $@.txt
145
146build/dhrystone/dhry_1.o: dhrystone/dhry_1.c
147        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
148
149build/dhrystone/dhry_2.o: dhrystone/dhry_2.c
150        $(CC) $(INCLUDE) $(CFLAGS)  -c -o $@ $<
151
[177]152### libs compilation
[197]153build/libs/utils.o: libs/utils.c giet_config.h
[232]154        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
[158]155
[197]156build/libs/stdio.o: libs/stdio.c giet_config.h 
[232]157        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
[158]158
[189]159build/libs/mwmr_channel.o: libs/mwmr_channel.c
[232]160        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
[189]161
[232]162build/libs/malloc.o: libs/malloc.c libs/malloc.h libs/malloc_private.h giet_config.h
163        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
[189]164
[251]165build/libs/barrier.o: libs/barrier.c
166        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
167
[241]168build/libs/string.o: libs/string.c libs/string.h
169        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
[232]170
[244]171build/libs/spin_lock.o: libs/spin_lock.c libs/spin_lock.h
172        $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $<
173
[177]174### clean
[158]175clean:
[252]176        rm -f *.o *.elf *.bin *.txt core  giet_vsegs.ld hard_config.h map.bin*~
[232]177        $(MAKE) -s clean -C xml
178        $(MAKE) -s clean -C memo
179        rm -rf build/boot/*
180        rm -rf build/sys/*
181        rm -rf build/libs/*
182        rm -rf build/pgcd/*
183        rm -rf build/hello/*
184        rm -rf build/display/*
185        rm -rf build/router/*
[251]186        rm -rf build/gameoflife/*
[241]187        rm -rf build/dhrystone/*
Note: See TracBrowser for help on using the repository browser.