Add Jacobi and Gauss-Seidel. Add target and infrastructure to generate Videos

This commit is contained in:
2024-11-06 10:37:55 +01:00
parent 9db5dd9cb4
commit 39957ba3a1
6 changed files with 174 additions and 20 deletions

View File

@@ -10,6 +10,7 @@ TARGET = exe-$(TAG)
BUILD_DIR = ./$(TAG)
SRC_DIR = ./src
MAKE_DIR = ./
VIDEO_DIR = ./video
Q ?= @
#DO NOT EDIT BELOW
@@ -22,7 +23,7 @@ ASM = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.s,$(wildcard $(SRC_DIR)/*.
OBJ = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/*.c))
CPPFLAGS := $(CPPFLAGS) $(DEFINES) $(OPTIONS) $(INCLUDES)
${TARGET}: $(BUILD_DIR) $(OBJ)
${TARGET}: $(BUILD_DIR) $(VIDEO_DIR) $(OBJ)
$(info ===> LINKING $(TARGET))
$(Q)${LINKER} ${LFLAGS} -o $(TARGET) $(OBJ) $(LIBS)
@@ -35,17 +36,22 @@ $(BUILD_DIR)/%.s: %.c
$(info ===> GENERATE ASM $@)
$(CC) -S $(CPPFLAGS) $(CFLAGS) $< -o $@
.PHONY: clean distclean tags info asm
.PHONY: clean distclean mkvid tags info asm
clean:
$(info ===> CLEAN)
@rm -rf $(BUILD_DIR)
@rm -rf $(VIDEO_DIR)
@rm -f tags
distclean: clean
$(info ===> DIST CLEAN)
@rm -f $(TARGET)
mkvid:
gnuplot animate.plot
ffmpeg -framerate 10 -i ./video/%04d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p out.mp4
info:
$(info $(CFLAGS))
$(Q)$(CC) $(VERSION)
@@ -59,4 +65,7 @@ tags:
$(BUILD_DIR):
@mkdir $(BUILD_DIR)
$(VIDEO_DIR):
@mkdir $(VIDEO_DIR)
-include $(OBJ:.o=.d)