@tty-pt/ndc
Version:
ndc example project
58 lines (42 loc) • 1.37 kB
Plain Text
PREFIX ?= /usr/local
.PHONY: all install install-bin uninstall clean
.SUFFIXES: .so .c .o
npm-lib := @tty-pt/qdb
uname != uname
ldflags-Linux := -lrt
LDFLAGS := -lc -lqdb -ldb -lcrypto -lssl ${ldflags-${uname}}
CFLAGS := -fPIC -Wall -Wextra -Wpedantic
RELDIR := .
LD := ${CC}
-include node_modules/@tty-pt/mk/include.mk
-include ../mk/include.mk
all: lib/libndc.so bin/ndc
lib/libndc.so: src/io.o src/ws.o lib
${LD} -o $@ src/io.o src/ws.o -fPIC -shared ${LDFLAGS}
bin/ndc: src/ndc.o bin
${LD} src/ndc.o -o $@ -lndc ${LDFLAGS}
lib bin:
mkdir $@ 2>/dev/null || true
.c.o:
${CC} -c -o ${@:%=${RELDIR}/%} ${CFLAGS} ${<:%=${RELDIR}/%}
interface := ndc ws
interface := ${interface:%=include/%.h}
src/io.o: ${interface}
src/ws.o: include/ws.h
libndc.o: ${interface}
ndc.o: ${interface}
install: lib/libndc.so
install -d ${DESTDIR}${PREFIX}/lib/pkgconfig
install -m 644 lib/libndc.so ${DESTDIR}${PREFIX}/lib
install -m 644 ndc.pc $(DESTDIR)${PREFIX}/lib/pkgconfig
install -d ${DESTDIR}${PREFIX}/include
install -m 644 include/ndc.h $(DESTDIR)${PREFIX}/include
install -d ${DESTDIR}${PREFIX}/bin
install -m 644 bin/ndc $(DESTDIR)${PREFIX}/bin
uninstall:
rm -f $(DESTDIR)${PREFIX}/lib/libndc.so \
$(DESTDIR)${PREFIX}/lib/pkgconfig/ndc.pc \
$(DESTDIR)${PREFIX}/include/ndc.h
clean:
rm src/*.o bin/ndc lib/libndc.so
.PHONY: all install uninstall