c0a1ea47590d4908751c21b36babc4c31fd6950a
[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 elf = test1.elf
7 bin = test1.psx
8 iso = test1.iso
9
10 TCPREFIX = mipsel-linux-gnu-
11
12 CC = $(TCPREFIX)gcc
13 AS = $(TCPREFIX)as
14 LD = $(TCPREFIX)ld
15 OBJCOPY = $(TCPREFIX)objcopy
16
17 arch = -march=r3000 -msoft-float -mno-abicalls -mno-shared -fno-pic
18
19 CFLAGS = $(arch) -pedantic -Wall -g -MMD
20 ASFLAGS = $(arch)
21 LDFLAGS = -T psx.ld -print-gc-sections
22
23 $(bin): $(elf)
24         $(OBJCOPY) -O binary $< $@
25
26 $(elf): $(obj)
27         $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
28
29 $(iso): cd/cd.xml cd/system.cnf $(bin)
30         mkpsxiso -o $@ -y $<
31
32 -include $(dep)
33
34 %.s: %.c
35         $(CC) $(CFLAGS) -S -o $@ $<
36
37 .PHONY: iso
38 iso: $(iso)
39
40 .PHONY: clean
41 clean:
42         rm -f $(obj) $(bin) $(elf) link.map
43
44 .PHONY: cleandep
45 cleandep:
46         rm -f $(dep)
47
48 .PHONY: run
49 run: $(bin)
50         mednafen $<
51
52 .PHONY: runiso
53 runiso: $(iso)
54         mednafen test1.cue