75 lines
2.9 KiB
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
|