# use "make -f makefile.unix RELEASE=TRUE" to create release executable

CC=gcc
CXX=g++
LIBS=-lSDL -lSDL_image

#TARGET=pituka
#TARGET_DINGOO=$(TARGET).dge
#OBJS=caprice/cap32.c caprice/crtc.c caprice/fdc.c caprice/psg.c caprice/tape.c caprice/z80.c linux/main.c port/utils.c port/dskutils.c port/unzip.c

TOOLCHAIN=/opt/mipsel-linux-uclibc/usr
CROSS_COMPILE=$(TOOLCHAIN)/bin/mipsel-linux-

SDL_BASE=$(TOOLCHAIN)/bin

CFLAGS=-Wall -I$(TOOLCHAIN)/include -DDINGOO -DLINUX \
	-O7 -fsigned-char -msoft-float -funroll-loops \
	-ffast-math -fomit-frame-pointer -fno-strength-reduce \
	-finline-functions -G0 -march=mips32 -mtune=r4600 -mno-mips16 \

CC=$(CROSS_COMPILE)gcc
CXX=$(CROSS_COMPILE)g++
AS=$(CROSS_COMPILE)as
STRIP=$(CROSS_COMPILE)strip
LIBS=-L$(TOOLCHAIN)/lib -lSDL -lz -lpng


pituka: caprice/cap32.c caprice/crtc.o caprice/draw_16bpp.o caprice/fdc.o caprice/psg.o caprice/tape.o caprice/z80.o dingoo/main.o dingoo/audio.o dingoo/dngutils.o dingoo/interface.o dingoo/libpng/pngu/pngu.o dingoo/images/screensplash.o dingoo/images/screenmenu.o dingoo/images/screenkeyb.o port/utils.o port/dskutils.o port/unzip.o caprice/cap32.h caprice/z80.h
	$(CC) $(CFLAGS) -o pituka caprice/cap32.c dingoo/main.o dingoo/audio.o dingoo/dngutils.o dingoo/interface.o dingoo/libpng/pngu/pngu.o port/utils.o port/dskutils.o port/unzip.o caprice/crtc.o caprice/draw_16bpp.o caprice/fdc.o caprice/psg.o caprice/tape.o caprice/z80.o dingoo/images/screensplash.o dingoo/images/screenmenu.o dingoo/images/screenkeyb.o $(LIBS)

main.o: dingoo/main.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c dingoo/main.c

dngutils.o: dingoo/dngutils.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c dingoo/dngutils.c

pngu.o: dingoo/libpng/pngu/pngu.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c dingoo/libpng/pngu/pngu.c

control.o: dingoo/control.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c linux/control.c

display.o: dingoo/display.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c linux/display.c

crtc.o: caprice/crtc.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c caprice/crtc.c

draw_16bpp.o: caprice/draw_16bpp.c caprice/cap32.h caprice/crtc.h caprice/z80.h
	$(CC) $(CFLAGS) -c caprice/draw_16bpp.c

fdc.o: caprice/fdc.c caprice/cap32.h caprice/z80.h
	$(CC) $(CFLAGS) -c caprice/fdc.c

psg.o: caprice/psg.c caprice/cap32.h caprice/z80.h
	$(CC) $(CFLAGS) -c caprice/psg.c

tape.o: caprice/tape.c caprice/cap32.h caprice/tape.h caprice/z80.h
	$(CC) $(CFLAGS) -c caprice/tape.c

z80.o: caprice/z80.c caprice/z80.h caprice/cap32.h
	$(CC) $(CFLAGS) -c caprice/z80.c

utils.o: port/utils.c  caprice/cap32.h
	$(CC) $(CFLAGS) -c port/utils.c

dskutils.o: port/dskutils.c  port/dskutils.h caprice/cap32.h
	$(CC) $(CFLAGS) -c port/dskutils.c

unzip.o: port/unzip.c  port/unzip.h caprice/cap32.h
	$(CC) $(CFLAGS) -c port/unzip.c

screenkeyb.o: dingoo/images/screenkeyb.c
	$(CC) $(CFLAGS) -c dingoo/images/screenkeyb.c

screenmenu.o: dingoo/images/screenmenu.c
	$(CC) $(CFLAGS) -c dingoo/images/screenmenu.c

screensplash.o: dingoo/images/screensplash.c
	$(CC) $(CFLAGS) -c dingoo/images/screensplash.c

clean:
	rm caprice/*.o linux/*.o dingoo/*.o dingoo/images/*.o port/*.o caprice/*~ linux/*~ dingoo/*~ dingoo/images/*~ port/*.o~ pituka

