Removed vpunch from build
[h316.git] / lib / fortran / Makefile
CommitLineData
9f86bf48 1# Skript, das die neue Bibliothek zusammenbauen soll (01.01.06)
3e05f6c9 2
9f86bf48 3export SRC_DIR = src
4export OBJ_DIR = obj
5export LIB_DIR = lib
6export RECIPE_DIR = recipe
7export RECIPE_SUFFIX=.recipe
8export ENDBLOCK=$(H316)/snippets/endseq
9export ORG_LIBDIR=original
10export ORG_OBJDIR=org
437b3ba8 11
9f86bf48 12export MAKE
13
557399df 14MODULES = uc f$$w4 f$$w1 pchar fpatch lpchar
15#vpunch font
3e05f6c9 16
437b3ba8 17FRTN_COMMAND = frtn
18ASM_COMMAND = asm
19LDC_COMMAND = ldc
9f86bf48 20
21#############
22
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))
26
3e05f6c9 27
28##########################################
29
437b3ba8 30
9f86bf48 31RECIPES=$(foreach recipe,$(shell ls $(RECIPE_DIR) | grep -v CVS),\
32 $(RECIPE_DIR)/$(recipe))
33
34LIBS=$(foreach lib,$(basename $(notdir $(RECIPES))),$(LIB_DIR)/$(lib).lib)
35
36ORG_OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\
37 grep $(ORG_OBJDIR)|sort -u)
38
39OBJECTS=$(shell cat $(RECIPES)|egrep -v '^[[:space:]]*(\#.*)*$$'|\
40 grep $(OBJ_DIR)|sort -u)
41
42OBJECT_FILES=$(foreach obj, $(MODULES), $(OBJ_DIR)/$(obj).obj)
43SOURCE_FILES=$(foreach obj, $(MODULES), $(SRC_DIR)/$(obj).asm)
38627116 44
9f86bf48 45#************
3e05f6c9 46
9f86bf48 47all: $(LIBS)
48
49$(ORG_OBJECTS): $(ORG_LIBDIR)/*
50 ./buildlib.sh makeorg
51
52$(OBJECTS): $(OBJECT_FILES)
53
54$(OBJECT_FILES) : $(OBJ_DIR)/%.obj : $(SRC_DIR)/%.asm
55 @echo Building: $(subst $$,\$$,$@)
437b3ba8 56 @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
57 @ rm -f $@
58 @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^)
38627116 59 @ cd $(OBJ_DIR) && ldc -s -l $(notdir $(subst $$,\$$,$@))
9f86bf48 60
61$(LIBS):$(LIB_DIR)/%.lib: $(RECIPE_DIR)/%$(RECIPE_SUFFIX) $(ORG_OBJECTS) $(OBJECTS)
aecb46bd 62 ./buildlib.sh genlib $(RECIPE_DIR)/$(basename $(notdir $@))$(RECIPE_SUFFIX)
9f86bf48 63
64
3e05f6c9 65
66clean:
c3e0f81a 67 @echo Cleaning up.
e8baeca7 68 @rm -rf $(OBJ_DIR) $(LIB_DIR) src/font.asm *.lst *.go
aecb46bd 69 @./buildlib.sh clean
437b3ba8 70
71vpunch-help/use: vpunch-help/use.c vpunch-help/font_8x16.c
72 $(MAKE) -C vpunch-help use
73
325547c4 74src/font.asm: vpunch-help/use
9f86bf48 75 vpunch-help/use > $@
76
77.PHONY: clean all
437b3ba8 78
437b3ba8 79