*** empty log message ***
authorhachti <hachti>
Mon, 1 May 2006 19:37:43 +0000 (19:37 +0000)
committerhachti <hachti>
Mon, 1 May 2006 19:37:43 +0000 (19:37 +0000)
lib/fortran/Makefile
lib/fortran/buildlib.sh
lib/fortran/recipe/flib3.recipe
systems/build_super3.sh

index c4c0d03c8033678cf0ffe1e5a5da5c38fda09b67..068b9c4d7689a212a8d55265b59b40d7b825e111 100644 (file)
@@ -1,47 +1,78 @@
-# Skript, das die neue Bibliothek zusammenbauen soll (30.05.05)
+# Skript, das die neue Bibliothek zusammenbauen soll (01.01.06)
 
-SRC_DIR = src
-OBJ_DIR = obj
-LIB_DIR = lib
+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
 
-MODULES = uc f$$w4 f$$w1 pchar fpatch lpchar vpunch
+export MAKE
+
+MODULES = uc f$$w4 f$$w1 pchar fpatch lpchar vpunch font
 
 FRTN_COMMAND = frtn
 ASM_COMMAND  = asm
 LDC_COMMAND  = ldc
-SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm)
-OBJ_FILES = $(SRC_FILES:.asm=.obj)
-OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file))
-#OWN_3=$(shell echo $(subst $$,\$$,$(OWN)) | dd conv=ucase 2>/dev/null) 
+
+#############
+
+#SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm)
+#OBJ_FILES = $(SRC_FILES:.asm=.obj)
+#OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file))
+
 
 ##########################################
 
-libs : $(OBJ_FILES_FULL)
-       buildlib.sh
 
-obj : $(OBJ_FILES_FULL)
+RECIPES=$(foreach recipe,$(shell ls $(RECIPE_DIR) | grep -v CVS),\
+        $(RECIPE_DIR)/$(recipe))
+
+LIBS=$(foreach lib,$(basename $(notdir $(RECIPES))),$(LIB_DIR)/$(lib).lib)
+
+ORG_OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\
+                   grep $(ORG_OBJDIR)|sort -u) 
+
+OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\
+                   grep $(OBJ_DIR)|sort -u)
+
+OBJECT_FILES=$(foreach obj, $(MODULES), $(OBJ_DIR)/$(obj).obj)
+SOURCE_FILES=$(foreach obj, $(MODULES), $(SRC_DIR)/$(obj).asm)
 
+#************
 
-$(OBJ_FILES_FULL):$(OBJ_DIR)/%.obj:$(SRC_DIR)/%.asm
-       @echo Building: $(subst $$,\$$,$@)
+all: $(LIBS)
+
+$(ORG_OBJECTS): $(ORG_LIBDIR)/*
+       ./buildlib.sh makeorg
+
+$(OBJECTS): $(OBJECT_FILES)
+
+$(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 $$,\$$,$^)
        @ cd $(OBJ_DIR) && ldc -s -l $(notdir $(subst $$,\$$,$@))
-       
+
+$(LIBS):$(LIB_DIR)/%.lib: $(RECIPE_DIR)/%$(RECIPE_SUFFIX) $(ORG_OBJECTS) $(OBJECTS) 
+       buildlib.sh genlib $(RECIPE_DIR)/$(basename $(notdir $@))$(RECIPE_SUFFIX)
+
+
 
 clean:
        @echo Cleaning up.
        @rm -rf $(OBJ_DIR) $(LIB_DIR)  *.lst *.go 
-       @rm -f vpunch.asm $(SRC_DIR)/font.asm
-       @$(MAKE) -s  -C vpunch-help clean
        @buildlib.sh clean
 
 vpunch-help/use: vpunch-help/use.c vpunch-help/font_8x16.c
        $(MAKE) -C vpunch-help use
 
 src/font.asm: vpunch-help/use
-       vpunch-help/use > src/font.asm
+       vpunch-help/use > $@
+
+.PHONY: clean all
 
-.PHONY: clean all org obj libs
 
index 5362d52ab6ea6c4224809a1214b77d2c31ef06d9..5362e8779bc001d22ac0094cb5d55723a8d5c52e 100755 (executable)
@@ -6,9 +6,6 @@ if [ ! "$MAKE" ]; then
 fi
 
 
-
-
-
 # The suffix for library files (in and out)
 LIB_SUFFIX=.lib
 #######################################################################
@@ -46,7 +43,7 @@ genlib(){
        rm -f $lib
        for item in `cat $recipe| egrep -v '^[[:space:]]*(#.*)*$'`; do
            echo "appending $item."
-           cat $item >> $lib || (echo "Error! could not find:$item")
+           cat `echo $item| egrep -o '[^[:space:]].*[^[:space:]]'` >> $lib || (echo "Error! could not find:$item")
         done   
            cat $ENDBLOCK >> $lib
     #done
index c4953ecde6d4cef15cc02fdce33d9e7d4e02d780..40a2c884c3e42b8b1a9da106e21aa494708b0158 100644 (file)
@@ -23,4 +23,4 @@ org/F$IO
 org/F$HT
     obj/PCHAR
     obj/LPCHAR
-    obj/UCHAR
\ No newline at end of file
+    obj/UCHAR
index 88e51e8ab5d67454121fdd5ee4d05dc4d910f478..a5bf6f05beeb20a07c38f13f1dacb3fae130859d 100755 (executable)
@@ -66,4 +66,3 @@ q
 EOF
 h316 $DO_FILE
 rm -f $DO_FILE
-echo dd $FF