Ver código fonte

Add infrastructure for simple C-based tools

master
JustAnotherArchivist 2 anos atrás
pai
commit
11485d9404
3 arquivos alterados com 15 adições e 0 exclusões
  1. +1
    -0
      .gitignore
  2. +10
    -0
      .make-and-exec
  3. +4
    -0
      .make-and-exec-Makefile

+ 1
- 0
.gitignore Ver arquivo

@@ -0,0 +1 @@
.make-and-exec-binaries

+ 10
- 0
.make-and-exec Ver arquivo

@@ -0,0 +1,10 @@
#!/bin/bash
# Usage: create a file foo.c, make foo a symlink to this script
# When foo is executed, this script silently compiles foo.c into .make-and-exec-binaries/foo and execs that with the arguments provided.
# The compilation goes through make, so later invocations directly exec the binary with little delay.
# To customise the compilation, you can set a CFLAGS env var before running foo.
set -e
name="$(basename "$0")"
cd "$(dirname "$0")"
make --file .make-and-exec-Makefile --silent ".make-and-exec-binaries/${name}"
exec "./.make-and-exec-binaries/${name}" "$@"

+ 4
- 0
.make-and-exec-Makefile Ver arquivo

@@ -0,0 +1,4 @@
.make-and-exec-binaries/%: %.c .%-test
mkdir -p .make-and-exec-binaries
$(CC) -O3 -o $@ $< $(CFLAGS)
./.$(notdir $(@))-test

Carregando…
Cancelar
Salvar