From 8b8a2f75c8bd46b080bcf9e2f99ffef84effd6b2 Mon Sep 17 00:00:00 2001 From: Augustin Fabre Date: Sun, 23 Feb 2020 19:12:34 +0100 Subject: [PATCH] Generate FILETYPES with AWK It's better suited than the shell for this task. --- Makefile | 4 ++-- src/filetypes.awk | 13 +++++++++++++ src/filetypes.sh | 21 --------------------- 3 files changed, 15 insertions(+), 23 deletions(-) create mode 100644 src/filetypes.awk delete mode 100644 src/filetypes.sh diff --git a/Makefile b/Makefile index 8b1ced5..b46f517 100644 --- a/Makefile +++ b/Makefile @@ -65,8 +65,8 @@ src/$(BINARY): $(OBJECTS) .c.o: $(CC) -c $(CFLAGS) -DVERSION="\"$(VERSION)\"" -DCODENAME="\"$(CODENAME)\"" -DDEFAULT_ROOT="\"$(ROOT)\"" $< -o $@ -src/filetypes.h: src/filetypes.conf - sh src/filetypes.sh < src/filetypes.conf > $@ +src/filetypes.h: src/filetypes.conf src/filetypes.awk + awk -f src/filetypes.awk < src/filetypes.conf > $@ src/bin2c: src/bin2c.c $(CC) src/bin2c.c -o $@ diff --git a/src/filetypes.awk b/src/filetypes.awk new file mode 100644 index 0000000..14c6786 --- /dev/null +++ b/src/filetypes.awk @@ -0,0 +1,13 @@ +# Convert filetypes.conf to filetypes.h. + +BEGIN { + print "#define FILETYPES \\" +} +/^[^#]/ { + for (i = 2; i <= NF; ++i) { + printf "\t\"%s\", \"%s\", \\\n", $i, $1 + } +} +END { + printf "\tNULL, NULL\n" +} diff --git a/src/filetypes.sh b/src/filetypes.sh deleted file mode 100644 index b2ddb9c..0000000 --- a/src/filetypes.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# script for conversion of filetypes.conf into filetypes.h -# (called by Makefile before compilation) -# (2020-1-16 // HB9KNS) -cat <