CC=gcc

OBJS = p6emu.o monitor.o z80.o
CFLG = -Wall -Wno-parentheses -O3
LFLG = -lncursesw -ledit -lm

ifdef X11
DFLG = -DX11
LFLG = -lncursesw -ledit -lm -lX11
endif

ifdef MINGW
#CC=i686-w64-mingw32-gcc-posix
CC=i686-w64-mingw32-gcc
OBJS = p6emu.o monitor.o z80.o win.o
CFLG = -Wall -Wno-parentheses -O3 -static
LFLG = -ledit_static
SUFFIX = .exe
IDFLG = -Iwineditline-2.206/include
LDFLG = -Lwineditline-2.206/lib32
endif

TARGETS = $(OBJS) Makefile

all: p6emu

p6emu: $(TARGETS)
	$(CC) $(CFLG) -o p6emu$(SUFFIX) $(OBJS) $(LDFLG) $(LFLG)
	strip p6emu$(SUFFIX)
	if uname -a | grep Linux > /dev/null; then\
	 cp -p p6emu$(SUFFIX) p6emu-linux;\
	fi

p6emu.o: p6emu.c Makefile
	$(CC) $(CFLG) $(DFLG) $(IDFLG) -c -o p6emu.o p6emu.c

z80.o: z80.c z80.h Makefile
	$(CC) $(CFLG) -c -o z80.o z80.c

monitor.o: monitor.c z80.h Makefile
	$(CC) $(CFLG) $(IDFLG) -c -o monitor.o monitor.c

win.o: win.c win.h Makefile
	$(CC) $(CFLG) -c -o win.o win.c

clean:
	rm -f p6emu p6emu.exe p6emu.o z80.o monitor.o win.o;\





