| [595] | 1 | -include params.mk | 
|---|
| [302] | 2 |  | 
|---|
| [595] | 3 | export # export all variable to applications sub-Makefile | 
|---|
 | 4 |  | 
|---|
| [232] | 5 | CC = mipsel-unknown-elf-gcc | 
|---|
 | 6 | AS = mipsel-unknown-elf-as | 
|---|
 | 7 | LD = mipsel-unknown-elf-ld | 
|---|
 | 8 | DU = mipsel-unknown-elf-objdump | 
|---|
| [380] | 9 | AR = mipsel-unknown-elf-ar | 
|---|
| [158] | 10 |  | 
|---|
| [595] | 11 | # Defaults values for hardware parameters and applications | 
|---|
| [611] | 12 | # These parameters should be defined in the params.mk file | 
|---|
| [595] | 13 | ARCH      ?= pathname | 
|---|
| [581] | 14 | X_SIZE    ?= 1 | 
|---|
 | 15 | Y_SIZE    ?= 1 | 
|---|
| [595] | 16 | NB_PROCS  ?= 1 | 
|---|
| [580] | 17 | NB_TTYS   ?= 1 | 
|---|
| [595] | 18 | FBF_WIDTH ?= 256 | 
|---|
 | 19 | IOC_TYPE  ?= BDV | 
|---|
| [739] | 20 | MWR_TYPE  ?= CPY | 
|---|
| [611] | 21 | APPLIS    ?= shell | 
|---|
| [326] | 22 |  | 
|---|
| [595] | 23 | # build the list of applications used as argument by genmap | 
|---|
 | 24 | GENMAP_APPLIS := $(addprefix --,$(APPLIS)) | 
|---|
| [510] | 25 |  | 
|---|
| [649] | 26 | # build the list of application.py (used as dependencies by genmap) | 
|---|
 | 27 | APPLIS_PY      = applications/classif/classif.py        \ | 
|---|
 | 28 |                  applications/convol/convol.py          \ | 
|---|
 | 29 |                  applications/coproc/coproc.py          \ | 
|---|
| [776] | 30 |                  applications/coremark/coremark.py      \ | 
|---|
| [649] | 31 |                  applications/display/display.py        \ | 
|---|
 | 32 |                  applications/dhrystone/dhrystone.py    \ | 
|---|
 | 33 |                  applications/gameoflife/gameoflife.py  \ | 
|---|
| [739] | 34 |                  applications/mjpeg/mjpeg.py            \ | 
|---|
| [649] | 35 |                  applications/ocean/ocean.py            \ | 
|---|
| [673] | 36 |                  applications/raycast/raycast.py        \ | 
|---|
| [776] | 37 |                  applications/rosenfeld/rosenfeld.py    \ | 
|---|
| [649] | 38 |                  applications/router/router.py          \ | 
|---|
 | 39 |                  applications/shell/shell.py            \ | 
|---|
 | 40 |                  applications/sort/sort.py              \ | 
|---|
| [776] | 41 |                  applications/transpose/transpose.py | 
|---|
| [326] | 42 |  | 
|---|
| [776] | 43 |  | 
|---|
 | 44 | # build the list of applications to be executed (used in the "compile" rule) | 
|---|
| [595] | 45 | APPLIS_ELF    := $(addsuffix /appli.elf,$(addprefix applications/,$(APPLIS))) | 
|---|
| [204] | 46 |  | 
|---|
| [600] | 47 | # Build PYTHONPATH | 
|---|
| [602] | 48 | PYTHONPATH := $(shell find . -name *.py | grep -o "\(.*\)/" | sort -u | tr '\n' :) | 
|---|
| [600] | 49 |  | 
|---|
| [595] | 50 | # check hardware platform definition | 
|---|
 | 51 | ifeq ($(wildcard $(ARCH)),) | 
|---|
 | 52 | $(error please define in ARCH parameter the path to the platform) | 
|---|
 | 53 | endif  | 
|---|
| [580] | 54 |  | 
|---|
| [608] | 55 | ### Rules that don't build a target file | 
|---|
| [776] | 56 | .PHONY: compil \ | 
|---|
 | 57 |         dirs \ | 
|---|
 | 58 |         list \ | 
|---|
 | 59 |         extract \ | 
|---|
 | 60 |         clean \ | 
|---|
 | 61 |         clean-disk \ | 
|---|
 | 62 |         build/kernel/kernel.elf \ | 
|---|
 | 63 |         build/boot/boot.elf \ | 
|---|
 | 64 |         $(APPLIS_ELF) | 
