flags	:= -Wall -O0 -std=c23 -I. -Wno-int-to-pointer-cast -Wno-pointer-sign
ldflags := -lmd -dynamic -ldl -fPIC -shared 
incdir	:= /usr/include
mandir	:= /usr/share/man

export incdir
export mandir

.PHONY: clean

all: libxsc.so

libxsc.so: xsc256.o const.o
	cc $(flags) $^ -o $@ $(ldflags)

xsc256.o: xsc256.c
	cc $(flags) -c $<

const.o: const.c
	cc $(flags) -c $<

libdir=$(shell ./libdir.sh)
export libdir
install: libxsc.so
	@chmod 755 libdir.sh checkroot.sh
	@./checkroot.sh
	@strip ./libxsc.so

	cp libxsc.so $(libdir)
	cp xsc256.h $(incdir)
	cp xsc.3.gz $(mandir)/man3/
	ldconfig

clean:
	rm -f *.o libxsc.so
