Makefile magic

This commit is contained in:
styan 2020-04-30 01:28:41 +00:00
parent 73abfcc07d
commit 44790d35ba
2 changed files with 23 additions and 15 deletions

View File

@ -1,11 +0,0 @@
CFLAGS+=`pkg-config --cflags libbsd`
LDFLAGS+=`pkg-config --cflags libbsd`
TARGETS=all\
default\
install\
libgeminiclient.a\
install-gemini-cat\
linstall-gemini-cat\
clean
${TARGETS}:
make -f Makefile $@

View File

@ -1,9 +1,28 @@
.POSIX:
default: all
MAGIC= if 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; \
if pkg-config --exists libbsd; then \
export CFLAGS="$$CFLAGS `pkg-config --cflags libbsd`"; \
export LDFLAGS="$$LDFLAGS `pkg-config --libs libbsd`"; \
fi
default: magic-libgeminiclient.a
all: libgeminiclient.a gemini-cat
libgeminiclient.a: libgeminiclient.c libgeminiclient.h
magic: magic-libgeminiclient.a magic-gemini-cat
magic-libgeminiclient.a:
@${MAGIC}; ${MAKE} ${MAKEFLAGS} libgeminiclient.a
magic-gemini-cat:
@${MAGIC}; ${MAKE} ${MAKEFLAGS} gemini-cat
libgeminiclient.a: libgeminiclient.o
${AR} -cr $@ libgeminiclient.o
libgeminiclient.o: libgeminiclient.c libgeminiclient.h
${CC} -c ${CFLAGS} -o $@ libgeminiclient.c
gemini-cat: gemini-cat.c libgeminiclient.a
${CC} -I. ${CFLAGS} ${LFLAGS} -ltls -o $@ gemini-cat.c libgeminiclient.a
${CC} -I. ${CFLAGS} ${LDFLAGS} -o $@ gemini-cat.c \
libgeminiclient.a
install: libgeminiclient.a
install -m444 libgeminiclient.a \
"$$DESTDIR/$${PREFIX:-/usr/local}/lib/"
@ -16,4 +35,4 @@ install-gemini-cat: gemini-cat
linstall-gemini-cat: gemini-cat
install -m755 gemini-cat "$$HOME/bin/"
clean:
rm -f libgeminiclient.a gemini-cat
rm -f *.[ao] gemini-cat