X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=programs%2Ftools%2FMakefile;h=17cd216d8e0636afe46bc133704e75ba15b1ca7b;hb=e7ba200143fb8ce2faf4757262994c6af63e42e9;hp=54afeb8c8743ef1e500ad4c661b1a6f1c689ab4c;hpb=61655ba39f55913eaea68404e36e3c104b30b813;p=h316.git diff --git a/programs/tools/Makefile b/programs/tools/Makefile index 54afeb8..17cd216 100644 --- a/programs/tools/Makefile +++ b/programs/tools/Makefile @@ -1,32 +1,26 @@ -# Makefile for assembler sources +# Universal Makefile for X16 code -SRC_DIR = src -OBJ_DIR = build -LIB_DIR = lib -MODULES = binal cleanup cleanup2 restart +ASM_CMD=$(H316)/bin/asm +FRTN_CMD=$(H316)/bin/frtn +SRC_DIR=src +BUILD_DIR=build -FRTN_COMMAND = frtn -ASM_COMMAND = asm +PROGRAMS=$(foreach n, $(wildcard $(SRC_DIR)/*.f $(SRC_DIR)/*.asm),$(notdir $(basename $(n)))) -SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm) -OBJ_FILES = $(SRC_FILES:.asm=.obj) -OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file)) +#$(PROGRAMS):%:/$(BUILD_DIR)/%.f -########################################## +default: $(foreach prog, $(PROGRAMS),$(BUILD_DIR)/$(prog).obj) -obj : $(OBJ_FILES_FULL) +$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.f + @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi + $(FRTN_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR) -$(OBJ_FILES_FULL):$(OBJ_DIR)/%.obj:$(SRC_DIR)/%.asm - @echo Building: $(subst $$,\$$,$@) - @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi - @ rm -f $@ - @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) -# @ cd $(OBJ_DIR) && ldc -s -l $(notdir $(subst $$,\$$,$@)) +$(BUILD_DIR)/%.obj:$(SRC_DIR)/%.asm + @if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi + $(ASM_CMD) $< && mv $(notdir $(basename $<)).obj $(BUILD_DIR) -clean: - @echo Cleaning up. - @rm -rf $(OBJ_DIR) $(LIB_DIR) *.lst *.go - -.PHONY: clean all org obj libs +clean : + @rm -rf *.obj $(BUILD_DIR)/ *.lst *.go *.par +.PHONY: default clean