diff options
| author | Tomas Bzatek <tbzatek@redhat.com> | 2023-12-17 18:50:46 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@redhat.com> | 2023-12-17 18:50:46 +0100 |
| commit | 32d2925cddbadc85aab19c9ee1f4582d10329e3b (patch) | |
| tree | 19d7096a1d296a18a52b17871eca57432876f6bd /libarchive/Makefile | |
| parent | b22a4476a66a913a07d5e80334c0400a9b162206 (diff) | |
| download | tuxcmd-modules-32d2925cddbadc85aab19c9ee1f4582d10329e3b.tar.xz | |
libarchive: Switch to shared build by default
Static build still available, reworked to use system libarchive.a,
while linking other libraries as shared.
Diffstat (limited to 'libarchive/Makefile')
| -rw-r--r-- | libarchive/Makefile | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/libarchive/Makefile b/libarchive/Makefile index 8aededc..373f166 100644 --- a/libarchive/Makefile +++ b/libarchive/Makefile @@ -2,7 +2,6 @@ DESTDIR = /usr INSTALL = install -c INSTALL_DATA = ${INSTALL} -m 644 -DIR_LIBARCHIVE = ./libarchive-2.8.0 # compiler options CC = gcc @@ -14,35 +13,24 @@ CFLAGS = -I. -I/usr/include \ LIB_SUFFIX = `if test \`uname -m\` = x86_64 -o \`uname -m\` = ppc64; then echo 64; fi` VFS_COMMON_OBJECTS = filelist.o filelist-vfs-intf.o strutils.o vfsutils.o - + VFS_OBJECTS = libarchive.o .SUFFIXES: .c .c.o: - $(CC) $(CFLAGS) `pkg-config glib-2.0 gio-2.0 --cflags` -c $< - + $(CC) $(CFLAGS) `pkg-config glib-2.0 gio-2.0 libarchive --cflags` -c $< -all: static -LIBARCHIVE_LIBS_EXT = `grep "$(DIR_LIBARCHIVE)/Makefile" -e '^LIBS = -l' | sed 's/.*=\(.*\)/\1/'` +all: shared shared: CFLAGS += -DMODULE_SHARED shared: $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) - $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `pkg-config glib-2.0 gio-2.0 --libs` -larchive - -static: CFLAGS += -I$(DIR_LIBARCHIVE) -I$(DIR_LIBARCHIVE)/libarchive -static: lib_libarchive_compile $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) - $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(DIR_LIBARCHIVE)/.libs/libarchive.a $(CFLAGS) `pkg-config glib-2.0 gio-2.0 --libs` $(LIBARCHIVE_LIBS_EXT) - -lib_libarchive_compile: - @which uudecode > /dev/null || exit 1; - @if test ! -f "$(DIR_LIBARCHIVE)/.libs/libarchive.a"; then \ - echo "Building libarchive..."; echo; \ - (cd "$(DIR_LIBARCHIVE)" && CFLAGS="-Wall" ./configure --enable-static --disable-shared --disable-bsdtar --disable-bsdcpio --with-pic && $(MAKE)) || exit 1; \ - echo; echo "Libarchive build successful"; echo; \ - fi; + $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `pkg-config --shared --libs glib-2.0 gio-2.0 libarchive` +static: CFLAGS += `pkg-config --static --cflags libarchive` +static: $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) + $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) /usr/lib$(LIB_SUFFIX)/libarchive.a `pkg-config --shared --libs glib-2.0 gio-2.0` `pkg-config --static --libs libarchive | sed 's/-larchive//'` filelist.o: filelist.h filelist.c filelist-vfs-intf.o: filelist-vfs-intf.h filelist-vfs-intf.c @@ -52,9 +40,5 @@ vfsutils.o: vfsutils.h vfsutils.c install:: $(INSTALL) ./libarchive_plugin.so $(DESTDIR)/lib$(LIB_SUFFIX)/tuxcmd/ -clean: +clean: rm -f *.o *.d *.gch libarchive_plugin.so - @if test -e $(DIR_LIBARCHIVE)/Makefile; then \ - (cd "$(DIR_LIBARCHIVE)" && $(MAKE) clean) \ - fi; - |
