#!/usr/bin/env lua do function getCFLAGSArr()return{ "-Wall", "-Werror", "-pedantic", "-std=c99", "-fmax-errors=1", "-ggdb", "-O0", }end function getLDFLAGSAarr()return{ }end end function main() local snk = io.open("Makefile", "wb") snk:write([=[ .SILENT: CC=gcc LD=gcc MKDIRS=mkdir -p RIMRAF=rm -rf PROJECT_NAME=quotprint PROJECT_VERSION=$(shell git describe --tags || date -u +0.0.0-%Y%m%d.%H%M%S) CFLAGS=]=])for _, f in ipairs(getCFLAGSArr())do snk:write(" ")snk:write(f)end snk:write([=[ \ -DPROJECT_NAME=$(PROJECT_NAME) \ -DPROJECT_VERSION=$(PROJECT_VERSION) \ DFLAGS=]=])for _, f in ipairs(getLDFLAGSAarr())do snk:write(" ")snk:write(f)end snk:write("\n"..[=[ .PHONY: default default: build/bin/quotprint .PHONY: clean clean: $(RIMRAF) build/bin/* build/obj/* build/bin/quotprint: build/bin/quotprint: build/obj/quotprint.o printf ' LN\t%s\n' '$@' $(MKDIRS) "$(shell dirname "$@")" $(LD) -o $@ $^ $(LDFLAGS) build/obj/quotprint.o: build/obj/quotprint.o: src/quotprint.c printf ' CC\t%s\n' '$@' $(MKDIRS) "$(shell dirname "$@")" $(CC) -c -o $@ $^ $(CFLAGS) ]=]) snk:close() end main()