Permalink
Cannot retrieve contributors at this time
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?
luacom/Makefile.win
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
162 lines (131 sloc)
5.03 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |