You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
875 B
Makefile

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