libgeminiclient/Makefile

75 lines
2.9 KiB
Makefile

.POSIX:
MAGIC= case "`uname | tr A-Z a-z`" in\
*linux*)export CFLAGS="$$CFLAGS -D_XOPEN_SOURCE";\
export CFLAGS="$$CFLAGS -D_DEFAULT_SOURCE";\
;;\
esac
MAGICTLS=\
if command -v pkg-config >/dev/null 2>&1 &&\
pkg-config --exists libtls; then\
export CFLAGS="$$CFLAGS `pkg-config --cflags libtls`";\
export LDFLAGS="$$LDFLAGS `pkg-config --libs libtls`";\
else\
export LDFLAGS="$$LDFLAGS -ltls";\
fi
MAGICBSD=\
if command -v pkg-config >/dev/null 2>&1 &&\
pkg-config --exists libbsd; then\
export CFLAGS="$$CFLAGS -DLIBBSD";\
export CFLAGS="$$CFLAGS `pkg-config --cflags libbsd`";\
export LDFLAGS="$$LDFLAGS `pkg-config --libs libbsd`";\
fi
default: magic-libgeminiclient
all: magic
magic: magic-libgeminiclient magic-gemini-cat magic-gemini-pipe
magic-libgeminiclient:
@${MAGIC}; ${MAGICTLS}; ${MAKE} ${MAKEFLAGS} libgeminiclient.a
magic-gemini-cat:
@${MAGIC}; ${MAGICTLS}; ${MAGICBSD};\
${MAKE} ${MAKEFLAGS} gemini-cat
magic-gemini-pipe:
@${MAGIC}; ${MAGICTLS};\
${MAKE} ${MAKEFLAGS} gemini-pipe
libgeminiclient.a: libgeminiclient.o
${AR} ${ARFLAGS} $@ libgeminiclient.o
libgeminiclient.o: libgeminiclient.c libgeminiclient.h
${CC} -c ${CFLAGS} -o $@ libgeminiclient.c
gemini-cat: gemini-cat.o libgeminiclient.a
${CC} -o $@ gemini-cat.o libgeminiclient.a ${LDFLAGS}
gemini-pipe: gemini-pipe.o libgeminiclient.a
${CC} -o $@ gemini-pipe.o libgeminiclient.a ${LDFLAGS}
gemini-cat.o: gemini-cat.c libgeminiclient.h
${CC} -c -I. ${CFLAGS} -o $@ gemini-cat.c
gemini-pipe.o: gemini-pipe.c libgeminiclient.h
${CC} -c -I. ${CFLAGS} -o $@ gemini-pipe.c
install: libgeminiclient.a libgeminiclient.h libgeminiclient.3
install -m444 libgeminiclient.a \
"$$DESTDIR/$${PREFIX-usr/local}/lib/"
install -m444 libgeminiclient.h \
"$$DESTDIR/$${PREFIX-usr/local}/include/"
install -m444 libgeminiclient.3 \
"$$DESTDIR/$${PREFIX-usr/local}/$${MANDIR:-man}/man3/"
@M="$$DESTDIR/$${PREFIX-usr/local}/$${MANDIR:-man}/"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_create.3"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_init.3"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_open.3"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_reset.3"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_close.3"; \
link "$$M/man3/libgeminiclient.3" "$$M/man3/gemini_destroy.3";
install-all: install install-gemini-cat
install-gemini-cat: gemini-cat
install -m755 gemini-cat "$$DESTDIR/$${PREFIX-usr/local}/bin/"
install -m444 gemini-cat.1 \
"$$DESTDIR/$${PREFIX:-usr/local}/$${MANDIR:-man}/man1/"
install-gemini-pipe: gemini-cat
install -m755 gemini-pipe "$$DESTDIR/$${PREFIX-usr/local}/bin/"
install -m444 gemini-pipe.1 \
"$$DESTDIR/$${PREFIX:-usr/local}/$${MANDIR:-man}/man1/"
linstall-all: linstall-gemini-cat linstall-gemini-pipe
linstall-gemini-cat: gemini-cat
install -m755 gemini-cat "$$HOME/bin/"
linstall-gemini-pipe: gemini-pipe
install -m755 gemini-pipe "$$HOME/bin/"
clean:
rm -f *.[ao] gemini-cat gemini-pipe