Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
# Microsoft nmake makefile for LuaCOM
# ---------------------------------------------------------------------------
# Version Information
# You must supply the Lua version being used, at least as an environment
# variable. Currently only 4 and 5 are acceptable options
# ---------------------------------------------------------------------------
LUACOM_VERSION=1.4
# ---------------------------------------------------------------------------
# Installation paths.
# You may need to modify these.
# ---------------------------------------------------------------------------
LUA_SUFFIX=5.1 # suffix for binaries (e.g. 5.1 => lua5.1.exe)
LUA_INC = ..\lua5.1\include
LUA_LIBDLL = ..\lua5.1\lib
LUA_LIB = ..\lua5.1\lib\static
LUA = ..\lua5.1\bin\lua$(LUA_SUFFIX).exe
LUAC = $(LUA) mak\luac.lua
BIN2C = $(LUA) mak\bin2c.lua
# ---------------------------------------------------------------------------
# Local source directories.
# ---------------------------------------------------------------------------
INC_DIR = .\include
LIB_DIR = .\lib
OBJ_ROOTDIR = .\obj
OBJ_DIR = $(OBJ_ROOTDIR)\lua$(LUA_SUFFIX)
BIN_DIR = .\bin
DLL_DIR = .\dll
SRC_LIB_DIR = .\src\library
SRC_BIN_DIR = .\src\bin
SRC_DLL_DIR = .\src\dll
# ---------------------------------------------------------------------------
# Compiler options
# ---------------------------------------------------------------------------
CC = cl
INCS = -I$(LUA_INC) -I$(INC_DIR) -I$(SRC_LIB_DIR)
CFLAGS = $(INCS) -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -nologo
# If you want debugging information, define DEBUG in your environment
!IFDEF DEBUG
CFLAGS =$(CFLAGS) -MDd -Zi -Od -DLUA_USE_APICHECK
!ELSE
CFLAGS =$(CFLAGS) -MD -Zi -O2 -DNDEBUG
!ENDIF
CPPFLAGS = /EHsc $(CFLAGS)
.SUFFIXES:
.SUFFIXES: .c .cpp .obj .lua .loh
# ---------------------------------------------------------------------------
# Linker options
# ---------------------------------------------------------------------------
DEFAULT_LIBS = \
kernel32.lib user32.lib gdi32.lib shell32.lib advapi32.lib \
ole32.lib winspool.lib uuid.lib oleaut32.lib shlwapi.lib htmlhelp.lib
LFLAGS = /nologo /subsystem:console /incremental:no /machine:I386 /debug \
$(DEFAULT_LIBS)
!IFDEF DEBUG
LINK_USE_DEBUG = /DEBUG /PDB:NONE
!ENDIF
# static link
LUA_LIBS = $(LUA_LIB)/lua$(LUA_SUFFIX).lib
# dynamic link
LUA_LIBSDLL = $(LUA_LIBDLL)/lua$(LUA_SUFFIX).lib
# ---------------------------------------------------------------------------
# Target options
# ---------------------------------------------------------------------------
LC_LIB = $(LIB_DIR)\luacom-lua$(LUA_SUFFIX)-$(LUACOM_VERSION).lib
LC_DLL = $(BIN_DIR)\luacom.dll
LC_IMPLIB = $(LIB_DIR)\luacomdll-lua$(LUA_SUFFIX)-$(LUACOM_VERSION).lib
DEF = $(SRC_DLL_DIR)/luacom_dll.def
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 \
$(OBJ_DIR)/tCOMUtil.obj \
$(OBJ_DIR)/tLuaCOMClassFactory.obj \
$(OBJ_DIR)/tLuaCOMConnPoints.obj \
$(OBJ_DIR)/LuaCompat.obj \
$(OBJ_DIR)/tLuaCOMEnumerator.obj \
$(OBJ_DIR)/tLuaObject.obj \
$(OBJ_DIR)/tLuaControl.obj \
$(OBJ_DIR)/tLuaTLB.obj
DLL_OBJS = $(OBJ_DIR)/luacom_dll.obj
all: lc_lib lc_dll
lc_lib: $(LIB_DIR) $(OBJ_DIR) $(LC_LIB)
lc_dll: lc_lib $(BIN_DIR) $(OBJ_DIR) $(LC_DLL)
$(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)
install: $(LC_DLL)
if not exist "$(LUA_LIBDIR)" mkdir -p "$(LUA_LIBDIR)"
copy $(BIN_DIR)\luacom.dll "$(LUA_LIBDIR)"
clean-obj:
if exist $(OBJ_DIR)\*.obj del $(OBJ_DIR)\*.obj
if exist $(OBJ_DIR) rmdir $(OBJ_DIR)
clean:
if exist $(OBJ_ROOTDIR) rmdir /S /Q $(OBJ_ROOTDIR)
if exist $(LIB_DIR)\*.lib del $(LIB_DIR)\*.lib
if exist $(LIB_DIR)\*.exp del $(LIB_DIR)\*.exp
if exist $(LIB_DIR) rmdir $(LIB_DIR)
if exist $(BIN_DIR)\*.exe del $(BIN_DIR)\*.exe
if exist $(BIN_DIR)\*.dll del $(BIN_DIR)\*.dll
if exist $(BIN_DIR)\*.manifest del $(BIN_DIR)\*.manifest
if exist $(BIN_DIR)\*.pdb del $(BIN_DIR)\*.pdb
if exist $(BIN_DIR) rmdir $(BIN_DIR)
if exist $(SRC_LIB_DIR)\luacom5.loh del $(SRC_LIB_DIR)\luacom5.loh
{$(SRC_LIB_DIR)}.cpp{$(OBJ_DIR)}.obj:
$(CC) /c /DLUACOM_DLL=\"luacom.dll\" $(CPPFLAGS) $(COMPAT) /Fo$@ $<
{$(SRC_LIB_DIR)}.c{$(OBJ_DIR)}.obj:
$(CC) /c /Za $(CFLAGS) $(COMPAT) /Fo$@ $<
{$(SRC_BIN_DIR)}.cpp{$(OBJ_DIR)}.obj:
$(CC) /c $(CPPFLAGS) $(COMPAT) /Fo$@ $<
{$(SRC_DLL_DIR)}.cpp{$(OBJ_DIR)}.obj:
$(CC) /c /DLUACOM_DLL=\"luacom.dll\" $(CPPFLAGS) $(COMPAT) /Fo$@ /I$(SRC_DLL_DIR) $<
{$(SRC_LIB_DIR)}.lua{$(SRC_LIB_DIR)}.loh:
$(LUAC) -o "$*.lo" "$<"
$(BIN2C) "$*.lo" > "$@"
$(LC_LIB): $(LIB_OBJS)
lib /NOLOGO /OUT:$@ $(LIB_OBJS)
$(LC_DLL): $(LIB_OBJS) $(DLL_OBJS) $(DEF)
link /DLL /IMPLIB:$(LC_IMPLIB) /out:$@ /DEF:$(DEF) $(LIB_OBJS) \
$(DLL_OBJS) $(LFLAGS) $(LUA_LIBSDLL)
include ./mak/dependences.mak