#!/usr/bin/env bash 

set -e

refine_nasm_options=""
while [ -n "$*" ]; do
    case "$1" in
    -f )
        shift
        refine_nasm_options+=" -f $1"
        shift
        ;;
    -c | --param* | -m* | -pipe | -thread )
        # unknown options under nasm & yasm
        shift
        ;;
    -g* )
        # ignore debug format
        shift
        ;;
    -MD )
        # before CMake v3.18, its ninja build rule always passes `-MD $DEP_FILE``
        # to ASM_COMPILER. both nasm and GNU assembler accepts this option, but
        # somehow the ninja generator fails to pass the <DEPFILE> argument. so
        # just drop it.
        shift
        ;;
    -W* )
        # Warning/error option
        shift
        ;;
    -f* )
        shift
        ;;
    -I | -isystem )
        shift
        refine_nasm_options+=" -i $1"
        shift
        ;;
    -O* )
        # ignore C optimisations
        shift
        ;;
    * )
        # Keep other options
        refine_nasm_options+=" $1"
        shift
        ;;
    esac
done

nasm $refine_nasm_options

true
