# Skript, das die neue Bibliothek zusammenbauen soll (01.01.06) export SRC_DIR = src export OBJ_DIR = obj export LIB_DIR = lib export RECIPE_DIR = recipe export RECIPE_SUFFIX=.recipe export ENDBLOCK=$(H316)/snippets/endseq export ORG_LIBDIR=original export ORG_OBJDIR=org export MAKE MODULES = font pl$$mv pl$$txt pl$$u stack matrix oct F4_MODULES=pmat graphics FRTN_COMMAND = frtn ASM_COMMAND = asm_original LDC_COMMAND = ldc -saq include font.config ############# RECIPES=$(foreach recipe,$(shell ls $(RECIPE_DIR) | egrep "recipe$$" | grep -v CVS),\ $(RECIPE_DIR)/$(recipe)) LIBS=$(foreach lib,$(basename $(notdir $(RECIPES))),$(LIB_DIR)/$(lib).lib) OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\ grep $(OBJ_DIR)| sort -u) #|sort -u OBJECT_FILES=$(foreach obj, $(MODULES), $(OBJ_DIR)/$(obj).obj) F4_OBJECT_FILES=$(foreach obj, $(F4_MODULES), $(OBJ_DIR)/$(obj).obj) #ASM_FILES=$(foreach obj, $(MODULES), $(SRC_DIR)/$(obj).asm) #FORTRAN_FILES=$(foreach obj, $(MODULES), $(SRC_DIR)/$(obj).f) #************ #tmp: # @echo $(subst $$,\$$, $(OBJECTS)) all: $(LIBS) @echo $(LIBS) @echo '$(OBJECTS)' $(ORG_OBJDIR)/lastrun: $(ORG_LIBDIR)/* @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi @./buildlib.sh makeorg $(OBJECTS): $(OBJECT_FILES) $(F4_OBJECT_FILES) # @$(MAKE) $(subst $$,\$$,$?) $(OBJECT_FILES):$(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 $$,\$$,$^) $(LISTING) @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@)) $(F4_OBJECT_FILES):$(OBJ_DIR)/%.obj : $(SRC_DIR)/%.f # @echo Building: $(subst $$,\$$,$@) @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi @ rm -f $@ @ cd $(OBJ_DIR) && $(FRTN_COMMAND) ../$(subst $$,\$$,$^) @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@)) $(LIBS):$(LIB_DIR)/%.lib: $(RECIPE_DIR)/%$(RECIPE_SUFFIX) $(OBJECT_FILES) $(OBJECTS) @./buildlib.sh genlib $(RECIPE_DIR)/$(basename $(notdir $@))$(RECIPE_SUFFIX) src/font.asm: font.config fonts/*.asm @ln -sf $(shell pwd)/fonts/font_$(FONT).asm $(shell pwd)/src/font.asm clean: @rm -rf $(OBJ_DIR) $(LIB_DIR) *.lst *.go src/font.asm *.obj *~ *.par \ $(SRC_DIR)/*~ $(RECIPE_DIR)/*~ @./buildlib.sh clean .PHONY: clean all .PRECIOUS: org/lastrun