8fac3a64 |
1 | # Universal Makefile for X16 code |
2 | |
3 | |
4 | ASM_CMD=$(H316)/bin/asm |
5 | FRTN_CMD=$(H316)/bin/frtn |
6 | SRC_DIR=src |
7 | BUILD_DIR=build |
8 | |
9 | PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(basename $(n)))) |
10 | |
11 | default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj) |
12 | |
13 | $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f |
14 | @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi |
15 | $(FRTN_CMD) $< $(LISTING) && mv $(notdir $(basename $<)).obj $(BUILD_DIR) |
16 | |
17 | $(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm |
18 | @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi |
19 | $(ASM_CMD) $< $(LISTING)&& mv $(notdir $(basename $<)).obj $(BUILD_DIR) |
20 | |
21 | clean : |
8eb88117 |
22 | @rm -rf *.obj $(BUILD_DIR)/ *.lst *.go *.par $(SRC_DIR)/*~ |
8fac3a64 |
23 | |
24 | .PHONY: default clean |