# pornlibc - the sacred standard library of pornOS (requirement #4)
# Builds libporn.so on a real host. pornOS doesn't use glibc or musl.
#
#   make
#   sudo make install   # -> /usr/lib/pornlibc/libporn.so
#

CC      ?= cc
CFLAGS  ?= -O2 -fPIC -fstack-protector-strong -Wall -Wextra
PREFIX  ?= /usr
LIBDIR   = $(PREFIX)/lib/pornlibc

all: libporn.so

libporn.o: libporn.c
	$(CC) $(CFLAGS) -c -o $@ $<

# a shared object with SONAME so binaries loaded against pornlibc hold fast
libporn.so: libporn.o
	$(CC) -shared -Wl,-soname,libporn.so.1 -o $@ $<
	ln -sf libporn.so libporn.so.1

install: libporn.so
	install -d $(DESTDIR)$(LIBDIR)
	install -m 755 libporn.so $(DESTDIR)$(LIBDIR)/libporn.so
	ln -sf libporn.so $(DESTDIR)$(LIBDIR)/libporn.so.1

clean:
	rm -f libporn.o libporn.so libporn.so.1

.PHONY: all install clean
