From d7d0f8f5d00aaaee8cf880047920b6ce74776982 Mon Sep 17 00:00:00 2001
From: katherine <ageha@airen-no-jikken.icu>
Date: Wed, 11 Dec 2019 13:31:15 -0700
Subject: implement edit command

---
 configure | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100755 configure

(limited to 'configure')

diff --git a/configure b/configure
new file mode 100755
index 0000000..6a73fa4
--- /dev/null
+++ b/configure
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+# kinda brittle, this, but mostly works
+# just don't use names with whitespaces
+
+target='every'
+srcdir='src'
+sources=`find $srcdir -type f -name '*.c' | sed -e "s/$srcdir\/\(.*\).c/\1.c/"`
+objdir='build'
+objects=`find $srcdir -type f -name '*.c' | sed -e "s/$srcdir\/\(.*\).c/\1.o/"`
+
+cc='cc'
+cflags='-Wall -O2'
+cflagsdebug='-std=c99 -Wall -pedantic -ggdb3 -O0 -DDEBUG'
+prefix='/usr/local'
+
+
+
+rls_objects=`printf %s "$objects" | sed -e "s/^/$objdir\/release\//" | tr '\n' ' '`
+dbg_objects=`printf %s "$objects" | sed -e "s/^/$objdir\/debug\//" | tr '\n' ' '`
+
+dgen='gcc'
+if [ ! `2>/dev/null which gcc` ]; then
+	if [ ! `2>/dev/null which clang` ]; then
+		echo 'err: could not find a suitable ' \
+			'compiler for calculating dependencies'
+		return 1
+	fi
+	dgen='clang'
+fi
+
+if [ -f 'Makefile' ]; then
+	make clean
+fi
+
+{
+	printf %s\\n '.POSIX:'
+	printf %s\\n '.SUFFIXES:'
+	printf %s\\n ''
+	printf %s\\n "CC = $cc"
+	printf %s\\n "CFLAGS = $cflags"
+	printf %s\\n "CFLAGSDEBUG = $cflagsdebug"
+	printf %s\\n "PREFIX = $prefix"
+	printf %s\\n ''
+	printf %s\\n "all: $target"
+	printf %s\\n ''
+	printf %s\\n "debug: dbg_$target"
+	printf %s\\n ''
+	printf %s\\n "install: all"
+	printf %s\\n '	mkdir -p $(DESTDIR)$(PREFIX)/bin'
+	printf %s\\n '	mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1'
+	printf %s\\n "	cp -f $target \$(DESTDIR)\$(PREFIX)/bin"
+	printf %s\\n "	gzip < ${target}.1 > \$(DESTDIR)\$(PREFIX)/share/man/man1/${target}.1.gz"
+	printf %s\\n ''
+	printf %s\\n "$target: ${objdir}/release $rls_objects"
+	printf %s\\n "	\$(CC) \$(LDFLAGS) -o $target $rls_objects \$(LDLIBS)"
+	printf %s\\n ''
+	printf %s\\n "dbg_$target: ${objdir}/debug $dbg_objects"
+	printf %s\\n "	\$(CC) \$(LDFLAGS) -o dbg_$target $dbg_objects \$(LDLIBS)"
+	printf %s\\n ''
+	printf %s\\n "${objdir}/release:"
+	printf %s\\n "	mkdir -p ${objdir}/release"
+	printf %s\\n ''
+	printf %s\\n "${objdir}/debug:"
+	printf %s\\n "	mkdir -p ${objdir}/debug"
+	printf %s\\n ''
+	printf %s\\n 'src/version.h:'
+	printf %s\\n '	printf "%s\n%s\n\n%s%s%s\n\n%s\n" \'
+	printf %s\\n '		"#ifndef EVERY_VERSION_H" \'
+	printf %s\\n '		"#define EVERY_VERSION_H" \'
+	printf %s\\n "		\"#define VERSION \\\"$target-\" \"`git describe --always --tags`\" \"\\\"\" \\"
+	printf %s\\n '		"#endif" > src/version.h'
+	printf %s\\n ''
+	printf %s\\n "$sources" | (while IFS= read -r s; do
+		$dgen $CFLAGS -MM -MG -MT ${objdir}/release/`printf %s $s | sed -e 's/\.c$/\.o/'` "$srcdir/$s" | sed -e "s/version.h/$srcdir\/version.h/"
+		printf %s\\n "	\$(CC) -c \$(CFLAGS) -o ${objdir}/release/`printf %s $s | sed -e 's/\.c$/\.o/'` ${srcdir}/$s"
+	done)
+	printf %s\\n ''
+	printf %s\\n "$sources" | (while IFS= read -r s; do
+		$dgen $CFLAGS -MM -MG -MT ${objdir}/debug/`printf %s $s | sed -e 's/\.c$/\.o/'` "$srcdir/$s" | sed -e "s/version.h/$srcdir\/version.h/"
+		printf %s\\n "	\$(CC) -c \$(CFLAGSDEBUG) -o ${objdir}/debug/`printf %s $s | sed -e 's/\.c$/\.o/'` ${srcdir}/$s"
+	done)
+	printf %s\\n ''
+	printf %s\\n 'clean:'
+	printf %s\\n '	rm -f src/version.h'
+	printf %s\\n "	rm -f $target"
+	printf %s\\n "	rm -f dbg_$target"
+	printf %s\\n "	rm -rf $objdir"
+} > Makefile
-- 
cgit v1.2.3