# TEXLIVE_SRC must be a precompiled TEXLIVE build with dynamic libraries TEXLIVE_SRC = $(HOME)/texlive-source # We expect to find a precompiled static library compiled with -fpic here LUA_DIR = $(HOME)/lua/ # HarfBuzz also should be compiled static, position independent in a build_meson subdirectory HARFBUZZ_DIR = $(HOME)/harfbuzz # Graphite also should be compiled static, position independent in a build subdirectory GRAPHITE_DIR = $(HOME)/graphite HB_INCLUDE_DIRS = $(HARFBUZZ_DIR)/src TL_INCLUDE_DIRS = $(TEXLIVE_SRC)/Work/texk $(TEXLIVE_SRC)/texk LUA_INCLUDE_DIRS = $(LUA_DIR) LINK.so = $(LINK.o) -shared LUAHARFBUZZ_SRCS = $(wildcard luaharfbuzz/src/luaharfbuzz/*.c) LUAHARFBUZZ_OBJS = $(patsubst %.c,%.o,$(LUAHARFBUZZ_SRCS)) override CFLAGS += -fpic -DHAVE_DECL_ISASCII=1 $(patsubst %,-I%,$(INCLUDE_DIRS)) override LDFLAGS += -Wl,linkscript.ld # For Windows instead: # override LDFLAGS += -Wl,-version-script=versionscript luaharfbuzz/src/luaharfbuzz/%.o: INCLUDE_DIRS = $(HB_INCLUDE_DIRS) $(LUA_INCLUDE_DIRS) luametalatex-kpse/lkpselib.o: INCLUDE_DIRS = $(TL_INCLUDE_DIRS) $(LUA_INCLUDE_DIRS) luametalatex.so: luametalatex-kpse/lkpselib.o $(LUAHARFBUZZ_OBJS) $(TEXLIVE_SRC)/Work/texk/kpathsea/.libs/libkpathsea.a $(HARFBUZZ_DIR)/build_meson/src/libharfbuzz.a $(GRAPHITE_DIR)/build/src/libgraphite2.a $(LUA_DIR)/liblua.a %.so: $(LINK.so) $^ $(LOADLIBES) $(LDLIBS) -o $@ .PHONY: clean clean: rm $(LUAHARFBUZZ_OBJS) luametalatex-kpse/lkpselib.o luametalatex.so # lkpselib.o: lkpselib.c