CC=gcc CFLAGS= LIB_FILE = libeasysock.so .PHONY: all all: $(LIB_FILE) $(LIB_FILE): easysock.o $(CC) $(CFLAGS) -shared easysock.o -o $(LIB_FILE) easysock.o: easysock.c easysock.h $(CC) $(CFLAGS) -fpic -c easysock.c -o easysock.o .PHONY: allwarn allwarn: CFLAGS+=-Wall -Wextra -pedantic allwarn: $(LIB_FILE) .PHONY: debug debug: CFLAGS+=-g debug: $(LIB_FILE) .PHONY: static static: .PHONY: install ifndef PREFIX PREFIX := /usr/local endif install: $(LIB_FILE) install -d $(DESTDIR)$(PREFIX)/lib install -m 755 $(LIB_FILE) $(DESTDIR)$(PREFIX)/lib install -d $(DESTDIR)$(PREFIX)/include install -m 644 easysock.h $(DESTDIR)$(PREFIX)/include install -m 644 docs/man3/*.gz /usr/share/man/man3/ .PHONY: clean clean: rm *.o rm $(LIB_FILE) .PHONY: uninstall uninstall: rm $(DESTDIR)$(PREFIX)/lib/$(LIB_FILE) rm $(DESTDIR)$(PREFIX)/include/easysock.h