|---|
| [595] | 65 |  | 
|---|
| [463] | 66 | ### Objects to be linked for the drivers library | 
|---|
| [535] | 67 | DRIVERS_OBJS = build/drivers/dma_driver.o      \ | 
|---|
 | 68 |                build/drivers/cma_driver.o      \ | 
|---|
 | 69 |                build/drivers/xcu_driver.o      \ | 
|---|
 | 70 |                build/drivers/bdv_driver.o      \ | 
|---|
 | 71 |                build/drivers/hba_driver.o      \ | 
|---|
 | 72 |                build/drivers/sdc_driver.o      \ | 
|---|
 | 73 |                build/drivers/spi_driver.o      \ | 
|---|
 | 74 |                build/drivers/rdk_driver.o      \ | 
|---|
 | 75 |                build/drivers/iob_driver.o      \ | 
|---|
 | 76 |                build/drivers/mmc_driver.o      \ | 
|---|
 | 77 |                build/drivers/mwr_driver.o      \ | 
|---|
 | 78 |                build/drivers/nic_driver.o      \ | 
|---|
 | 79 |                build/drivers/tim_driver.o      \ | 
|---|
 | 80 |                build/drivers/tty_driver.o      \ | 
|---|
| [380] | 81 |                build/drivers/pic_driver.o | 
|---|
 | 82 |  | 
|---|
 | 83 | ### Objects to be linked for kernel.elf | 
|---|
| [510] | 84 | KERNEL_OBJS  = build/common/utils.o            \ | 
|---|
 | 85 |                build/common/kernel_locks.o     \ | 
|---|
 | 86 |                build/common/kernel_barriers.o  \ | 
|---|
 | 87 |                build/common/tty0.o             \ | 
|---|
 | 88 |                build/common/vmem.o             \ | 
|---|
 | 89 |                build/common/kernel_malloc.o    \ | 
|---|
 | 90 |                build/fat32/fat32.o             \ | 
|---|
 | 91 |                build/kernel/giet.o             \ | 
|---|
 | 92 |                build/kernel/switch.o           \ | 
|---|
 | 93 |                build/kernel/ctx_handler.o      \ | 
|---|
 | 94 |                build/kernel/exc_handler.o      \ | 
|---|
 | 95 |                build/kernel/sys_handler.o      \ | 
|---|
 | 96 |                build/kernel/irq_handler.o      \ | 
|---|
| [258] | 97 |                build/kernel/kernel_init.o | 
|---|
| [162] | 98 |  | 
|---|
| [258] | 99 | ### Objects to be linked for boot.elf | 
|---|
| [510] | 100 | BOOT_OBJS    = build/common/utils.o            \ | 
|---|
 | 101 |                build/common/kernel_locks.o     \ | 
|---|
 | 102 |                build/common/kernel_barriers.o  \ | 
|---|
 | 103 |                build/common/tty0.o             \ | 
|---|
 | 104 |                build/common/pmem.o             \ | 
|---|
 | 105 |                build/common/vmem.o             \ | 
|---|
 | 106 |                build/common/kernel_malloc.o    \ | 
|---|
 | 107 |                build/fat32/fat32.o             \ | 
|---|
 | 108 |                build/kernel/ctx_handler.o      \ | 
|---|
| [535] | 109 |                build/kernel/irq_handler.o      \ | 
|---|
| [595] | 110 |                build/kernel/sys_handler.o      \ | 
|---|
| [510] | 111 |                build/kernel/switch.o           \ | 
|---|
 | 112 |                build/boot/boot.o               \ | 
|---|
| [366] | 113 |                build/boot/boot_entry.o | 
|---|
| [258] | 114 |  | 
|---|
| [585] | 115 | ### Objects to be linked for the user library | 
|---|
 | 116 | USER_OBJS     = build/libs/malloc.o            \ | 
|---|
 | 117 |                 build/libs/mwmr_channel.o      \ | 
|---|
 | 118 |                 build/libs/stdio.o             \ | 
|---|
 | 119 |                 build/libs/stdlib.o            \ | 
|---|
 | 120 |                 build/libs/string.o            \ | 
|---|
 | 121 |                 build/libs/user_barrier.o      \ | 
|---|
| [709] | 122 |                 build/libs/user_lock.o  | 
|---|
| [585] | 123 |  | 
|---|
| [583] | 124 | ### Objects to be linked for the math library | 
|---|
 | 125 | MATH_OBJS     = build/libs/math/e_pow.o        \ | 
|---|
 | 126 |                 build/libs/math/e_rem_pio2.o   \ | 
|---|
 | 127 |                 build/libs/math/k_cos.o        \ | 
