--- a/Makefile +++ b/Makefile @@ -154,6 +154,9 @@ ifdef CONFIG_LTO PROGS+=libquickjs.lto.a endif +ifndef CONFIG_STATIC +PROGS+=libquickjs.so.$(VERSION) +endif # examples ifeq ($(CROSS_PREFIX),) @@ -237,6 +240,11 @@ $(AR) rcs $@ $^ endif # CONFIG_LTO +ifndef CONFIG_STATIC +libquickjs.so.$(VERSION): $(patsubst %.o, %.pic.o, $(QJS_LIB_OBJS)) + $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ $^ +endif # CONFIG_STATIC + repl.c: $(QJSC) repl.js $(QJSC) -c -o $@ -m repl.js @@ -309,6 +317,10 @@ install -m644 libquickjs.a "$(DESTDIR)$(prefix)/lib/quickjs" ifdef CONFIG_LTO install -m644 libquickjs.lto.a "$(DESTDIR)$(prefix)/lib/quickjs" +endif +ifndef CONFIG_STATIC + install -Dm755 libquickjs.so.$(VERSION) -t "$(DESTDIR)$(prefix)/lib" + ln -s libquickjs.so.$(VERSION) "$(DESTDIR)$(prefix)/lib/libquickjs.so" endif mkdir -p "$(DESTDIR)$(prefix)/include/quickjs" install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(prefix)/include/quickjs"