LIN_CC = gcc
WIN_CC = i586-mingw32msvc-gcc

LIN_LIBS = -lz
WIN_LIBS = -lz -lwsock32

CFLAGS = -g -Wall -D_GNU_SOURCE -O3
LFLAGS = -g -Wall -O3

all: mctun mctun.exe tags

mctun: mctun_lin.o mccp_lin.o
	$(LIN_CC) $(LFLAGS) -o $@ $^ $(LIN_LIBS)

mctun.exe: mctun_win.o mccp_win.o
	$(WIN_CC) $(LFLAGS) -o $@ $^ $(WIN_LIBS)

mctun_lin.o: mctun.c mccp.h
	$(LIN_CC) $(CFLAGS) -c mctun.c && mv mctun.o $@

mctun_win.o: mctun.c mccp.h
	$(WIN_CC) $(CFLAGS) -c mctun.c && mv mctun.o $@

mccp_lin.o: mccp.c mccp.h
	$(LIN_CC) $(CFLAGS) -c mccp.c && mv mccp.o $@

mccp_win.o: mccp.c mccp.h
	$(WIN_CC) $(CFLAGS) -c mccp.c && mv mccp.o $@

clean:
	rm -rf mctun mctun.exe *.o tags TAGS

tags: mccp.c mccp.h mctun.c
	ctags *.[ch]
