# Universal Makefile for X16 code ASM_CMD=$(H316)/bin/asm FRTN_CMD=$(H316)/bin/frtn SRC_DIR=src BUILD_DIR=build PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(basename $(n)))) default: all all: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj) $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi @$(FRTN_CMD) "$(subst $$,\$$,$^)" &&\ mv "$(notdir $(basename $(subst $$,\$$,$^))).obj" $(BUILD_DIR) $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi @$(ASM_CMD) "$(subst $$,\$$,$^)" &&\ mv "$(notdir $(basename "\"$(subst $$,\$$,$^)\"")).obj" $(BUILD_DIR) clean : @rm -rf *.obj $(BUILD_DIR)/ *.lst *.go *.par .PHONY: default clean all