Explorar el Código

Add infrastructure for simple C-based tools

master
JustAnotherArchivist hace 2 años
padre
commit
11485d9404
Se han modificado 3 ficheros con 15 adiciones y 0 borrados
  1. +1
    -0
      .gitignore
  2. +10
    -0
      .make-and-exec
  3. +4
    -0
      .make-and-exec-Makefile

+ 1
- 0
.gitignore Ver fichero

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

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

@@ -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 fichero

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

Cargando…
Cancelar
Guardar