|---|
 | 128 |                 build/libs/math/k_rem_pio2.o   \ | 
|---|
 | 129 |                 build/libs/math/k_sin.o        \ | 
|---|
 | 130 |                 build/libs/math/s_copysign.o   \ | 
|---|
 | 131 |                 build/libs/math/s_fabs.o       \ | 
|---|
| [777] | 132 |                 build/libs/math/fmod.o       \ | 
|---|
| [583] | 133 |                 build/libs/math/s_finite.o     \ | 
|---|
 | 134 |                 build/libs/math/s_floor.o      \ | 
|---|
| [777] | 135 |                 build/libs/math/s_ceil.o       \ | 
|---|
| [583] | 136 |                 build/libs/math/s_isnan.o      \ | 
|---|
 | 137 |                 build/libs/math/sqrt.o         \ | 
|---|
 | 138 |                 build/libs/math/s_rint.o       \ | 
|---|
 | 139 |                 build/libs/math/s_scalbn.o     \ | 
|---|
 | 140 |                 build/libs/math/s_sin.o        \ | 
|---|
| [667] | 141 |                 build/libs/math/s_cos.o        \ | 
|---|
| [595] | 142 |                 build/libs/math/e_sqrt.o        | 
|---|
| [580] | 143 |  | 
|---|
| [162] | 144 |  | 
|---|
| [435] | 145 | CFLAGS = -Wall -ffreestanding -mno-gpopt -mips32 -g -O2 \ | 
|---|
| [776] | 146 |                  -fno-delete-null-pointer-checks | 
|---|
| [158] | 147 |  | 
|---|
| [258] | 148 | GIET_INCLUDE = -Igiet_boot    \ | 
|---|
 | 149 |                -Igiet_kernel  \ | 
|---|
 | 150 |                -Igiet_xml     \ | 
|---|
 | 151 |                -Igiet_fat32   \ | 
|---|
 | 152 |                -Igiet_drivers \ | 
|---|
 | 153 |                -Igiet_common  \ | 
|---|
 | 154 |                -Igiet_libs    \ | 
|---|
 | 155 |                -I. | 
|---|
| [158] | 156 |  | 
|---|
| [302] | 157 | DISK_IMAGE  := hdd/virt_hdd.dmg | 
|---|
 | 158 |  | 
|---|
| [595] | 159 | ### The Mtools used to build the FAT32 disk image perform a few sanity checks, | 
|---|
| [582] | 160 | ### to make sure that the disk is indeed an MS-DOS disk. However, the size | 
|---|
 | 161 | ### of the disk image used by the Giet-VM is not MS-DOS compliant. | 
|---|
 | 162 | ### Setting this variable prevents these checks. | 
|---|
| [776] | 163 |  | 
|---|
| [582] | 164 | MTOOLS_SKIP_CHECK := 1 | 
|---|
 | 165 |  | 
|---|
| [595] | 166 | ################################## | 
|---|
| [776] | 167 | ### first rule executed  | 
|---|
 | 168 | ### compile boot.elf, kernel.elf, and selected appli.elf | 
|---|
 | 169 | ### update these .elf files on virtual disk | 
|---|
 | 170 | compile: dirs                    \ | 
|---|
 | 171 |          hard_config.h           \ | 
|---|
 | 172 |          build/kernel/kernel.elf \ | 
|---|
 | 173 |          build/boot/boot.elf     \ | 
|---|
 | 174 |          $(APPLIS_ELF)           | 
|---|
| [580] | 175 |         mdir -/ -b -i $(DISK_IMAGE) ::/ | 
|---|
| [160] | 176 |  | 
|---|
| [776] | 177 | ######################################## | 
|---|
 | 178 | ### create build directories for giet_vm | 
|---|
| [599] | 179 | dirs: | 
|---|
 | 180 |         @mkdir -p build/boot | 
|---|
 | 181 |         @mkdir -p build/common | 
|---|
 | 182 |         @mkdir -p build/drivers | 
|---|
 | 183 |         @mkdir -p build/fat32 | 
|---|
 | 184 |         @mkdir -p build/kernel | 
|---|
 | 185 |         @mkdir -p build/libs/math | 
|---|
 | 186 |         @mkdir -p hdd | 
|---|
 | 187 |  | 
|---|
| [608] | 188 | ##################################################### | 
|---|
 | 189 | ### make a recursive list of the virtual disk content | 
|---|
 | 190 | list: | 
|---|
 | 191 |          mdir -/ -w -i $(DISK_IMAGE) ::/ | 
|---|
 | 192 |  | 
|---|
| [776] | 193 | ##################################################### | 
|---|
 | 194 | ### make a file system check for the the virtual disk  | 
