arch=`uname -mo | sed 's, GNU/Linux,-linux-gnu,'`
incdir=/usr/include
libdir=/usr/lib/${arch}
flags=-O2 -Wall -std=c2x -fPIC -shared
ldflags=-ldl

all: clean libneedle.so info2

libneedle.so: needle.o
	cc ${flags} $^ -o $@ ${ldflags}
	strip $@

needle.o: needle.c
	cc ${flags} -c $^

example: example.o
	cc -O2 -Wall -std=c2x $^ -o $@ -lneedle

example.o: example.c
	cc -O2 -Wall -std=c2x -c $^

clean:
	rm -f *.o *.so example

install: libneedle.so
	cp -f $^ ${libdir}
	cp -f needle.h ${incdir}
	ldconfig

info1:
	@echo
	@echo "Type make in order to compile the library"
	@echo

info2:
	@echo
	@echo "In order to install the library, type: sudo make install"
	@echo

