OS=unspecified

ifeq ($(OS),mingw)
  EXE=main.exe
  LIBS=-lws2_32
else
  EXE=main
  LIBS=
endif

CXX=g++ -std=c++17 -Wall -g -Iinc -Icpp

CPP_FILES=\
	cpp/invocation.cpp\
	cpp/spookyv2.cpp\
	cpp/debugcollector.cpp\
	cpp/drivenengine.cpp\
	cpp/util.cpp\
	cpp/luastack.cpp\
	cpp/traceback.cpp\
	cpp/planemap.cpp\
	cpp/pprint.cpp\
	cpp/luaconsole.cpp\
	cpp/idalloc.cpp\
	cpp/globaldb.cpp\
	cpp/sched.cpp\
	cpp/table.cpp\
	cpp/gui.cpp\
	cpp/luasnap.cpp\
	cpp/animqueue.cpp\
	cpp/streambuffer.cpp\
	cpp/source.cpp\
	cpp/world-core.cpp\
	cpp/world-accessor.cpp\
	cpp/world-difftab.cpp\
	cpp/world-diffxmit.cpp\
	cpp/world-pairtab.cpp\
	cpp/world-testing.cpp\
	cpp/textgame.cpp\
	cpp/lpxserver.cpp\
	cpp/lpxclient.cpp\
	cpp/drivertests.cpp\
	cpp/printbuffer.cpp\
	cpp/main.cpp \
	cpp/driver-$(OS).cpp\

OBJ_FILES=$(patsubst cpp/%.cpp,obj/%.o,$(CPP_FILES))

obj/%.o: cpp/%.cpp
	$(CXX) -c -MMD $< -o $@

$(EXE): $(OBJ_FILES)
	$(CXX) -o $@ $(OBJ_FILES) $(LIBS) -Llib lib/liblua-dbg.a


-include $(OBJ_FILES:%.o=%.d)
