#*
# Assemble YASM source files into executable programs.
#**

# Possible assemblers on Linux: fasm nasm as86 (from bin86)

ASM_SRC = $(wildcard *.asm)
ASM_OBJ = ${ASM_SRC:%.asm=%.o}
ASM_LST = ${ASM_SRC:%.asm=%.lst}
ASM_EXE = ${ASM_SRC:%.asm=%.exe}
ASM_COM = ${ASM_SRC:%.asm=%.com}

ASSEMBLER = nasm

LINKER = ld

.PHONY: all run clean distclean cleanAll mostlyclean

all: ${ASM_COM}

#------------------------------------------------------------------------------

ARGS =

run: ${ASM_COM}
	for PROG in ${ASM_COM}; do \
		dosemu -dumb ./$${PROG} "${ARGS}"; \
		echo ""; \
	done

%.com: %.asm
	${ASSEMBLER} -f bin -l $*.lst -o $@ $<

#------------------------------------------------------------------------------

clean:
	rm -f ${ASM_OBJ}

mostlyclean: clean
	rm -f ${ASM_LST}

distclean cleanAll: mostlyclean
	rm -f ${ASM_EXE}
	rm -f ${ASM_COM}