|---|
 | 195 | fsck: | 
|---|
 | 196 |          fsck_msdos $(DISK_IMAGE)  | 
|---|
 | 197 |  | 
|---|
| [608] | 198 | ######################################################## | 
|---|
 | 199 | ### copy the files generated by the virtual prototype on | 
|---|
| [776] | 200 | ### the virtual disk "home" directory to the current directory | 
|---|
| [608] | 201 | extract: | 
|---|
 | 202 |         mcopy -o -i $(DISK_IMAGE) ::/home . | 
|---|
 | 203 |  | 
|---|
| [776] | 204 | #################################################### | 
|---|
 | 205 | ### delete all binary files from Unix File System | 
|---|
 | 206 | ### but does NOT modify the virtual disk | 
|---|
| [608] | 207 | clean: | 
|---|
 | 208 |         rm -f *.o *.elf *.bin *.txt core | 
|---|
 | 209 |         rm -f hard_config.h giet_vsegs.ld map.bin map.xml | 
|---|
| [694] | 210 |         rm -rf build/ | 
|---|
| [611] | 211 |         cd applications/classif      && $(MAKE) clean && cd ../.. | 
|---|
 | 212 |         cd applications/convol       && $(MAKE) clean && cd ../.. | 
|---|
 | 213 |         cd applications/coproc       && $(MAKE) clean && cd ../.. | 
|---|
| [776] | 214 |         cd applications/coremark     && $(MAKE) clean && cd ../.. | 
|---|
| [611] | 215 |         cd applications/display      && $(MAKE) clean && cd ../.. | 
|---|
 | 216 |         cd applications/dhrystone    && $(MAKE) clean && cd ../.. | 
|---|
 | 217 |         cd applications/gameoflife   && $(MAKE) clean && cd ../.. | 
|---|
| [739] | 218 |         cd applications/mjpeg        && $(MAKE) clean && cd ../.. | 
|---|
| [611] | 219 |         cd applications/ocean        && $(MAKE) clean && cd ../.. | 
|---|
| [673] | 220 |         cd applications/raycast      && $(MAKE) clean && cd ../.. | 
|---|
| [776] | 221 |         cd applications/rosenfeld    && $(MAKE) clean && cd ../.. | 
|---|
| [611] | 222 |         cd applications/router       && $(MAKE) clean && cd ../.. | 
|---|
 | 223 |         cd applications/shell        && $(MAKE) clean && cd ../.. | 
|---|
 | 224 |         cd applications/sort         && $(MAKE) clean && cd ../.. | 
|---|
 | 225 |         cd applications/transpose    && $(MAKE) clean && cd ../.. | 
|---|
| [608] | 226 |  | 
|---|
| [776] | 227 | ##################################################### | 
|---|
| [788] | 228 | ### build a new virtual disk : | 
|---|
| [776] | 229 | ### - create the bin / misc / home directories  | 
|---|
 | 230 | ### - create applications sub-directories | 
|---|
 | 231 | ### - store various files into misc | 
|---|
| [582] | 232 | ### This requires the generic LINUX/MacOS script "create_dmg" script | 
|---|
| [258] | 233 | ### written by C.Fuguet. (should be installed in GIET-VM root directory). | 
|---|
| [776] | 234 | clean-disk: clean | 
|---|
 | 235 |         rm -f $(DISK_IMAGE) | 
|---|
 | 236 |         ./create_dmg create $(basename $(DISK_IMAGE)) | 
|---|
 | 237 |         dd if=$(DISK_IMAGE) of=temp.dmg count=65536 | 
|---|
 | 238 |         mv temp.dmg $(DISK_IMAGE) | 
|---|
 | 239 |         mmd -o -i $(DISK_IMAGE) ::/bin               || true | 
|---|
 | 240 |         mmd -o -i $(DISK_IMAGE) ::/bin/kernel        || true | 
|---|
 | 241 |         mmd -o -i $(DISK_IMAGE) ::/bin/classif       || true | 
|---|
 | 242 |         mmd -o -i $(DISK_IMAGE) ::/bin/convol        || true | 
|---|
 | 243 |         mmd -o -i $(DISK_IMAGE) ::/bin/coproc        || true | 
|---|
 | 244 |         mmd -o -i $(DISK_IMAGE) ::/bin/coremark      || true | 
|---|
 | 245 |         mmd -o -i $(DISK_IMAGE) ::/bin/dhrystone     || true | 
|---|
 | 246 |         mmd -o -i $(DISK_IMAGE) ::/bin/display       || true | 
