From fb0a82fe4c5790f290797b1c1c6c8566f4fa462a Mon Sep 17 00:00:00 2001 From: Unknown <47678216+Unknownstaffmembe@users.noreply.github.com> Date: Sat, 7 Jan 2023 13:07:22 +0000 Subject: [PATCH] Added Makefile rule for libluau.a This is useful if Luau is to be packaged to be used with package managers or if developers want to embed Luau without having to link several files in a specific order due to the way compilers link. --- Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7a8b98a7..10483997 100644 --- a/Makefile +++ b/Makefile @@ -44,6 +44,8 @@ ANALYZE_CLI_SOURCES=CLI/FileUtils.cpp CLI/Flags.cpp CLI/Analyze.cpp ANALYZE_CLI_OBJECTS=$(ANALYZE_CLI_SOURCES:%=$(BUILD)/%.o) ANALYZE_CLI_TARGET=$(BUILD)/luau-analyze +LIBLUAU_TARGET=$(BUILD)/libluau.a + FUZZ_SOURCES=$(wildcard fuzz/*.cpp) fuzz/luau.pb.cpp FUZZ_OBJECTS=$(FUZZ_SOURCES:%=$(BUILD)/%.o) @@ -136,7 +138,7 @@ fuzz-proto fuzz-prototest: LDFLAGS+=build/libprotobuf-mutator/src/libfuzzer/libp # pseudo targets .PHONY: all test clean coverage format luau-size aliases -all: $(REPL_CLI_TARGET) $(ANALYZE_CLI_TARGET) $(TESTS_TARGET) aliases +all: $(REPL_CLI_TARGET) $(ANALYZE_CLI_TARGET) $(TESTS_TARGET) $(LIBLUAU_TARGET) aliases aliases: $(EXECUTABLE_ALIASES) @@ -205,8 +207,9 @@ $(ANALYSIS_TARGET): $(ANALYSIS_OBJECTS) $(CODEGEN_TARGET): $(CODEGEN_OBJECTS) $(VM_TARGET): $(VM_OBJECTS) $(ISOCLINE_TARGET): $(ISOCLINE_OBJECTS) +$(LIBLUAU_TARGET): $(ANALYSIS_OBJECTS) $(COMPILER_OBJECTS) $(AST_OBJECTS) $(CODEGEN_OBJECTS) $(VM_OBJECTS) -$(AST_TARGET) $(COMPILER_TARGET) $(ANALYSIS_TARGET) $(CODEGEN_TARGET) $(VM_TARGET) $(ISOCLINE_TARGET): +$(AST_TARGET) $(COMPILER_TARGET) $(ANALYSIS_TARGET) $(CODEGEN_TARGET) $(VM_TARGET) $(ISOCLINE_TARGET) $(LIBLUAU_TARGET): ar rcs $@ $^ # object file targets