started working on interrupts
[psx_test1] / Makefile
1 csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c)
2 ssrc = $(wildcard src/*.S) $(wildcard src/libc/*.S) sintab.S
3 obj = $(csrc:.c=.o) $(ssrc:.S=.o)
4 dep = $(csrc:.c=.d) $(ssrc:.S=.d)
5
6 name = test1
7 elf = $(name).elf
8 bin = $(name).psx
9 iso = $(name).bin
10 cue = $(name).cue
11
12 TCPREFIX = mipsel-linux-gnu-
13
14 CC = $(TCPREFIX)gcc
15 AS = $(TCPREFIX)as
16 LD = $(TCPREFIX)ld
17
18 arch = -march=r3000 -msoft-float -mno-abicalls -mno-shared -fno-pic
19 inc = -nostdinc -Isrc/libc
20 opt = -O3
21 dbg = -g
22
23 CFLAGS = $(arch) -pedantic -Wall $(dbg) $(opt) $(inc) -fno-strict-aliasing -MMD
24 ASFLAGS = $(arch)
25 LDFLAGS = -T psx.ld -print-gc-sections
26
27 $(bin): $(elf)
28         $(TCPREFIX)objcopy -O binary $< $@
29
30 $(elf): $(obj) sintab.o
31         $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
32
33 $(iso): cd/cd.xml cd/system.cnf $(bin)
34         mkpsxiso -o $@ -y $<
35
36 -include $(dep)
37
38 sintab.S: tools/gensin
39         tools/gensin >$@
40
41 %.s: %.c
42         $(CC) $(CFLAGS) -S -o $@ $<
43
44 disasm: $(elf)
45         $(TCPREFIX)objdump -D $< >$@
46
47 .PHONY: iso
48 iso: $(iso)
49
50 .PHONY: clean
51 clean:
52         rm -f $(obj) $(bin) $(elf) $(iso) $(cue) link.map
53
54 .PHONY: cleandep
55 cleandep:
56         rm -f $(dep)
57
58 .PHONY: run
59 run: $(bin)
60         mednafen $<
61
62 .PHONY: runiso
63 runiso: $(iso)
64         mednafen $(cue)
65
66 .PHONY: runpsx
67 runpsx: $(bin)
68         nops /exe $(bin) /m /dev/ttyUSB0
69
70 tools/gensin: tools/gensin.c
71         cc -o $@ $< -lm