#!/bin/bash case "$1" in *.asm) nasm -f elf64 "$1" && ld "${1%.*}".o -o "${1%.*}"; rm "${1%.*}".o ;; *.c) gcc "$1" -o "${1%.*}" ;; *.go) go build "$1" ;; Makefile) make ;; esac