|---|
 | 247 |         mmd -o -i $(DISK_IMAGE) ::/bin/gameoflife    || true | 
|---|
 | 248 |         mmd -o -i $(DISK_IMAGE) ::/bin/mjpeg         || true | 
|---|
 | 249 |         mmd -o -i $(DISK_IMAGE) ::/bin/ocean         || true | 
|---|
 | 250 |         mmd -o -i $(DISK_IMAGE) ::/bin/raycast       || true | 
|---|
 | 251 |         mmd -o -i $(DISK_IMAGE) ::/bin/rosenfeld     || true | 
|---|
 | 252 |         mmd -o -i $(DISK_IMAGE) ::/bin/router        || true | 
|---|
 | 253 |         mmd -o -i $(DISK_IMAGE) ::/bin/shell         || true | 
|---|
 | 254 |         mmd -o -i $(DISK_IMAGE) ::/bin/sort          || true | 
|---|
 | 255 |         mmd -o -i $(DISK_IMAGE) ::/bin/transpose     || true | 
|---|
 | 256 |         mmd -o -i $(DISK_IMAGE) ::/misc              || true | 
|---|
 | 257 |         mmd -o -i $(DISK_IMAGE) ::/home              || true | 
|---|
| [788] | 258 |         mcopy -o -i $(DISK_IMAGE) images/lena_256.raw ::/misc | 
|---|
| [776] | 259 |         mcopy -o -i $(DISK_IMAGE) images/images_128.raw ::/misc | 
|---|
 | 260 |         mcopy -o -i $(DISK_IMAGE) images/philips_1024.raw ::/misc | 
|---|
 | 261 |         mcopy -o -i $(DISK_IMAGE) images/bridge_256.raw ::/misc | 
|---|
 | 262 |         mcopy -o -i $(DISK_IMAGE) images/couple_512.raw ::/misc | 
|---|
 | 263 |         mcopy -o -i $(DISK_IMAGE) images/door_32.raw ::/misc | 
|---|
 | 264 |         mcopy -o -i $(DISK_IMAGE) images/handle_32.raw ::/misc | 
|---|
 | 265 |         mcopy -o -i $(DISK_IMAGE) images/rock_32.raw ::/misc | 
|---|
 | 266 |         mcopy -o -i $(DISK_IMAGE) images/wood_32.raw ::/misc | 
|---|
 | 267 |         mcopy -o -i $(DISK_IMAGE) images/wood_32.raw ::/misc | 
|---|
 | 268 |         mcopy -o -i $(DISK_IMAGE) images/plan_48.mjpg ::/misc | 
|---|
 | 269 |         mcopy -o -i $(DISK_IMAGE) images/mandel_128.mjpg ::/misc | 
|---|
 | 270 |         mcopy -o -i $(DISK_IMAGE) images/video_160_120.mjpg ::/misc | 
|---|
 | 271 |         mdir -/ -b -i $(DISK_IMAGE) ::/ | 
|---|
| [295] | 272 |  | 
|---|
| [595] | 273 | ######################################################################### | 
|---|
| [326] | 274 | ### mapping generation: map.bin / map.xml / hard_config.h / giet_vsegs.ld | 
|---|
| [776] | 275 | ### update map.bin on virtual disk | 
|---|
| [701] | 276 | hard_config.h: $(ARCH)/arch.py $(APPLIS_PY) | 
|---|
| [510] | 277 |         giet_python/genmap --arch=$(ARCH)     \ | 
|---|
 | 278 |                        --x=$(X_SIZE)      \ | 
|---|
 | 279 |                        --y=$(Y_SIZE)      \ | 
|---|
 | 280 |                        --p=$(NB_PROCS)    \ | 
|---|
 | 281 |                        --tty=$(NB_TTYS)   \ | 
|---|
 | 282 |                        --fbf=$(FBF_WIDTH) \ | 
|---|
| [553] | 283 |                        --ioc=$(IOC_TYPE)  \ | 
|---|
| [739] | 284 |                        --mwr=$(MWR_TYPE)  \ | 
|---|
| [510] | 285 |                        --giet=.           \ | 
|---|
| [595] | 286 |                        $(GENMAP_APPLIS)   \ | 
|---|
| [510] | 287 |                        --xml=. | 
|---|
| [776] | 288 |         mcopy -o -i $(DISK_IMAGE) map.bin ::/      || true | 
|---|
| [158] | 289 |  | 
|---|
| [583] | 290 | ################################ | 
|---|
 | 291 | ### drivers library compilation | 
|---|
 | 292 | build/drivers/%.o: giet_drivers/%.c \ | 
|---|
 | 293 |                    giet_drivers/%.h \ | 
