2 # Skript, das die neue Bibliothek zusammenbauen soll (01.01.06)
7 export RECIPE_DIR
= recipe
8 export RECIPE_SUFFIX
=.recipe
9 export ENDBLOCK
=$(H316
)/snippets
/endseq
10 export ORG_LIBDIR
=original
15 MODULES
= o
$$al o
$$la o
$$pl o
$$pb i
$$pa
17 FRTN_COMMAND
= frtn_original
18 ASM_COMMAND
= asm_original
19 LDC_COMMAND
= ldc
-saq
23 #SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm)
24 #OBJ_FILES = $(SRC_FILES:.asm=.obj)
25 #OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file))
28 ##########################################
31 RECIPES
=$(foreach recipe
,$(shell ls
$(RECIPE_DIR
) | egrep
"recipe$$" | grep
-v CVS
),\
32 $(RECIPE_DIR
)/$(recipe
))
34 LIBS
=$(foreach lib
,$(basename $(notdir $(RECIPES
))),$(LIB_DIR
)/$(lib
).lib
)
36 #ORG_OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\
37 # grep $(ORG_OBJDIR)|sort -u)
39 OBJECTS
=$(shell cat
$(RECIPES
)|egrep
-v
'^[[:space:]]*(\#.*)*$$'|\
40 grep
$(OBJ_DIR
)|
sort -u
)
42 OBJECT_FILES
=$(foreach obj
, $(MODULES
), $(OBJ_DIR
)/$(obj
).obj
)
43 SOURCE_FILES
=$(foreach obj
, $(MODULES
), $(SRC_DIR
)/$(obj
).asm
)
50 $(ORG_OBJDIR
)/lastrun
: $(ORG_LIBDIR
)/*
51 @.
/buildlib.sh makeorg
53 #$(ORG_OBJECTS): $(ORG_LIBDIR)/*
55 # @echo '$(ORG_OBJECTS)'
57 $(OBJECTS
): $(OBJECT_FILES
)
59 $(OBJECT_FILES
) : $(OBJ_DIR
)/%.obj
: $(SRC_DIR
)/%.asm
60 # @echo Building: $(subst $$,\$$,$@)
61 @if
[ ! -d
$(OBJ_DIR
) ]; then mkdir
-p
$(OBJ_DIR
); fi
63 @ cd
$(OBJ_DIR
) && $(ASM_COMMAND
) ..
/$(subst $$,\
$$,$^
) $(LISTING
)
64 @ cd
$(OBJ_DIR
) && $(LDC_COMMAND
) $(notdir $(subst $$,\
$$,$@
))
66 $(LIBS
):$(LIB_DIR
)/%.lib
: $(RECIPE_DIR
)/%$(RECIPE_SUFFIX
) $(ORG_OBJDIR
)/lastrun
$(OBJECTS
)
67 @.
/buildlib.sh genlib
$(RECIPE_DIR
)/$(basename $(notdir $@
))$(RECIPE_SUFFIX
)
71 @
rm -rf
$(OBJ_DIR
) $(LIB_DIR
) *.lst
*.go
*.obj
*.par
*~
76 .PRECIOUS
: org
/lastrun