| 1 | # Makefile for assembler sources |
| 2 | |
| 3 | SRC_DIR = src |
| 4 | OBJ_DIR = build |
| 5 | LIB_DIR = lib |
| 6 | |
| 7 | MODULES = binal cleanup cleanup2 |
| 8 | |
| 9 | FRTN_COMMAND = frtn |
| 10 | ASM_COMMAND = asm |
| 11 | |
| 12 | SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm) |
| 13 | OBJ_FILES = $(SRC_FILES:.asm=.obj) |
| 14 | OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file)) |
| 15 | |
| 16 | ########################################## |
| 17 | |
| 18 | obj : $(OBJ_FILES_FULL) |
| 19 | |
| 20 | $(OBJ_FILES_FULL):$(OBJ_DIR)/%.obj:$(SRC_DIR)/%.asm |
| 21 | @echo Building: $(subst $$,\$$,$@) |
| 22 | @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi |
| 23 | @ rm -f $@ |
| 24 | @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) |
| 25 | # @ cd $(OBJ_DIR) && ldc -s -l $(notdir $(subst $$,\$$,$@)) |
| 26 | |
| 27 | clean: |
| 28 | @echo Cleaning up. |
| 29 | @rm -rf $(OBJ_DIR) $(LIB_DIR) *.lst *.go |
| 30 | |
| 31 | .PHONY: clean all org obj libs |
| 32 | |