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 "$@"