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) name = test1 elf = $(name).elf bin = $(name).psx iso = $(name).bin cue = $(name).cue TCPREFIX = mipsel-linux-gnu- CC = $(TCPREFIX)gcc AS = $(TCPREFIX)as 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 $(dbg) $(opt) $(inc) -fno-strict-aliasing -MMD ASFLAGS = $(arch) LDFLAGS = -T psx.ld -print-gc-sections $(bin): $(elf) $(TCPREFIX)objcopy -O binary $< $@ $(elf): $(obj) sintab.o $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS) $(iso): cd/cd.xml cd/system.cnf $(bin) mkpsxiso -o $@ -y $< -include $(dep) sintab.S: tools/gensin tools/gensin >$@ %.s: %.c $(CC) $(CFLAGS) -S -o $@ $< disasm: $(elf) $(TCPREFIX)objdump -D $< >$@ .PHONY: iso iso: $(iso) .PHONY: clean clean: rm -f $(obj) $(bin) $(elf) $(iso) $(cue) link.map .PHONY: cleandep cleandep: rm -f $(dep) .PHONY: run run: $(bin) mednafen $< .PHONY: runiso runiso: $(iso) mednafen $(cue) .PHONY: runpsx runpsx: $(bin) nops /exe $(bin) /m /dev/ttyUSB0 tools/gensin: tools/gensin.c cc -o $@ $< -lm