PPU_PROG = malloc_ea_ppe
SPU_PROG = malloc_ea_spe

PPU_SRCS = malloc_ea_ppe.c
PPU_OBJS = $(PPU_SRCS:%.c=%.o)

SPU_SRCS = malloc_ea_spe.c
SPU_OBJS = $(SPU_SRCS:%.c=%.o)

PPU_CC = ppu-gcc

PPE_MODE = 32
#PPE_MODE = 64

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

SPU_CC = spu-gcc

SPU_CPPFLAGS = -D__ea=""
SPU_CFLAGS = -Wall -O3
SPU_LIBS =
SPU_LDFLAGS = $(SPU_LIBS)

ifeq ($(PPE_MODE), 32)
PPU_CFLAGS += -m32
SPU_CPPFLAGS += -D__EA32__
else
#SPU_CPPFLAGS += -D__EA32__ -DPPE64
SPU_CPPFLAGS += -D__EA64__ -U__EA32__ -DPPE64
endif



.PHONY: all clean

all: $(PPU_PROG) $(SPU_PROG)

$(SPU_OBJS): 
	$(SPU_CC) $(SPU_CFLAGS) $(SPU_CPPFLAGS) -c $^ -o $@

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


$(SPU_PROG): $(SPU_OBJS)
	$(SPU_CC) -o $@ $(SPU_CFLAGS) $(SPU_LDFLAGS) $^

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


clean:
	-rm -f $(PPU_PROG) $(PPU_OBJS) *~
	-rm -f $(SPU_PROG) $(SPU_OBJS) *~

### dependencies

malloc_ea_spe.o: malloc_ea_spe.c

malloc_ea_ppe.o: malloc_ea_ppe.c
