global: Makefiles now support parallel compiles.
[h316.git] / programs / mandelbrot / Makefile
CommitLineData
047c458f 1# Universal Makefile for X16 code
c08e22bb 2
047c458f 3ASM_CMD=$(H316)/bin/asm
4FRTN_CMD=$(H316)/bin/frtn
5SRC_DIR=src
6BUILD_DIR=build
0b8fa875 7
047c458f 8PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(basename $(n))))
c08e22bb 9
047c458f 10#$(PROGRAMS):%:/$(BUILD_DIR)/%.f
0b8fa875 11
047c458f 12default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj)
0b8fa875 13
047c458f 14$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f
4ad624fd 15 @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
d6a1a234 16 @$(FRTN_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
c08e22bb 17
047c458f 18$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm
4ad624fd 19 @if [ ! -d $(BUILD_DIR) ]; then mkdir -p $(BUILD_DIR); fi
d6a1a234 20 @$(ASM_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR)
c08e22bb 21
047c458f 22clean :
23 @rm -rf *.obj $(BUILD_DIR)/ *.lst *.go *.par
c08e22bb 24
047c458f 25.PHONY: default clean