# ---------------------------------------------------------------------------
# Use the following lines to set your installation directories
# ---------------------------------------------------------------------------
INC_DIR = .\include
LIB_DIR = .\lib
OBJ_DIR = .\obj
BIN_DIR = .\bin
SRC_LIB_DIR = .\src\library
SRC_BIN_DIR = .\src\bin

# ---------------------------------------------------------------------------
# Use the following lines to set the directories where Lua is installed
# ---------------------------------------------------------------------------
LUA_DIR = c:\\users\\rcerq\\lng\\lua
LUA_INC = $(LUA_DIR)\include
LUA_LIB = $(LUA_DIR)\lib

# ---------------------------------------------------------------------------
# Compiler options
# ---------------------------------------------------------------------------
CC = CL

INCS = -I$(LUA_INC) -I$(INC_DIR) -I$(SRC_LIB_DIR)

# Comment the following line if you don't want debug information
USE_DEBUG = /Zi /Od /Yd

CFLAGS = /GX /GR /MDd $(USE_DEBUG) $(INCS) -DWIN32

.SUFFIXES:
.SUFFIXES: .cpp .obj

# ---------------------------------------------------------------------------
# Linker options
# ---------------------------------------------------------------------------
DEFAULT_LIBS = kernel32.lib user32.lib shell32.lib advapi32.lib ole32.lib oleaut32.lib

LFLAGS = /nologo /subsystem:console /incremental:no /machine:I386 $(LC_LIB) $(LUA_LIB)/lua.lib $(LUA_LIB)/lualib.lib $(DEFAULT_LIBS)

# ---------------------------------------------------------------------------
# Target options
# ---------------------------------------------------------------------------
LC_LIB = $(LIB_DIR)\luacom.lib
LC_CONSOLE = $(BIN_DIR)\luacom.exe

all: lc_lib lc_bin
lc_lib: $(LIB_DIR) $(OBJ_DIR) $(LC_LIB)
lc_bin: $(OBJ_DIR) $(BIN_DIR) $(LC_CONSOLE)

$(LIB_DIR)::
	if not exist $(LIB_DIR) \
	   mkdir $(LIB_DIR)

$(OBJ_DIR)::
	if not exist $(OBJ_DIR) \
	   mkdir $(OBJ_DIR)

$(BIN_DIR)::
	if not exist $(BIN_DIR) \
	   mkdir $(BIN_DIR)

clean-obj:
	del $(OBJ_DIR)\*.obj 
	rmdir $(OBJ_DIR)

clean:
	del $(OBJ_DIR)\*.obj 
	rmdir $(OBJ_DIR)
	del $(LIB_DIR)\*.lib 
	rmdir $(LIB_DIR)
	del $(BIN_DIR)\*.exe 
	rmdir $(BIN_DIR)


LIB_OBJS = $(OBJ_DIR)/LuaAux.obj $(OBJ_DIR)/luabeans.obj $(OBJ_DIR)/luacom.obj $(OBJ_DIR)/tLuaCOM.obj $(OBJ_DIR)/tLuaCOMException.obj $(OBJ_DIR)/tLuaCOMTypeHandler.obj $(OBJ_DIR)/tLuaDispatch.obj $(OBJ_DIR)/tLuaObjList.obj $(OBJ_DIR)/tLuaVector.obj $(OBJ_DIR)/tStringBuffer.obj $(OBJ_DIR)/tUtil.obj

$(LC_LIB): $(LIB_OBJS)
	lib /NOLOGO /OUT:$@ $(LIB_OBJS)


{$(SRC_LIB_DIR)}.cpp{$(OBJ_DIR)}.obj:
	$(CC) /c $(CFLAGS) /Fo$@ $<

{$(SRC_BIN_DIR)}.cpp{$(OBJ_DIR)}.obj:
	$(CC) /c $(CFLAGS) /Fo$@ $<

BIN_OBJS = $(OBJ_DIR)/luacom_console.obj $(LC_LIB)

$(LC_CONSOLE): $(BIN_OBJS)
	link /out:$@ $(BIN_OBJS) $(LFLAGS)

include ./mak/dependences.mak