|---|
 | 294 |                    hard_config.h    \ | 
|---|
 | 295 |                    giet_config.h | 
|---|
| [295] | 296 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 297 |  | 
|---|
| [380] | 298 | build/drivers/libdrivers.a: $(DRIVERS_OBJS) | 
|---|
 | 299 |         $(AR) -rcs $@ $(DRIVERS_OBJS) | 
|---|
 | 300 |  | 
|---|
| [374] | 301 | ########################## | 
|---|
| [583] | 302 | ### fat32 compilation | 
|---|
| [258] | 303 | build/fat32/fat32.o: giet_fat32/fat32.c \ | 
|---|
 | 304 |                      giet_fat32/fat32.h \ | 
|---|
| [326] | 305 |                      hard_config.h      \ | 
|---|
 | 306 |                      giet_config.h | 
|---|
| [258] | 307 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 308 |  | 
|---|
| [583] | 309 | ########################## | 
|---|
 | 310 | ### common compilation | 
|---|
 | 311 | build/common/%.o: giet_common/%.c   \ | 
|---|
 | 312 |                   giet_common/%.h   \ | 
|---|
 | 313 |                   hard_config.h     \ | 
|---|
 | 314 |                   giet_config.h | 
|---|
| [258] | 315 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 316 |  | 
|---|
| [776] | 317 | ########################## | 
|---|
| [177] | 318 | ### boot compilation | 
|---|
| [776] | 319 | ### Copy boot.elf into sector 2 of disk image | 
|---|
| [326] | 320 | build/boot/boot.elf: $(BOOT_OBJS)            \ | 
|---|
| [380] | 321 |                      giet_boot/boot.ld       \ | 
|---|
| [583] | 322 |                      build/drivers/libdrivers.a | 
|---|
| [582] | 323 |         $(LD) -o $@ -T giet_boot/boot.ld $(BOOT_OBJS) -Lbuild/drivers -ldrivers | 
|---|
| [189] | 324 |         $(DU) -D $@ > $@.txt | 
|---|
| [776] | 325 |         dd if=build/boot/boot.elf of=$(DISK_IMAGE) seek=2 conv=notrunc | 
|---|
 | 326 |      | 
|---|
| [158] | 327 |  | 
|---|
| [258] | 328 | build/boot/boot.o: giet_boot/boot.c          \ | 
|---|
 | 329 |                    giet_common/utils.h       \ | 
|---|
 | 330 |                    giet_fat32/fat32.h        \ | 
|---|
| [289] | 331 |                    giet_common/vmem.h        \ | 
|---|
| [326] | 332 |                    hard_config.h             \ | 
|---|
| [366] | 333 |                    giet_config.h | 
|---|
| [258] | 334 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
| [158] | 335 |  | 
|---|
| [366] | 336 | build/boot/boot_entry.o: giet_boot/boot_entry.S \ | 
|---|
 | 337 |                          hard_config.h | 
|---|
 | 338 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 339 |  | 
|---|
| [776] | 340 | ########################## | 
|---|
 | 341 | ### kernel.elf compilation | 
|---|
 | 342 | ### update kernel.elf on virtual disk  | 
|---|
| [326] | 343 | build/kernel/kernel.elf: $(KERNEL_OBJS)        \ | 
|---|
| [380] | 344 |                          giet_kernel/kernel.ld \ | 
|---|
 | 345 |                          build/drivers/libdrivers.a | 
|---|
| [582] | 346 |         $(LD) -o $@ -T giet_kernel/kernel.ld $(KERNEL_OBJS) -Lbuild/drivers -ldrivers | 
|---|
 | 347 |         $(DU) -D $@ > $@.txt | 
|---|
| [788] | 348 |         mcopy -o -i $(DISK_IMAGE) build/kernel/kernel.elf ::/bin/kernel | 
|---|
| [158] | 349 |  | 
|---|
| [326] | 350 | build/kernel/%.o: giet_kernel/%.c    \ | 
|---|
 | 351 |                   hard_config.h      \ | 
|---|
| [582] | 352 |                   giet_config.h | 
|---|
| [258] | 353 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 354 |  | 
|---|
| [326] | 355 | build/kernel/%.o: giet_kernel/%.s    \ | 
|---|
 | 356 |                   hard_config.h      \ | 
|---|
| [582] | 357 |                   giet_config.h | 
|---|
| [258] | 358 |         $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $< | 
|---|
 | 359 |  | 
|---|
| [776] | 360 | ############################ | 
|---|
| [585] | 361 | ### user library compilation | 
|---|
| [595] | 362 | build/libs/%.o: giet_libs/%.c        \ | 
|---|
 | 363 |                      giet_libs/%.h   \ | 
