source: soft/giet_vm/Makefile @ 581

Last change on this file since 581 was 581, checked in by laurent, 10 years ago

Adding ocean application, some mathematics functions and distributed locks

File size: 25.4 KB
RevLine 
[302]1-include build.mk
2
[162]3export # export all variable to sub-Makefile
[232]4CC = mipsel-unknown-elf-gcc
5AS = mipsel-unknown-elf-as
6LD = mipsel-unknown-elf-ld
7DU = mipsel-unknown-elf-objdump
[380]8AR = mipsel-unknown-elf-ar
[158]9
[463]10# Parameters definition
[580]11#ARCH      ?= ../tsar-trunk-svn-2013/platforms/tsar_generic_iob
12ARCH       ?= ../../../tsar/platforms/tsar_generic_iob
[581]13X_SIZE    ?= 1
14Y_SIZE    ?= 1
[553]15NB_PROCS  ?= 4
[580]16NB_TTYS   ?= 1
17FBF_WIDTH ?= 128
18IOC_TYPE  ?= HBA
19APP       ?= ocean
[326]20
[510]21
[581]22.PHONY: clean map.bin build
[326]23
[258]24### FAT parameters definition for Disk image
25### sector_size          = 512
26### partition_begin_lba  = 300
27### sector_per_cluster   = 8
28### partition sectors    = 524832
[204]29
[580]30BUILD_DIRS = boot      \
31             classif   \
32             common    \
33             convol    \
34             coproc    \
35             dhrystone \
36             display   \
37             drivers   \
38             fat32     \
39             gameoflife\
40             hello     \
41             kernel    \
42             libs/math \
43             ocean     \
44             pgcd      \
45             router    \
46             sort      \
47             transpose
48
[463]49### Objects to be linked for the drivers library
[535]50DRIVERS_OBJS = build/drivers/dma_driver.o      \
51               build/drivers/cma_driver.o      \
52               build/drivers/xcu_driver.o      \
53               build/drivers/bdv_driver.o      \
54               build/drivers/hba_driver.o      \
55               build/drivers/sdc_driver.o      \
56               build/drivers/spi_driver.o      \
57               build/drivers/rdk_driver.o      \
58               build/drivers/iob_driver.o      \
59               build/drivers/mmc_driver.o      \
60               build/drivers/mwr_driver.o      \
61               build/drivers/nic_driver.o      \
62               build/drivers/tim_driver.o      \
63               build/drivers/tty_driver.o      \
[380]64               build/drivers/pic_driver.o
65
66### Objects to be linked for kernel.elf
[510]67KERNEL_OBJS  = build/common/utils.o            \
68               build/common/kernel_locks.o     \
69               build/common/kernel_barriers.o  \
70               build/common/tty0.o             \
71               build/common/vmem.o             \
72               build/common/kernel_malloc.o    \
73               build/fat32/fat32.o             \
74               build/kernel/giet.o             \
75               build/kernel/switch.o           \
76               build/kernel/ctx_handler.o      \
77               build/kernel/exc_handler.o      \
78               build/kernel/sys_handler.o      \
79               build/kernel/irq_handler.o      \
[258]80               build/kernel/kernel_init.o
[162]81
[258]82### Objects to be linked for boot.elf
[510]83BOOT_OBJS    = build/common/utils.o            \
84               build/common/kernel_locks.o     \
85               build/common/kernel_barriers.o  \
86               build/common/tty0.o             \
87               build/common/pmem.o             \
88               build/common/vmem.o             \
89               build/common/kernel_malloc.o    \
90               build/fat32/fat32.o             \
91               build/kernel/ctx_handler.o      \
[535]92               build/kernel/irq_handler.o      \
[510]93               build/kernel/switch.o           \
94               build/boot/boot.o               \
[366]95               build/boot/boot_entry.o
[258]96
[580]97MATH_OBJ     = build/libs/math/e_pow.o          \
98               build/libs/math/e_rem_pio2.o     \
99               build/libs/math/k_cos.o          \
100               build/libs/math/k_rem_pio2.o     \
101               build/libs/math/k_sin.o          \
102               build/libs/math/s_copysign.o     \
103               build/libs/math/s_fabs.o         \
104               build/libs/math/s_finite.o       \
105               build/libs/math/s_floor.o        \
106               build/libs/math/s_isnan.o        \
107               build/libs/math/sqrt.o           \
108               build/libs/math/s_rint.o         \
109               build/libs/math/s_scalbn.o       \
110               build/libs/math/s_sin.o
111#               build/libs/math/e_sqrt.o                \
112
[258]113### Objects to be linked for display.elf
[189]114DISPLAY_OBJS = build/display/main.o \
[258]115               build/libs/stdio.o
[162]116
[258]117### Objects to be linked for router.elf
118ROUTER_OBJS  = build/router/main.o        \
119               build/libs/mwmr_channel.o  \
[463]120               build/libs/user_lock.o     \
[258]121               build/libs/stdio.o
[162]122
[258]123### Objects to be linked for hello.elf
124HELLO_OBJS   = build/hello/main.o   \
125               build/libs/stdio.o         
[158]126
[258]127### Objects to be linked for pgcd.elf
[510]128PGCD_OBJS    = build/pgcd/main.o \
[258]129               build/libs/stdio.o
[158]130
[258]131### Objects to be linked for game.elf
[510]132GAMEOFLIFE_OBJS = build/gameoflife/main.o   \
133                  build/libs/stdio.o        \
134                  build/libs/user_barrier.o \
135                  build/libs/malloc.o       \
[463]136                  build/libs/user_lock.o
[374]137                 
[251]138
[258]139### Objects to be linked for dhrystone.elf
[241]140DHRYSTONE_OBJS = build/dhrystone/dhry_1.o \
141                 build/dhrystone/dhry_2.o \
[272]142                 build/libs/stdlib.o      \
[258]143                 build/libs/stdio.o       \
144                 build/libs/string.o      \
[463]145                 build/libs/user_lock.o   \
[241]146                 build/libs/malloc.o
[463]147       
[258]148### Objects to be linked for sort.elf
[374]149SORT_OBJS   = build/sort/main.o          \
150              build/libs/stdio.o         \
[510]151              build/libs/user_barrier.o  \
[389]152              build/libs/malloc.o        \
[463]153              build/libs/user_lock.o
[241]154
[295]155### Objects to be linked for transpose.elf
[510]156TRANSPOSE_OBJS = build/transpose/main.o    \
157                 build/libs/stdio.o        \
158                 build/libs/user_barrier.o \
159                 build/libs/malloc.o       \
[463]160                 build/libs/user_lock.o
[258]161
[339]162### Objects to be linked for convol.elf
[389]163CONVOL_OBJS  = build/convol/main.o       \
164               build/libs/stdio.o        \
165               build/libs/stdlib.o       \
[510]166               build/libs/user_barrier.o \
[389]167               build/libs/malloc.o       \
[463]168               build/libs/user_lock.o
[339]169
[463]170### Objects to be linked for classif.elf
171CLASSIF_OBJS  = build/classif/main.o      \
172                build/libs/stdio.o        \
173                build/libs/mwmr_channel.o \
[510]174                build/libs/user_barrier.o \
[463]175                build/libs/malloc.o       \
176                build/libs/user_lock.o
177
[525]178### Objects to be linked for coproc.elf
179COPROC_OBJS = build/coproc/main.o \
180              build/libs/stdio.o
181
[580]182
183### Objects to be linked for ocean.elf
184OCEAN_OBJS  = build/libs/stdio.o        \
185              build/libs/malloc.o       \
186              build/libs/stdlib.o       \
187              build/libs/user_sqt_lock.o\
188              build/libs/user_lock.o    \
189              build/libs/user_barrier.o \
190              build/libs/libmath.a
191             
192
[435]193CFLAGS = -Wall -ffreestanding -mno-gpopt -mips32 -g -O2 \
194                 -fno-delete-null-pointer-checks
[158]195
[258]196GIET_INCLUDE = -Igiet_boot    \
197               -Igiet_kernel  \
198               -Igiet_xml     \
199               -Igiet_fat32   \
200               -Igiet_drivers \
201               -Igiet_common  \
202               -Igiet_libs    \
203               -I.
[158]204
[258]205USER_INCLUDE = -Igiet_libs    \
206               -Igiet_xml     \
207               -I.
[160]208
[302]209DISK_IMAGE  := hdd/virt_hdd.dmg
210
[580]211all: build                           \
[573]212     map.bin                         \
[326]213     hard_config.h                   \
214     giet_vsegs.ld                   \
[258]215     build/boot/boot.elf             \
216     build/kernel/kernel.elf         \
217     build/display/display.elf       \
218     build/hello/hello.elf           \
219     build/pgcd/pgcd.elf             \
[302]220     build/router/router.elf         \
[258]221     build/dhrystone/dhrystone.elf   \
222     build/gameoflife/gameoflife.elf \
223     build/sort/sort.elf             \
[295]224     build/transpose/transpose.elf   \
[339]225     build/convol/convol.elf         \
[463]226     build/classif/classif.elf       \
[525]227     build/coproc/coproc.elf         \
[580]228     build/ocean/ocean.elf           \
229     $(DISK_IMAGE)
230### Copy always all files into disk image
231        mcopy -o -i $(DISK_IMAGE) build/kernel/kernel.elf ::/build/kernel
232        mcopy -o -i $(DISK_IMAGE) build/display/display.elf ::/build/display
233        mcopy -o -i $(DISK_IMAGE) build/hello/hello.elf ::/build/hello
234        mcopy -o -i $(DISK_IMAGE) build/pgcd/pgcd.elf ::/build/pgcd
235        mcopy -o -i $(DISK_IMAGE) build/router/router.elf ::/build/router
236        mcopy -o -i $(DISK_IMAGE) build/dhrystone/dhrystone.elf ::/build/dhrystone
237        mcopy -o -i $(DISK_IMAGE) build/gameoflife/gameoflife.elf ::/build/gameoflife
238        mcopy -o -i $(DISK_IMAGE) build/sort/sort.elf ::/build/sort
239        mcopy -o -i $(DISK_IMAGE) build/transpose/transpose.elf ::/build/transpose
240        mcopy -o -i $(DISK_IMAGE) build/convol/convol.elf ::/build/convol
241        mcopy -o -i $(DISK_IMAGE) build/classif/classif.elf ::/build/classif
242        mcopy -o -i $(DISK_IMAGE) build/coproc/coproc.elf ::/build/coproc
243        mcopy -o -i $(DISK_IMAGE) build/ocean/ocean.elf ::/build/ocean
244        mcopy -o -i $(DISK_IMAGE) applications/transpose/images.raw ::/misc
245        mcopy -o -i $(DISK_IMAGE) applications/convol/philips_image.raw ::/misc
[581]246        mcopy -o -i $(DISK_IMAGE) applications/display/lena.raw ::/misc
[580]247        mcopy -o -i $(DISK_IMAGE) map.bin ::/
248### Copy bootloader into sector 2 of disk image
249        dd if=build/boot/boot.elf of=$(DISK_IMAGE) seek=2 conv=notrunc
250### Checking root directory
251        mdir -/ -b -i $(DISK_IMAGE) ::/
[160]252
[573]253
[580]254build:
255        mkdir -p build
256        (cd build && mkdir -p $(BUILD_DIRS))
[573]257
[364]258### Disk image generation (no files in this step)
[272]259### This requires the generic LINUX/MacOS script "create_dmg" script
[258]260### written by C.Fuguet. (should be installed in GIET-VM root directory).
[573]261### create the three build / misc / home directories
262### store the images files into misc
[302]263$(DISK_IMAGE):
264        ./create_dmg create $(basename $(DISK_IMAGE))
[573]265        dd if=$(DISK_IMAGE) of=temp.dmg count=65536
266        mv temp.dmg $(DISK_IMAGE)
[304]267        mmd -o -i $(DISK_IMAGE) ::/build
[580]268        mmd -o -i $(DISK_IMAGE) ::/build/ocean
[304]269        mmd -o -i $(DISK_IMAGE) ::/misc
[573]270        mmd -o -i $(DISK_IMAGE) ::/home
[581]271#       mcopy -o -i $(DISK_IMAGE) applications/transpose/images.raw ::/misc
272#       mcopy -o -i $(DISK_IMAGE) applications/convol/philips_image.raw ::/misc
273#       mcopy -o -i $(DISK_IMAGE) applications/display/lena.raw ::/misc
[295]274
[326]275### mapping generation: map.bin / map.xml / hard_config.h / giet_vsegs.ld
[581]276map.bin hard_config.h giet_vsegs.ld: $(ARCH)/arch.py  applications/$(APP)/$(APP).py $(DISK_IMAGE)
[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)  \
[510]284                       --giet=.           \
285                       --$(APP)           \
286                       --xml=.
[581]287#       mcopy -o -i $(DISK_IMAGE) map.bin ::/
[158]288
[258]289### drivers compilation
[295]290build/drivers/cma_driver.o: giet_drivers/cma_driver.c  \
291                            giet_drivers/cma_driver.h  \
[326]292                            hard_config.h              \
293                            giet_config.h
[295]294        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
295
[258]296build/drivers/dma_driver.o: giet_drivers/dma_driver.c  \
297                            giet_drivers/dma_driver.h  \
[326]298                            hard_config.h              \
299                            giet_config.h
[258]300        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]301
[258]302build/drivers/xcu_driver.o: giet_drivers/xcu_driver.c  \
303                            giet_drivers/xcu_driver.h  \
[326]304                            hard_config.h              \
305                            giet_config.h
[258]306        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]307
[289]308build/drivers/bdv_driver.o: giet_drivers/bdv_driver.c  \
309                            giet_drivers/bdv_driver.h  \
[326]310                            hard_config.h              \
311                            giet_config.h
[289]312        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
313
314build/drivers/hba_driver.o: giet_drivers/hba_driver.c  \
315                            giet_drivers/hba_driver.h  \
[326]316                            hard_config.h              \
317                            giet_config.h
[289]318        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
319
320build/drivers/sdc_driver.o: giet_drivers/sdc_driver.c  \
321                            giet_drivers/sdc_driver.h  \
[326]322                            hard_config.h              \
323                            giet_config.h
[289]324        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
325
326build/drivers/spi_driver.o: giet_drivers/spi_driver.c  \
327                            giet_drivers/spi_driver.h  \
[326]328                            hard_config.h              \
329                            giet_config.h
[289]330        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
331
[295]332build/drivers/rdk_driver.o: giet_drivers/rdk_driver.c  \
333                            giet_drivers/rdk_driver.h  \
[326]334                            hard_config.h              \
335                            giet_config.h
[295]336        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
337
[258]338build/drivers/iob_driver.o: giet_drivers/iob_driver.c  \
339                            giet_drivers/iob_driver.h  \
[326]340                            hard_config.h              \
341                            giet_config.h
[258]342        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
343
344build/drivers/mmc_driver.o: giet_drivers/mmc_driver.c  \
345                            giet_drivers/mmc_driver.h  \
[326]346                            hard_config.h              \
347                            giet_config.h
[258]348        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
349
350build/drivers/mwr_driver.o: giet_drivers/mwr_driver.c  \
351                            giet_drivers/mwr_driver.h  \
[326]352                            hard_config.h              \
353                            giet_config.h
[258]354        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
355
356build/drivers/nic_driver.o: giet_drivers/nic_driver.c  \
357                            giet_drivers/nic_driver.h  \
[326]358                            hard_config.h              \
359                            giet_config.h
[258]360        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
361
362build/drivers/tim_driver.o: giet_drivers/tim_driver.c  \
363                            giet_drivers/tim_driver.h  \
[326]364                            hard_config.h              \
365                            giet_config.h
[258]366        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
367
368build/drivers/tty_driver.o: giet_drivers/tty_driver.c  \
369                            giet_drivers/tty_driver.h  \
[326]370                            hard_config.h              \
371                            giet_config.h
[258]372        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
373
[295]374build/drivers/pic_driver.o: giet_drivers/pic_driver.c  \
375                            giet_drivers/pic_driver.h  \
[326]376                            hard_config.h              \
377                            giet_config.h
[295]378        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
379
[380]380################################
381### drivers library compilation
382build/drivers/libdrivers.a: $(DRIVERS_OBJS)
383        $(AR) -rcs $@ $(DRIVERS_OBJS)
384
[374]385##########################
386### common compilation
[258]387build/fat32/fat32.o: giet_fat32/fat32.c \
388                     giet_fat32/fat32.h \
[326]389                     hard_config.h      \
390                     giet_config.h
[258]391        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
392
393build/common/utils.o: giet_common/utils.c \
394                      giet_common/utils.h \
[326]395                      hard_config.h       \
396                      giet_config.h
[258]397        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
398
[510]399build/common/kernel_locks.o: giet_common/kernel_locks.c \
400                             giet_common/kernel_locks.h \
401                             hard_config.h              \
402                             giet_config.h
[463]403        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
404
[510]405build/common/kernel_barriers.o: giet_common/kernel_barriers.c \
406                                giet_common/kernel_barriers.h \
407                                hard_config.h                 \
408                                giet_config.h
409        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
410
[463]411build/common/tty0.o:  giet_common/tty0.c \
412                      giet_common/tty0.h \
413                      hard_config.h       \
414                      giet_config.h
415        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
416
[258]417build/common/vmem.o: giet_common/vmem.c \
418                     giet_common/vmem.h \
[326]419                     hard_config.h      \
420                     giet_config.h
[258]421        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
422
[418]423build/common/pmem.o: giet_common/pmem.c \
424                     giet_common/pmem.h \
425                     hard_config.h      \
426                     giet_config.h
427        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
428
[482]429build/common/kernel_malloc.o: giet_common/kernel_malloc.c \
[510]430                              giet_common/kernel_malloc.h \
431                              hard_config.h               \
432                              giet_config.h
[482]433        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
434
[374]435########################
[177]436### boot compilation
[573]437### Copy bootloader into sector 2 of disk image
[571]438
[326]439build/boot/boot.elf: $(BOOT_OBJS)            \
[581]440                     $(DISK_IMAGE)           \
[380]441                     giet_boot/boot.ld       \
[571]442                     build/drivers/libdrivers.a | build/boot
[380]443        $(LD) -o $@ -T giet_boot/boot.ld $(BOOT_OBJS) -Lbuild/drivers -ldrivers 
[189]444        $(DU) -D $@ > $@.txt
[573]445        dd if=$@ of=$(DISK_IMAGE) seek=2 conv=notrunc
[158]446
[258]447build/boot/boot.o: giet_boot/boot.c          \
448                   giet_common/utils.h       \
449                   giet_fat32/fat32.h        \
[289]450                   giet_common/vmem.h        \
[326]451                   hard_config.h             \
[366]452                   giet_config.h
[258]453        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
[158]454
[366]455build/boot/boot_entry.o: giet_boot/boot_entry.S \
456                         hard_config.h
457        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
458
[374]459#########################
[258]460### kernel compilation
[326]461build/kernel/kernel.elf: $(KERNEL_OBJS)        \
[581]462                         $(DISK_IMAGE)         \
[380]463                         giet_kernel/kernel.ld \
464                         build/drivers/libdrivers.a
465        $(LD) -o $@ -T giet_kernel/kernel.ld $(KERNEL_OBJS) -Lbuild/drivers -ldrivers   
[573]466        $(DU) -D $@ > $@.txt   
467        mmd -o -i $(DISK_IMAGE) ::/build/kernel || true
[581]468#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/kernel
[158]469
[326]470build/kernel/%.o: giet_kernel/%.c    \
471                  hard_config.h      \
472                  giet_config.h 
[258]473        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
474
[326]475build/kernel/%.o: giet_kernel/%.s    \
476                  hard_config.h      \
477                  giet_config.h
[258]478        $(CC) $(GIET_INCLUDE) $(CFLAGS)  -c -o $@ $<
479
[374]480###########################
481### user libs compilation
[258]482build/libs/stdio.o: giet_libs/stdio.c \
483                    giet_libs/stdio.h \
[326]484                    hard_config.h     \
[258]485                    giet_config.h 
486        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
487
488build/libs/mwmr_channel.o: giet_libs/mwmr_channel.c \
489                           giet_libs/mwmr_channel.h \
[326]490                           hard_config.h            \
[258]491                           giet_config.h
492        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
493
494build/libs/malloc.o: giet_libs/malloc.c         \
495                     giet_libs/malloc.h         \
[326]496                     hard_config.h              \
[258]497                     giet_config.h
498        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
499
[510]500build/libs/user_barrier.o: giet_libs/user_barrier.c \
501                           giet_libs/user_barrier.h \
502                           hard_config.h       \
503                           giet_config.h
[258]504        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
505
[259]506build/libs/stdlib.o: giet_libs/stdlib.c \
507                     giet_libs/stdlib.h \
[326]508                     hard_config.h      \
[259]509                     giet_config.h
510        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
511
[258]512build/libs/string.o: giet_libs/string.c \
513                     giet_libs/string.h \
[326]514                     hard_config.h      \
[258]515                     giet_config.h
516        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
517
[463]518build/libs/user_lock.o: giet_libs/user_lock.c \
519                        giet_libs/user_lock.h \
[326]520                        hard_config.h         \
[258]521                        giet_config.h
522        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
523
[580]524build/libs/user_sqt_lock.o: giet_libs/user_sqt_lock.c \
525                            giet_libs/user_sqt_lock.h \
526                            giet_libs/user_lock.h     \
527                            hard_config.h             \
528                            giet_config.h
529        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
530
531build/libs/libmath.a: $(MATH_OBJ)
532        $(AR) -rcs $@ $^
533
534build/libs/math/%.o: giet_libs/math/%.c giet_libs/math/math_private.h giet_libs/math.h
535        $(CC) $(CFLAGS) $(USER_INCLUDE) -c -o $@ $<
536
[374]537########################################
538### display application compilation
[581]539build/display/display.elf: $(DISPLAY_OBJS) applications/display/display.ld hard_config.h $(DISK_IMAGE)
[432]540        $(LD) -o $@ -T applications/display/display.ld $(DISPLAY_OBJS)
[189]541        $(DU) -D $@ > $@.txt
[573]542        mmd -o -i $(DISK_IMAGE) ::/build/display || true
[581]543#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/display
[158]544
[580]545build/display/main.o: applications/display/main.c hard_config.h
[258]546        $(CC) $(USER_INCLUDE) $(CFLAGS)  -c -o $@ $<
[189]547
[374]548########################################
[189]549### router compilation
[581]550build/router/router.elf: $(ROUTER_OBJS) applications/router/router.ld hard_config.h $(DISK_IMAGE)
[432]551        $(LD) -o $@ -T applications/router/router.ld $(ROUTER_OBJS)
[189]552        $(DU) -D $@ > $@.txt
[573]553        mmd -o -i $(DISK_IMAGE) ::/build/router || true
[581]554#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/router
[189]555
[580]556build/router/main.o: applications/router/main.c hard_config.h
[258]557        $(CC) $(USER_INCLUDE) $(CFLAGS)  -c -o $@ $<
[189]558
[374]559########################################
[189]560### hello compilation
[581]561build/hello/hello.elf: $(HELLO_OBJS) applications/hello/hello.ld hard_config.h $(DISK_IMAGE)
[432]562        $(LD) -o $@ -T applications/hello/hello.ld $(HELLO_OBJS)
[189]563        $(DU) -D $@ > $@.txt
[573]564        mmd -o -i $(DISK_IMAGE) ::/build/hello || true
[581]565#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/hello
[189]566
[580]567build/hello/main.o: applications/hello/main.c hard_config.h
[258]568        $(CC) $(USER_INCLUDE) $(CFLAGS) -c -o $@ $<
[189]569
[374]570########################################
[189]571### pgcd compilation
[581]572build/pgcd/pgcd.elf: $(PGCD_OBJS) applications/pgcd/pgcd.ld hard_config.h $(DISK_IMAGE)
[432]573        $(LD) -o $@ -T applications/pgcd/pgcd.ld $(PGCD_OBJS)
[189]574        $(DU) -D $@ > $@.txt
[573]575        mmd -o -i $(DISK_IMAGE) ::/build/pgcd || true
[581]576#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/pgcd
[189]577
[580]578build/pgcd/main.o: applications/pgcd/main.c hard_config.h
[258]579        $(CC) $(USER_INCLUDE) $(CFLAGS) -c -o $@ $<
[189]580
[374]581########################################
[251]582### gameoflife compilation
[581]583build/gameoflife/gameoflife.elf: $(GAMEOFLIFE_OBJS) applications/gameoflife/gameoflife.ld $(DISK_IMAGE)
[432]584        $(LD) -o $@ -T applications/gameoflife/gameoflife.ld $(GAMEOFLIFE_OBJS)
[251]585        $(DU) -D $@ > $@.txt
[573]586        mmd -o -i $(DISK_IMAGE) ::/build/gameoflife || true
[581]587#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/gameoflife
[251]588
[432]589build/gameoflife/main.o: applications/gameoflife/main.c
[258]590        $(CC) $(USER_INCLUDE) $(CFLAGS) -O3 -c -o $@ $<
[251]591
[374]592########################################
[241]593### dhrystone compilation
[581]594build/dhrystone/dhrystone.elf: $(DHRYSTONE_OBJS) applications/dhrystone/dhrystone.ld hard_config.h $(DISK_IMAGE)
[432]595        $(LD) -o $@ -T applications/dhrystone/dhrystone.ld $(DHRYSTONE_OBJS)
[241]596        $(DU) -D $@ > $@.txt
[573]597        mmd -o -i $(DISK_IMAGE) ::/build/dhrystone || true
[581]598#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/dhrystone
[241]599
[580]600build/dhrystone/dhry_1.o: applications/dhrystone/dhry_1.c hard_config.h
[258]601        $(CC) $(USER_INCLUDE) $(CFLAGS)  -c -o $@ $<
[241]602
[580]603build/dhrystone/dhry_2.o: applications/dhrystone/dhry_2.c hard_config.h
[258]604        $(CC) $(USER_INCLUDE) $(CFLAGS)  -c -o $@ $<
[241]605
[374]606########################################
[256]607### sort compilation
[581]608build/sort/sort.elf: $(SORT_OBJS) applications/sort/sort.ld hard_config.h $(DISK_IMAGE)
[432]609        $(LD) -o $@ -T applications/sort/sort.ld $(SORT_OBJS)
[256]610        $(DU) -D $@ > $@.txt
[573]611        mmd -o -i $(DISK_IMAGE) ::/build/sort || true
[581]612#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/sort
[256]613
[581]614build/sort/main.o: applications/sort/main.c hard_config.h
[258]615        $(CC) $(USER_INCLUDE) $(CFLAGS) -c -o $@ $<
[256]616
[374]617########################################
[295]618### transpose compilation
[581]619build/transpose/transpose.elf: $(TRANSPOSE_OBJS) applications/transpose/transpose.ld hard_config.h $(DISK_IMAGE)
[432]620        $(LD) -o $@ -T applications/transpose/transpose.ld $(TRANSPOSE_OBJS)
[295]621        $(DU) -D $@ > $@.txt
[573]622        mmd -o -i $(DISK_IMAGE) ::/build/transpose || true
[581]623#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/transpose
[295]624
[581]625build/transpose/main.o: applications/transpose/main.c hard_config.h
[295]626        $(CC) $(USER_INCLUDE) $(CFLAGS) -c -o $@ $<
627
[374]628########################################
[339]629### convol compilation
[581]630build/convol/convol.elf: $(CONVOL_OBJS) applications/convol/convol.ld hard_config.h $(DISK_IMAGE)
[432]631        $(LD) -o $@ -T applications/convol/convol.ld $(CONVOL_OBJS)
[339]632        $(DU) -D $@ > $@.txt
[573]633        mmd -o -i $(DISK_IMAGE) ::/build/convol || true
[581]634#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/convol
[339]635
[581]636build/convol/main.o: applications/convol/main.c hard_config.h
[364]637        $(CC) $(USER_INCLUDE) $(CFLAGS) -O0 -c -o $@ $<
[339]638
[374]639########################################
[463]640### classif compilation
[581]641build/classif/classif.elf: $(CLASSIF_OBJS) applications/classif/classif.ld hard_config.h $(DISK_IMAGE)
[463]642        $(LD) -o $@ -T applications/classif/classif.ld $(CLASSIF_OBJS)
643        $(DU) -D $@ > $@.txt
[573]644        mmd -o -i $(DISK_IMAGE) ::/build/classif || true
[581]645#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/classif
[463]646
[581]647build/classif/main.o: applications/classif/main.c hard_config.h
[463]648        $(CC) $(USER_INCLUDE) $(CFLAGS) -O0 -c -o $@ $<
649
650########################################
[525]651### coproc compilation
[581]652build/coproc/coproc.elf: $(COPROC_OBJS) applications/coproc/coproc.ld hard_config.h $(DISK_IMAGE)
[525]653        $(LD) -o $@ -T applications/coproc/coproc.ld $(COPROC_OBJS)
654        $(DU) -D $@ > $@.txt
[573]655        mmd -o -i $(DISK_IMAGE) ::/build/coproc || true
[581]656#       mcopy -o -i $(DISK_IMAGE) $@ ::/build/coproc
[525]657
658build/coproc/main.o: applications/coproc/main.c
659        $(CC) $(USER_INCLUDE) $(CFLAGS) -O0 -c -o $@ $<
660
661########################################
[580]662### ocean compilation
663build/ocean/ocean.elf: applications/ocean/ocean.elf
664        mv $< $@
665        $(DU) -D $@ > $@.txt
666
667applications/ocean/ocean.elf: $(OCEAN_OBJS)
668        cd applications/ocean/ && $(MAKE)
669
670########################################
[177]671### clean
[158]672clean:
[326]673        rm -f *.o *.elf *.bin *.txt core 
674        rm -f hard_config.h giet_vsegs.ld map.bin map.xml
[580]675        rm -rf build/
676        cd applications/ocean && $(MAKE) clean
Note: See TracBrowser for help on using the repository browser.