started implementing some GPU abstractions and moved test to C
[psx_test1] / Makefile
1 csrc = $(wildcard src/*.c)
2 ssrc = $(wildcard src/*.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
20 CFLAGS = $(arch) -pedantic -Wall -g -MMD
21 ASFLAGS = $(arch)
22 LDFLAGS = -T psx.ld -print-gc-sections
23
24 $(bin): $(elf)
25         $(TCPREFIX)objcopy -O binary $< $@
26
27 $(elf): $(obj)
28         $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
29
30 $(iso): cd/cd.xml cd/system.cnf $(bin)
31         mkpsxiso -o $@ -y $<
32
33 -include $(dep)
34
35 %.s: %.c
36         $(CC) $(CFLAGS) -S -o $@ $<
37
38 disasm: $(elf)
39         $(TCPREFIX)objdump -D $< >$@
40
41 .PHONY: iso
42 iso: $(iso)
43
44 .PHONY: clean
45 clean:
46         rm -f $(obj) $(bin) $(elf) $(iso) $(cue) link.map
47
48 .PHONY: cleandep
49 cleandep:
50         rm -f $(dep)
51
52 .PHONY: run
53 run: $(bin)
54         mednafen $<
55
56 .PHONY: runiso
57 runiso: $(iso)
58         mednafen $(cue)