|---|
 | 364 |                      hard_config.h   \ | 
|---|
 | 365 |                      giet_config.h | 
|---|
 | 366 |         $(CC) $(CFLAGS) $(GIET_INCLUDE) -c -o $@ $< | 
|---|
| [258] | 367 |  | 
|---|
| [585] | 368 | build/libs/libuser.a: $(USER_OBJS) | 
|---|
 | 369 |         $(AR) -rcs $@ $^ | 
|---|
 | 370 |  | 
|---|
| [776] | 371 | ############################ | 
|---|
| [583] | 372 | ### math library compilation | 
|---|
 | 373 | build/libs/math/%.o: giet_libs/math/%.c             \ | 
|---|
 | 374 |                      giet_libs/math/math_private.h  \ | 
|---|
 | 375 |                      giet_libs/math.h | 
|---|
| [595] | 376 |         $(CC) $(CFLAGS) $(GIET_INCLUDE) -c -o $@ $< | 
|---|
| [258] | 377 |  | 
|---|
| [583] | 378 | build/libs/libmath.a: $(MATH_OBJS) | 
|---|
| [580] | 379 |         $(AR) -rcs $@ $^ | 
|---|
 | 380 |  | 
|---|
| [776] | 381 | ##################################### | 
|---|
| [595] | 382 | ### classif   application compilation | 
|---|
| [776] | 383 | ### update classif/appli.elf on virtual disk | 
|---|
| [609] | 384 | applications/classif/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 385 |         $(MAKE) -C applications/classif | 
|---|
| [776] | 386 |         mcopy -o -i $(DISK_IMAGE) applications/classif/appli.elf ::/bin/classif | 
|---|
| [189] | 387 |  | 
|---|
| [776] | 388 |  | 
|---|
 | 389 | #################################### | 
|---|
| [595] | 390 | ### convol   application compilation | 
|---|
| [776] | 391 | ### update convol/appli.elf on virtual disk | 
|---|
| [609] | 392 | applications/convol/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 393 |         $(MAKE) -C applications/convol | 
|---|
| [776] | 394 |         mcopy -o -i $(DISK_IMAGE) applications/convol/appli.elf ::/bin/convol | 
|---|
| [189] | 395 |  | 
|---|
| [374] | 396 | ######################################## | 
|---|
| [595] | 397 | ### coproc   application compilation | 
|---|
| [776] | 398 | ### update coproc/appli.elf on virtual disk | 
|---|
| [609] | 399 | applications/coproc/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 400 |         $(MAKE) -C applications/coproc | 
|---|
| [776] | 401 |         mcopy -o -i $(DISK_IMAGE) applications/coproc/appli.elf ::/bin/coproc | 
|---|
| [189] | 402 |  | 
|---|
| [595] | 403 | ######################################## | 
|---|
| [776] | 404 | ### coremark compilation | 
|---|
 | 405 | applications/coremark/appli.elf: build/libs/libuser.a | 
|---|
 | 406 |         $(MAKE) -C applications/coremark | 
|---|
 | 407 |         mcopy -o -i $(DISK_IMAGE) applications/coremark/appli.elf ::/bin/coremark | 
|---|
 | 408 |  | 
|---|
 | 409 |  | 
|---|
 | 410 | ######################################## | 
|---|
| [595] | 411 | ### dhrystone   application compilation | 
|---|
| [776] | 412 | ### update dhrystone/appli.elf on virtual disk | 
|---|
| [609] | 413 | applications/dhrystone/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 414 |         $(MAKE) -C applications/dhrystone | 
|---|
| [776] | 415 |         mcopy -o -i $(DISK_IMAGE) applications/dhtystone/appli.elf ::/bin/dhrystone | 
|---|
| [189] | 416 |  | 
|---|
| [374] | 417 | ######################################## | 
|---|
| [595] | 418 | ### display  application compilation | 
|---|
| [776] | 419 | ### update display/appli.elf on virtual disk | 
|---|
| [609] | 420 | applications/display/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 421 |         $(MAKE) -C applications/display | 
|---|
| [776] | 422 |         mcopy -o -i $(DISK_IMAGE) applications/display/appli.elf ::/bin/display | 
|---|
| [189] | 423 |  | 
|---|
| [374] | 424 | ######################################## | 
|---|
| [595] | 425 | ### gameoflife  application compilation | 
|---|
| [776] | 426 | ### update gameoflife/appli.elf on virtual disk | 
|---|
| [609] | 427 | applications/gameoflife/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 428 |         $(MAKE) -C applications/gameoflife | 
|---|
| [776] | 429 |         mcopy -o -i $(DISK_IMAGE) applications/gameoflife/appli.elf ::/bin/gameoflife | 
|---|
| [251] | 430 |  | 
|---|
| [595] | 431 | ######################################## | 
|---|
| [739] | 432 | ### mjpeg  application compilation | 
|---|
| [776] | 433 | ### update mjpeg/appli.elf on virtual disk | 
|---|
| [739] | 434 | applications/mjpeg/appli.elf: build/libs/libuser.a | 
|---|
 | 435 |         $(MAKE) -C applications/mjpeg | 
