main files

This commit is contained in:
2025-09-10 23:17:41 +02:00
parent 036c5be9bf
commit 8b1be25df3
6 changed files with 71 additions and 10 deletions
-1
View File
@@ -19,6 +19,5 @@ config.status
forge forge
*.tar.gz *.tar.gz
configure configure
src/forge*
*.pkg.tar.zst *.pkg.tar.zst
pkg pkg
+1
View File
@@ -1,4 +1,5 @@
AUTOMAKE_OPTIONS = foreign subdir-objects -Wall AUTOMAKE_OPTIONS = foreign subdir-objects -Wall
bin_PROGRAMS = forge bin_PROGRAMS = forge
forge_SOURCES = src/main.c src/args.c src/forge.c forge_SOURCES = src/main.c src/args.c src/forge.c
forge_CFLAGS = -Ofast -march=native -flto -funroll-loops -fprefetch-loop-arrays -fno-exceptions -fopenmp
include_HEADERS = src/main.h src/args.h src/config.h src/types.h src/forge.h include_HEADERS = src/main.h src/args.h src/config.h src/types.h src/forge.h
+1 -1
View File
@@ -9,7 +9,7 @@ clean:
build: build:
@mkdir -p build @mkdir -p build
gcc -Wall src/*.c src/*.h -lglfw -lGL -lm -o build/$(TARGET) gcc -Wall -Wextra src/*.c src/*.h -lglfw -lGL -lm -o build/$(TARGET)
.PHONY: install .PHONY: install
install: build install: build
+11 -8
View File
@@ -15,7 +15,7 @@ TODO
See [Releases](https://github.com/klemek/forge/releases) See [Releases](https://github.com/klemek/forge/releases)
```sh ```shell
tar xvzf forge-x.y.z.tar.gz tar xvzf forge-x.y.z.tar.gz
cd forge-x.y.z cd forge-x.y.z
./configure ./configure
@@ -25,7 +25,7 @@ make install
### From repository (PKGBUILD) ### From repository (PKGBUILD)
```sh ```shell
git clone https://github.com/klemek/forge git clone https://github.com/klemek/forge
cd forge cd forge
forge -si forge -si
@@ -34,7 +34,7 @@ forge -si
### From repository (dev version) ### From repository (dev version)
```sh ```shell
git clone https://github.com/klemek/forge git clone https://github.com/klemek/forge
cd forge cd forge
aclocal aclocal
@@ -59,21 +59,24 @@ options:
## Release guide ## Release guide
```bash ```shell
# get latest version
git pull origin master
# update configure.ac with new version # update configure.ac with new version
$EDITOR configure.ac $EDITOR configure.ac
# make full build # make full build
make -f Makefile.dev release make -f Makefile.dev release
# update PKGBUILD with new version and sha256 sum
sha256sum forge-x.y.z.tar.gz
$EDITOR PKGBUILD
# push to repo # push to repo
git commit -am "forge vX.Y.Z" git commit -am "forge vX.Y.Z"
git tag vX.Y.Z git tag vX.Y.Z
git push origin master --tags git push origin master --tags
# create release from tag on github # create release from tag on github
# update PKGBUILD with new sha256 sum # attach .tar.gz to the github release
sha256sum forge-x.y.z.tar.gz
make -f Makefile.dev release-arch make -f Makefile.dev release-arch
git commit -am "update arch sha256" # attach .pkg.tar.zst to the github release
# add .pkg.tar.zst on the release
``` ```
## Roadmap ## Roadmap
+50
View File
@@ -0,0 +1,50 @@
#include "config.h"
#include "types.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <GLFW/glfw3.h>
void error_callback(int error, const char *description) {
fprintf(stderr, "Error: %s\n", description);
}
static void key_callback(GLFWwindow *window, int key, int scancode, int action,
int mods) {
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, GLFW_TRUE);
}
void forge_run(parameters params) {
GLFWwindow *window;
glfwSetErrorCallback(error_callback);
fprintf(stdout, "[GLFW] %s\n", glfwGetVersionString());
if (!glfwInit()) {
fprintf(stderr, "[GLFW] Initialization failed\n");
exit(1);
}
window = glfwCreateWindow(640, 480, PACKAGE " " VERSION, NULL, NULL);
if (!window) {
fprintf(stderr, "[GLFW] Window or context creation failed\n");
glfwTerminate();
exit(1);
}
glfwMakeContextCurrent(window);
glfwSetKeyCallback(window, key_callback);
glfwSwapInterval(1);
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
}
+8
View File
@@ -0,0 +1,8 @@
#include "types.h"
#ifndef FORGE_H
#define FORGE_H
void forge_run(parameters params);
#endif