Skip to content

Instantly share code, notes, and snippets.

@obihill
Created April 20, 2021 12:46
Show Gist options
  • Save obihill/3278c17bcee41c0c8b59a41ada8c0d35 to your computer and use it in GitHub Desktop.
Save obihill/3278c17bcee41c0c8b59a41ada8c0d35 to your computer and use it in GitHub Desktop.
Makefile to create shared library for libbz2 on MacOS
# This Makefile builds a shared version of the library,
# libbz2.dylib for MacOSX x86 (10.13.4 or higher),
# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98).
# It is a custom Makefile. Use at own risk.
# Run in your MacOS terminal with the following command:
# make -f Makefile-libbz2_dylib
PKG_VERSION?=1.0.8
PREFIX?=/usr/local
SHELL=/bin/sh
CC=gcc
BIGFILES=-D_FILE_OFFSET_BITS=64
CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
OBJS= blocksort.o \
huffman.o \
crctable.o \
randtable.o \
compress.o \
decompress.o \
bzlib.o
all: $(OBJS)
$(CC) -shared -Wl,-install_name -Wl,libbz2.dylib -o libbz2.${PKG_VERSION}.dylib $(OBJS)
cp libbz2.${PKG_VERSION}.dylib ${PREFIX}/lib/
ln -s libbz2.${PKG_VERSION}.dylib ${PREFIX}/lib/libbz2.dylib
clean:
rm -f libbz2.dylib libbz2.${PKG_VERSION}.dylib
blocksort.o: blocksort.c
$(CC) $(CFLAGS) -c blocksort.c
huffman.o: huffman.c
$(CC) $(CFLAGS) -c huffman.c
crctable.o: crctable.c
$(CC) $(CFLAGS) -c crctable.c
randtable.o: randtable.c
$(CC) $(CFLAGS) -c randtable.c
compress.o: compress.c
$(CC) $(CFLAGS) -c compress.c
decompress.o: decompress.c
$(CC) $(CFLAGS) -c decompress.c
bzlib.o: bzlib.c
$(CC) $(CFLAGS) -c bzlib.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment