summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rw-r--r--configure91
1 files changed, 91 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100644
index 0000000..b2f4de5
--- /dev/null
+++ b/configure
@@ -0,0 +1,91 @@
+
+set -o errexit
+
+MF="$(dirname "$0")/Makefile"
+
+
+printMakefileHdr () {
+ printf '\n'
+ if [ -n "$WINDOOF" -a "$WINDOOF" != "0" ]; then
+ printf 'CC=x86_64-w64-mingw32-gcc\n'
+ printf 'BINEXT=.exe\n'
+ else
+ printf 'CC=gcc\n'
+ printf 'BINEXT=\n'
+ fi
+ if [ -n "$NDEBUG" -a "$NDEBUG" != "0" ]; then
+ printf 'CFLAGS=-Wall -std=c99 -Werror -fmax-errors=3 -DPROJECT_VERSION=$(PROJECT_VERSION) -Os -DNDEBUG=1\n'
+ else
+ printf 'CFLAGS=-Wall -std=c99 -Werror -fmax-errors=3 -DPROJECT_VERSION=$(PROJECT_VERSION) -O0 -ggdb -g3\n'
+ fi
+ printf 'RIMRAF=rm -rf\n'
+ printf 'MKDIR_P=mkdir -p\n'
+ printf 'PROJECT_VERSION=$(git describe --tags|sed '\''s,^v,,'\'')\n'
+ printf '\n'
+ if test -z "$VERBOSE" -o "$VERBOSE" = "0"; then printf '.SILENT:\n'; fi
+ printf '\n'
+ printf 'INCDIRS=-Isrc/main/c/common\n'
+ printf '\n'
+ printf 'default: link\n'
+}
+
+
+printTarget_link () {
+ printf '\n'
+ printf 'link:\n'
+ printf 'link: build/bin/pem-codec$(BINEXT)\n'
+ printf 'link: build/bin/asn1-digger$(BINEXT)\n'
+}
+
+
+printTarget_clean () {
+ printf '\n'
+ printf '.PHONY: clean\n'
+ printf 'clean:\n'
+ printf ' $(RIMRAF) build\n'
+}
+
+
+printTarget_PemCodec () {
+ printf '\n'
+ printf 'build/bin/pem-codec$(BINEXT):\n'
+ printf 'build/bin/pem-codec$(BINEXT): src/main/c/foo/PemCodec.c\n'
+ printf ' @echo " LN $@"\n'
+ printf ' @$(MKDIR_P) build/bin\n'
+ printf ' @$(CC) -o $@ $(CFLAGS) $^ $(INCDIRS)\n'
+}
+
+
+printTarget_Asn1Digger () {
+ printf '\n'
+ printf 'build/bin/asn1-digger$(BINEXT):\n'
+ printf 'build/bin/asn1-digger$(BINEXT): src/main/c/foo/Asn1Digger.c\n'
+ printf ' @echo " LN $@"\n'
+ printf ' @$(MKDIR_P) build/bin\n'
+ printf ' @$(CC) -o $@ $(CFLAGS) $^ $(INCDIRS)\n'
+}
+
+
+printTarget_PcapOne () {
+ printf '\n'
+ printf 'build/bin/pcap-one$(BINEXT):\n'
+ printf 'build/bin/pcap-one$(BINEXT): src/main/c/PcapOne/PcapOne.c\n'
+ printf ' @echo " LN $@"\n'
+ printf ' @$(MKDIR_P) build/bin\n'
+ printf ' @$(CC) -o $@ $(CFLAGS) $^ $(INCDIRS) -Wl,-Bstatic -lpcap -Wl,-Bdynamic\n'
+}
+
+
+main () {
+ (
+ printMakefileHdr
+ printTarget_clean
+ printTarget_link
+ printTarget_PemCodec
+ printTarget_Asn1Digger
+ printTarget_PcapOne
+ ) > "${MF:?}"
+}
+
+
+main "$@"