update build

add version to name
add shared build for luac
This commit is contained in:
2025-06-05 20:21:14 +05:00
parent 238321fc7b
commit d031e47829
2 changed files with 26 additions and 17 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
*.o *.o
*.dll *.dll
*.a *.a
src/lua5.1
src/luac5.1

View File

@@ -5,7 +5,7 @@
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
# Your platform. See PLATS for possible values. # Your platform. See PLATS for possible values.
PLAT= none PLAT= shared
CC=kos32-gcc CC=kos32-gcc
@@ -25,12 +25,10 @@ else
TOOLCHAIN_PATH=/home/autobuild/tools/win32 TOOLCHAIN_PATH=/home/autobuild/tools/win32
endif endif
KOLIBRIOS_REPO=../../kolibrios KOLIBRIOS_REPO=$(abspath ../../kolibrios)
SDK_DIR=$(KOLIBRIOS_REPO)/contrib/sdk SDK_DIR=$(KOLIBRIOS_REPO)/contrib/sdk
NewLib_DIR=$(SDK_DIR)/sources/newlib NewLib_DIR=$(SDK_DIR)/sources/newlib
SYSCFLAGS=-fno-ident -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -I$(NewLib_DIR)/libc/include -I$(TOOLCHAIN_PATH)/include SYSCFLAGS=-fno-ident -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -I$(NewLib_DIR)/libc/include -I$(TOOLCHAIN_PATH)/include
SYSLDFLAGS=--image-base 0 -Tapp-dynamic.lds SYSLDFLAGS=--image-base 0 -Tapp-dynamic.lds
SYSLIBS=-nostdlib -L $(SDK_DIR)/lib -L$(TOOLCHAIN_PATH)/lib -L$(TOOLCHAIN_PATH)/mingw32/lib -lgcc -lc.dll -ldll SYSLIBS=-nostdlib -L $(SDK_DIR)/lib -L$(TOOLCHAIN_PATH)/lib -L$(TOOLCHAIN_PATH)/mingw32/lib -lgcc -lc.dll -ldll
@@ -41,22 +39,25 @@ MYLIBS=
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris PLATS= static shared
LUA_A= liblua.a V=5.1
LUA_A= liblua$(V).a
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
lundump.o lvm.o lzio.o lundump.o lvm.o lzio.o
LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
lstrlib.o loadlib.o linit.o lstrlib.o loadlib.o linit.o
LUA_T= lua
LUA_T= lua$(V)
LUA_O= lua.o LUA_O= lua.o
LUAC_T= luac LUAC_T= luac$(V)
LUAC_O= luac.o print.o LUAC_O= luac.o print.o
LUA_S = lua54.dll LUA_S = liblua$(V).dll
LUA_S_IMP = $(LUA_S).a LUA_S_IMP = $(LUA_S).a
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
@@ -76,13 +77,13 @@ $(LUA_A): $(CORE_O) $(LIB_O)
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
$(LUA_T): $(LUA_O) $(LUA_A) $(LUA_T): $(LUA_O) $(LUA_A)
$(LD) -o $@ $(MYLDFLAGS) $(SYSLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) $(LD) -o $@ $(SYSLDFLAGS) $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
$(STRIP) -S $@ $(STRIP) -S $@
$(OBJCOPY) $@ -O binary $(OBJCOPY) $@ -O binary
$(LUAC_T): $(LUAC_O) $(LUA_A) $(LUAC_T): $(LUAC_O) $(LUA_A)
$(LD) -o $@ $(MYLDFLAGS) $(SYSLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) $(LD) -o $@ $(SYSLDFLAGS) $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
$(STRIP) -S $@ $(STRIP) -S $@
$(OBJCOPY) $@ -O binary $(OBJCOPY) $@ -O binary
@@ -91,21 +92,27 @@ $(LUAC_T): $(LUAC_O) $(LUA_A)
$(LUA_S): $(CORE_O) $(LIB_O) $(LUA_S): $(CORE_O) $(LIB_O)
$(LD) -shared -T dll.lds --entry _DllStartup -o $@ $(CORE_O) $(LIB_O) $(LIBS) --out-implib $(LUA_S_IMP) $(LD) -shared -T dll.lds --entry _DllStartup -o $@ $(CORE_O) $(LIB_O) $(LIBS) --out-implib $(LUA_S_IMP)
$(LUA_S_IMP): $(LUA_S)
# shared lua # shared lua
$(LUA_T_S): $(LUA_O) $(LUA_S) $(LUA_T_S): $(LUA_O) $(LUA_S)
$(LD) -s $(LDFLAGS) -o $@ $(LUA_O) $(LUA_S) $(LIBS) $(LD) -s $(SYSLDFLAGS) $(MYLDFLAGS) -o $@ $(LUA_O) $(LUA_S) $(LIBS)
$(STRIP) -S $@
$(OBJCOPY) $@ -O binary
$(LUAC_T_S): $(LUAC_O) $(LUA_S)
$(LD) -o $@ $(SYSLDFLAGS) $(MYLDFLAGS) $(LUAC_O) $(LUA_S) $(LIBS)
$(STRIP) -S $@ $(STRIP) -S $@
$(OBJCOPY) $@ -O binary $(OBJCOPY) $@ -O binary
static: $(ALL_T) static: $(ALL_T)
shared: shared: $(ALL_S)
make "ARFLAGS=crs" "LUA_T_S=lua" "LUA_T=" lua make "ARFLAGS=crs" "LUA_T_S=$(LUA_T)" "LUA_T=" $(LUA_T)
make "LUAC_T=luac" luac make "LUAC_T_S=$(LUAC_T)" "LUAC_T=" $(LUAC_T)
clean: clean:
$(RM) $(ALL_T) $(ALL_O) $(LUA_S) $(LUA_S_IMP) $(RM) $(ALL_T) $(ALL_O) $(ALL_S)
depend: depend:
@$(CC) $(CFLAGS) -MM l*.c print.c @$(CC) $(CFLAGS) -MM l*.c print.c