From 29b36eebd46d52d3b229993c471fcaa270d0c257 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 19 Mar 2021 02:56:49 +0000 Subject: configure: create, to generate config.h This will allow programs to refer to BINDIR to find other ucspi-vsock programs, which allows programs to be implemented in terms of each other. Message-Id: <20210319025648.17925-4-hi@alyssa.is> Reviewed-by: Cole Helbling --- .gitignore | 5 ++++- Makefile | 33 --------------------------------- Makefile.in | 41 +++++++++++++++++++++++++++++++++++++++++ configure | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 34 deletions(-) delete mode 100644 Makefile create mode 100644 Makefile.in create mode 100755 configure diff --git a/.gitignore b/.gitignore index a63eff4..89a0408 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # SPDX-License-Identifier: GPL-2.0-or-later -# SPDX-FileCopyrightText: 2020 Alyssa Ross +# SPDX-FileCopyrightText: 2020-2021 Alyssa Ross *.o +*.tmp vsockclient vsockserver +config.h +Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index e05e32f..0000000 --- a/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# SPDX-FileCopyrightText: 2020-2021 Alyssa Ross - -.POSIX: - -CFLAGS = -Wall -Wextra -O -g -INSTALL = install -INSTALL_PROGRAM = $(INSTALL) - -prefix = /usr/local -bindir = $(prefix)/bin - -PROGRAMS = vsockclient vsockserver - -all: $(PROGRAMS) -.PHONY: all - -install: $(PROGRAMS) - mkdir -p $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir) -.PHONY: install - -vsockclient: vsockclient.o env.o log.o num.o vsock.o - $(CC) $(LDFLAGS) -o $@ $@.o env.o log.o num.o vsock.o $(LDLIBS) -vsockserver: vsockserver.o env.o log.o num.o vsock.o - $(CC) $(LDFLAGS) -o $@ $@.o env.o log.o num.o vsock.o $(LDLIBS) - -vsockclient.o: env.h log.h num.h vsock.h -vsockserver.o: env.h log.h num.h vsock.h - -clean: - rm -f $(PROGRAMS) *.o -.PHONY: clean diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..3260e85 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# SPDX-FileCopyrightText: 2020-2021 Alyssa Ross + +.POSIX: + +CFLAGS = -Wall -Wextra -O -g +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) + +prefix = @PREFIX@ +bindir = @BINDIR@ + +PROGRAMS = vsockclient vsockserver + +all: $(PROGRAMS) +.PHONY: all + +install: $(PROGRAMS) + mkdir -p $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir) +.PHONY: install + +config.h: configure + @echo "Error: config.h is outdated. Please re-run ./configure." >&2 + @exit 1 + +vsockclient: vsockclient.o env.o log.o num.o vsock.o + $(CC) $(LDFLAGS) -o $@ $@.o env.o log.o num.o vsock.o $(LDLIBS) +vsockserver: vsockserver.o env.o log.o num.o vsock.o + $(CC) $(LDFLAGS) -o $@ $@.o env.o log.o num.o vsock.o $(LDLIBS) + +vsockclient.o: env.h log.h num.h vsock.h +vsockserver.o: env.h log.h num.h vsock.h + +clean: + rm -f $(PROGRAMS) *.o +.PHONY: clean + +distclean: clean + rm -f config.h Makefile *.tmp +.PHONY: distclean diff --git a/configure b/configure new file mode 100755 index 0000000..38c926c --- /dev/null +++ b/configure @@ -0,0 +1,49 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# SPDX-FileCopyrightText: 2021 Alyssa Ross + +set -ue + +prefix=/usr/local +bindir= + +unrecognized= + +for arg; do + if [ "$arg" = "--help" ]; then + cat < config.h.tmp +echo "#define PREFIX \"$prefix\"" >> config.h.tmp +echo "#define BINDIR \"$bindir\"" >> config.h.tmp +mv config.h.tmp config.h + +sed -e "s#@PREFIX@#$prefix#g" -e "s#@BINDIR@#$bindir#g" Makefile.in > Makefile.tmp +mv Makefile.tmp Makefile + +if [ -n "$unrecognized" ]; then + echo "Warning: unrecognized options:$unrecognized" >&2 +fi -- cgit 1.4.1