-csrc = $(wildcard src/*.c)
-ssrc = $(wildcard src/*.S)
+csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c)
+ssrc = $(wildcard src/*.S) $(wildcard src/libc/*.S) sintab.S
obj = $(csrc:.c=.o) $(ssrc:.S=.o)
dep = $(csrc:.c=.d) $(ssrc:.S=.d)
LD = $(TCPREFIX)ld
arch = -march=r3000 -msoft-float -mno-abicalls -mno-shared -fno-pic
+inc = -nostdinc -Isrc/libc
+opt = -O3
+dbg = -g
-CFLAGS = $(arch) -pedantic -Wall -g -MMD
+CFLAGS = $(arch) -pedantic -Wall $(dbg) $(opt) $(inc) -fno-strict-aliasing -MMD
ASFLAGS = $(arch)
LDFLAGS = -T psx.ld -print-gc-sections
$(bin): $(elf)
$(TCPREFIX)objcopy -O binary $< $@
-$(elf): $(obj)
+$(elf): $(obj) sintab.o
$(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
$(iso): cd/cd.xml cd/system.cnf $(bin)
-include $(dep)
+sintab.S: tools/gensin
+ tools/gensin >$@
+
%.s: %.c
$(CC) $(CFLAGS) -S -o $@ $<
.PHONY: runiso
runiso: $(iso)
mednafen $(cue)
+
+.PHONY: runpsx
+runpsx: $(bin)
+ nops /exe $(bin) /m /dev/ttyUSB0
+
+tools/gensin: tools/gensin.c
+ cc -o $@ $< -lm