Skip to content

Commit

Permalink
Simplify flags/... generation
Browse files Browse the repository at this point in the history
pkg-config can take multiple arguments and will combine all
dependencies, so no need for any loops and so many intermediate steps.
  • Loading branch information
mato committed May 15, 2019
1 parent e217c33 commit 7904eee
Showing 1 changed file with 11 additions and 17 deletions.
28 changes: 11 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,30 +100,24 @@ ocaml-freestanding.pc: ocaml-freestanding.pc.in Makeconf
-e 's!@@PKG_CONFIG_EXTRA_LIBS@@!$(PKG_CONFIG_EXTRA_LIBS)!' \
ocaml-freestanding.pc.in > $@

flags/libs.tmp:
flags/libs.tmp: flags/libs.tmp.in
opam config subst $@

flags/libs: flags/libs.tmp Makeconf
sed -e 's!@@PKG_CONFIG_EXTRA_LIBS@@!$(PKG_CONFIG_EXTRA_LIBS)!' \
flags/libs.tmp > flags/libs.tmp2
for PKG in $(PKG_CONFIG_DEPS); do \
echo " " >> flags/libs.tmp2;\
env PKG_CONFIG_PATH=$(shell opam config var prefix)/lib/pkgconfig pkg-config $$PKG --libs >> flags/libs.tmp2;\
done
echo "("`cat flags/libs.tmp2`")" > flags/libs

flags/cflags.tmp:
env PKG_CONFIG_PATH="$(shell opam config var prefix)/lib/pkgconfig" \
pkg-config $(PKG_CONFIG_DEPS) --libs >> flags/libs.tmp
echo "("`cat flags/libs.tmp`")" \
| sed -e 's!@@PKG_CONFIG_EXTRA_LIBS@@!$(PKG_CONFIG_EXTRA_LIBS)!' \
> flags/libs

flags/cflags.tmp: flags/cflags.tmp.in
opam config subst $@

flags/cflags: flags/cflags.tmp Makeconf
for PKG in $(PKG_CONFIG_DEPS); do \
echo " " >> flags/cflags.tmp;\
env PKG_CONFIG_PATH=$(shell opam config var prefix)/lib/pkgconfig pkg-config $$PKG --cflags >> flags/cflags.tmp;\
done
env PKG_CONFIG_PATH="$(shell opam config var prefix)/lib/pkgconfig" \
pkg-config $(PKG_CONFIG_DEPS) --cflags >> flags/cflags.tmp
echo "("`cat flags/cflags.tmp`")" > flags/cflags



install: all
./install.sh

Expand All @@ -132,5 +126,5 @@ uninstall:

clean:
rm -rf build config Makeconf ocaml-freestanding.pc
rm -rf flags/libs flags/libs.tmp flags/libs.tmp2
rm -rf flags/libs flags/libs.tmp
rm -rf flags/cflags flags/cflags.tmp

0 comments on commit 7904eee

Please sign in to comment.