all: libfoo.so app %.so: %.o cc -shared -Wl,-soname,$*.so.$(ver) -o $@.$(real_ver) $< ln -sfn $@.$(real_ver) $@.$(ver) ln -sfn $@.$(ver) $@ app: LDFLAGS += -L. -lfoo libfoo.so: real_ver := 1.0.0 lib%.o: CFLAGS += -fPIC ver = $(firstword $(subst ., ,$(real_ver))) all: app.appimage %.sqsh: libfoo.so app AppRun rm -f $@ mksquashfs $(filter-out %.so,$^) libfoo.so.* $@ -quiet -no-progress %.appimage: %.sqsh cat ../appimage-standard/type2-runtime $< > $@ chmod +x $@ .PRECIOUS: %.sqsh clean: rm -f lib*.so* *.o app *.appimage *.sqsh