--- /dev/null
+# 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))))
+
+#$(PROGRAMS):%:/$(BUILD_DIR)/%.f
+
+default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
+
+$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
+ @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+ $(FRTN_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
+
+$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
+ @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
+ $(ASM_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
+
+clean :
+ @rm -rf *.obj $(BUILD_DIR)/ *.lst *.go *.par
+
+.PHONY: default clean