|---|
| [776] | 436 |         mcopy -o -i $(DISK_IMAGE) applications/mjpeg/appli.elf ::/bin/mjpeg | 
|---|
| [739] | 437 |  | 
|---|
 | 438 | ######################################## | 
|---|
| [595] | 439 | ### ocean  application compilation | 
|---|
| [776] | 440 | ### update ocean/appli.elf on virtual disk | 
|---|
| [609] | 441 | applications/ocean/appli.elf: build/libs/libmath.a  build/libs/libuser.a | 
|---|
| [598] | 442 |         cd applications/ocean && $(MAKE) && cd ../.. | 
|---|
| [776] | 443 |         mcopy -o -i $(DISK_IMAGE) applications/ocean/appli.elf ::/bin/ocean | 
|---|
| [251] | 444 |  | 
|---|
| [374] | 445 | ######################################## | 
|---|
| [673] | 446 | ### raycast application compilation | 
|---|
| [776] | 447 | ### update raycast/appli.elf on virtual disk | 
|---|
| [673] | 448 | applications/raycast/appli.elf: build/libs/libmath.a build/libs/libuser.a | 
|---|
 | 449 |         $(MAKE) -C applications/raycast | 
|---|
| [776] | 450 |         mcopy -o -i $(DISK_IMAGE) applications/raycast/appli.elf ::/bin/raycast | 
|---|
| [673] | 451 |  | 
|---|
 | 452 | ######################################## | 
|---|
| [776] | 453 | ### rosenfeld  application compilation | 
|---|
 | 454 | ### update rosenfeld/appli.elf on virtual disk | 
|---|
 | 455 | applications/rosenfeld/appli.elf: build/libs/libuser.a | 
|---|
 | 456 |         $(MAKE) -C applications/rosenfeld | 
|---|
 | 457 |         mcopy -o -i $(DISK_IMAGE) applications/rosenfeld/appli.elf ::/bin/router | 
|---|
 | 458 |  | 
|---|
 | 459 | ######################################## | 
|---|
| [595] | 460 | ### router  application compilation | 
|---|
| [776] | 461 | ### update router/appli.elf on virtual disk | 
|---|
| [609] | 462 | applications/router/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 463 |         $(MAKE) -C applications/router | 
|---|
| [776] | 464 |         mcopy -o -i $(DISK_IMAGE) applications/router/appli.elf ::/bin/router | 
|---|
| [241] | 465 |  | 
|---|
| [595] | 466 | ######################################## | 
|---|
 | 467 | ### shell  application compilation | 
|---|
| [776] | 468 | ### update shell/appli.elf on virtual disk | 
|---|
| [609] | 469 | applications/shell/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 470 |         $(MAKE) -C applications/shell | 
|---|
| [776] | 471 |         mcopy -o -i $(DISK_IMAGE) applications/shell/appli.elf ::/bin/shell | 
|---|
| [241] | 472 |  | 
|---|
| [374] | 473 | ######################################## | 
|---|
| [595] | 474 | ### sort  application compilation | 
|---|
| [776] | 475 | ### update sort/appli.elf on virtual disk | 
|---|
| [609] | 476 | applications/sort/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 477 |         $(MAKE) -C applications/sort | 
|---|
| [776] | 478 |         mcopy -o -i $(DISK_IMAGE) applications/sort/appli.elf ::/bin/sort | 
|---|
| [256] | 479 |  | 
|---|
| [374] | 480 | ######################################## | 
|---|
| [295] | 481 | ### transpose compilation | 
|---|
| [776] | 482 | ### update transpose/appli.elf on virtual disk | 
|---|
| [609] | 483 | applications/transpose/appli.elf: build/libs/libuser.a | 
|---|
| [595] | 484 |         $(MAKE) -C applications/transpose | 
|---|
| [776] | 485 |         mcopy -o -i $(DISK_IMAGE) applications/transpose/appli.elf ::/bin/transpose | 
|---|
| [295] | 486 |  | 
|---|