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