NAME=luafar3
VERSION_LUASDK=20241113
USERCPP=/Iluasdk/include /DBUILD_DLL /DWINVER=0x500 /DLUADLL=\"lua51.dll\"
!ifndef LUA
LUA=luasdk\$(VERSION_LUASDK)\32\lua.exe
!endif

GEN_IMPLIB=1

RC_NAME=luafar\$(NAME)
DEF_NAME=

!include ..\makefile_vc_def_inc

DOCS = \
	luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll \

LINK_OBJS = \
$(INTDIR)\bit64.obj \
$(INTDIR)\exported.obj \
$(INTDIR)\farhost.obj \
$(INTDIR)\flags.obj \
$(INTDIR)\keysandcolors.obj \
$(INTDIR)\lflua.obj \
$(INTDIR)\lregex.obj \
$(INTDIR)\luamacro.obj \
$(INTDIR)\lusercontrol.obj \
$(INTDIR)\reg.obj \
$(INTDIR)\service.obj \
$(INTDIR)\slnunico.obj \
$(INTDIR)\lutf8lib.obj \
$(INTDIR)\uliolib51.obj \
$(INTDIR)\uloadlib51.obj \
$(INTDIR)\ustring.obj \
$(INTDIR)\util.obj \
$(INTDIR)\win.obj \
$(INTDIR)\lptree.obj \
$(INTDIR)\lpcap.obj \
$(INTDIR)\lpcode.obj \
$(INTDIR)\lpcset.obj \
$(INTDIR)\lpprint.obj \
$(INTDIR)\lpvm.obj \

LINK_LIBS=$(LINK_LIBS) luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.lib

!include ..\makefile_vc_target_inc

$(LINK_OBJS): luafar\flags.c luafar\keysandcolors.c

!ifndef __MAKE__
{luafar}.c{$(INTDIR)}.obj::
	$(CC) @<<
	$(CPPFLAGS) $<
<<
!else
{luafar}.c{$(INTDIR)}.obj:
	@$(CC) $(CPPFLAGS) { $< }
!endif

!ifndef __MAKE__
{luafar\LPeg}.c{$(INTDIR)}.obj::
	$(CC) @<<
	$(CPPFLAGS) $<
<<
!else
{luafar\LPeg}.c{$(INTDIR)}.obj:
	@$(CC) $(CPPFLAGS) { $< }
!endif

luafar\flags.c: $(COMINC)\plugin.hpp luafar\makeflags.lua luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll
	@echo generating flags.c
	@$(LUA) luafar\makeflags.lua $(COMINC)\plugin.hpp > luafar\flags.c

luafar\keysandcolors.c: luafar\makefarkeys.lua $(COMINC)\farcolor.hpp $(FARDIR)\uuids.far.dialogs.hpp luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll
	@echo generating keysandcolors.c
	@$(LUA) luafar\makefarkeys.lua $(COMINC)\farcolor.hpp $(FARDIR)\uuids.far.dialogs.hpp $@

!ifndef POWERSHELL
POWERSHELL=powershell
!endif
$(LUA): luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll
luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.lib: luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll
luasdk\$(VERSION_LUASDK)\$(BITPREFIX)$(DIRBIT)\lua51.dll:
	@echo Downloading Lua binaries
	$(POWERSHELL) -c "Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/FarGroup/thirdparty/master/LuaSDK-$(VERSION_LUASDK).zip' -OutFile 'luasdk\LuaSDK-$(VERSION_LUASDK).zip'; Expand-Archive luasdk\LuaSDK-$(VERSION_LUASDK).zip -DestinationPath luasdk\$(VERSION_LUASDK)
