# -*- Makefile -*-
#####################
# Macro Definitions #
#####################
CXX 	= g++
MCS	= gmcs </dev/null
LIMEOBJ ?= ../includes/main.o
OBJS 	= interface.o $(LIMEOBJ)
CS	= $(SRC) api.cs
CHAMPION= prologin.dll
RM 	= /bin/rm -f

# Files needed by champion.so (don't put variables here, they are not evalued)
AUXFILES= prologin.dll

CXXFLAGS = -fPIC -W -Wall \
   `pkg-config --cflags glib-2.0` \
   `pkg-config --cflags mono` \
   $(MY_CXXFLAGS)

MCSFLAGS = -target:library -nowarn:0169

LIBS = `pkg-config --libs glib-2.0` `pkg-config --libs mono` -lm

##############################
# Basic Compile Instructions #
##############################

all: $(NAME) $(CHAMPION)

interface.o : interface.cc interface.hh

$(NAME): $(OBJS)
	$(CXX) -shared $(OBJS) $(LIBS) -o $(NAME) $(CHECK_CHEAT)
	@echo Finished

$(CHAMPION): $(CS)
	$(MCS) -out:$(CHAMPION) $(MCSFLAGS) $(CS)

clean:
	@echo "Cleaning..."
	$(RM) $(OBJS) *~ #*#

distclean: clean
	$(RM) $(CHAMPION) $(NAME) prologin.tgz

tar:
	tar cvzf prologin.tgz interface.cc interface.hh $(CS)
