initial
[fpgammix.git] / workloads / Makefile
blobc4e8c20edfcadfb8a98d6749876cfaa45780ddd4
1 FPGAMMIX_DIR=/home/tommy/fpgammix
2 MMIX_TOOLS_BIN=/opt/mmix/bin
4 # XXX -mno-base-addresses should be the default! -mbase-addresses is
5 # completely unscalable, running out of globals within 30 uses.
7 all: readmoto.mmo hwfb.elf #myfib-verbose.sim
9 #CFLAGS=-mno-base-addresses -O2 -fomit-frame-pointer
10 CC=$(MMIX_TOOLS_BIN)/mmix-gcc
11 CFLAGS=-O -fomit-frame-pointer -std=gnu99
12 LDOPTS=
13 #LDOPTS=-Ttext=80000000
14 T=1
16 %.run-fpgammix-sim: %.txt # $(FPGAMMIX_DIR)/rtl/Icarus/initmem.data
17 $(MAKE) -C $(FPGAMMIX_DIR)/workloads/tinymon
18 cp $< $(FPGAMMIX_DIR)/rtl/Icarus/input.txt
19 $(MAKE) -C $(FPGAMMIX_DIR)/rtl/Icarus;
21 %.mmo: %.elf
22 mmix-objcopy -I elf64-mmix -O mmo $< $@
24 overflow3.elf: overflow3.o
25 $(MMIX_TOOLS_BIN)/mmix-ld -Ttext=0 -melf64mmix $< -o $@
26 $(MMIX_TOOLS_BIN)/mmix-objdump -d $@
30 %.mmosim: %.mmo
31 mmix -l -t$(T) $<
33 %.elfsim: %.elf
34 mmix -t$(T) $<
36 %.mmo: %.mms
37 mmixal -l $@.lst -o $@ $<
39 #%.o: %.mmo
40 # $(MMIX_TOOLS_BIN)/mmix-objcopy -I mmo -O elf64-mmix $< $@
42 %.o: %.c Makefile
43 $(CC) $(CFLAGS) -c $< -o $@
45 %.o: %.s Makefile
46 $(CC) $(CFLAGS) -c $< -o $@
48 %.o: %.S Makefile
49 $(CC) $(CFLAGS) -c $< -o $@
51 %.elf.lite: %.o Makefile
52 $(MMIX_TOOLS_BIN)/mmix-ld -Ttext=800 -melf64mmix $< -o $@
53 $(MMIX_TOOLS_BIN)/mmix-objdump -d $@
55 %.elf: %.o
56 $(CC) $(CFLAGS) -Ttext=800 -melf $< -o $@
57 $(MMIX_TOOLS_BIN)/mmix-objdump -d $@
59 # Sigh, SREC doesn't cover 64-bit addresses.
60 %.data.lite: %.elf.lite
61 $(MMIX_TOOLS_BIN)/mmix-objdump -s $< | grep '^ '|cut -d' ' -f3-6|tr ' ' '\n' | grep -v '^$$' > $@
63 %.data: %.elf
64 $(MMIX_TOOLS_BIN)/mmix-objdump -s $< | grep '^ '|cut -d' ' -f3-6|tr ' ' '\n' | grep -v '^$$' > $@
66 %.mif: %.data
67 $(FPGAMMIX_DIR)/tools/data2mif.sh $< > $@
69 %.txt.lite: %.elf.lite
70 $(MMIX_TOOLS_BIN)/mmix-objdump -s $<|cut -d' ' -f-6 > $@
71 $(MMIX_TOOLS_BIN)/mmix-nm $< |grep 'T main'|(read x y;echo " $$x"G) >> $@
73 # $(MMIX_TOOLS_BIN)/mmix-strip $<
75 %.txt: %.elf
76 $(MMIX_TOOLS_BIN)/mmix-strip $< -o $<.stripped
77 $(MMIX_TOOLS_BIN)/mmix-objdump -s $<.stripped|cut -d' ' -f-6 > $@
78 $(MMIX_TOOLS_BIN)/mmix-nm $< |grep 'T Main'|(read x y;echo " $$x"G) >> $@
81 %.dis: %.elf
82 $(MMIX_TOOLS_BIN)/mmix-objdump -d $<
84 %.emu: %.txt
85 cp $< $(FPGAMMIX_DIR)/rtl/Icarus/input.txt
86 cd $(FPGAMMIX_DIR)/rtl/Icarus; make
88 clean:
89 -rm *.elf *.elf.stripped *.o *.txt