TARGET = mt_kadai mt_ppe

SPU_TIMING = /opt/cell/sdk/usr/bin/spu_timing

CC = spu-gcc43
CFLAGS = -std=gnu99 -O3 -Wall
LDFLAGS = -Wl,-Map,mt_kadai.map -Wall
CFLAGS_TIMING = -std=gnu99 -O3 -Wall -Winline $(CPPFLAGS)

OBJS = mt_kadai.o mt_mine.o mt19937ar.sep/mt19937ar.o

PPU_CC = ppu-gcc
PPU_CFLAGS = -Wall -O2
PPU_CPPFLAGS =
PPU_LIBS = -lspe2
PPU_LDFLAGS = $(PPU_LIBS)

PPU_PROG = mt_ppe
PPU_SRCS = mt_ppe.c
PPU_OBJS = $(PPU_SRCS:%.c=%.o)



all: $(TARGET)

mt_kadai: $(OBJS)

mt_ppe: 

timing: mt_mine.s
	$(SPU_TIMING) $^

.c.s:
	$(CC) $(CFLAGS) -S $< -o $*.s

clean:
	rm -f $(TARGET) $(OBJS) $(OBJS:.o=.s) *.map
	find -name '*~' | xargs rm -f

run: $(TARGET)
	./$(TARGET)


$(PPU_OBJS):
	$(PPU_CC) $(PPU_CFLAGS) $(PPU_CPPFLAGS) -c $^ -o $@

$(PPU_PROG): $(PPU_OBJS)
	$(PPU_CC) -o $@ $(PPU_CFLAGS) $(PPU_LDFLAGS) $^

mt_ppe.o: mt_ppe.c