summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2024-10-23 17:56:35 +0200
committerxengineering <me@xengineering.eu>2024-10-23 17:56:35 +0200
commit649684b3b735f50ea33241286d231f977b8d0a89 (patch)
treec7d04f22a287b1f8a2ebc5de3110e3034cfe541a
parent2195cfce131ee599c71d0c426a7eea70ed52345f (diff)
downloadceres-649684b3b735f50ea33241286d231f977b8d0a89.tar
ceres-649684b3b735f50ea33241286d231f977b8d0a89.tar.zst
ceres-649684b3b735f50ea33241286d231f977b8d0a89.zip
Remove Makefile and update README.md accordingly
This drops the build dependency GNU Make. The resulting build steps are typical for Go repositories and thus more familiar for Go developers.
-rw-r--r--Makefile20
-rw-r--r--README.md43
2 files changed, 20 insertions, 43 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 0d8853e..0000000
--- a/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-TARGET_EXEC := ceres
-BUILD_DIR := ./build
-MODULE_NAME := xengineering.eu/ceres
-
-all: $(BUILD_DIR)/$(TARGET_EXEC)
-
-$(BUILD_DIR)/$(TARGET_EXEC):
- go build -o $@ $(MODULE_NAME)
-
-.PHONY: debug
-debug:
- go run -race $(MODULE_NAME) -e
-
-.PHONY: tests
-tests:
- go test $(MODULE_NAME)/...
-
-.PHONY: clean
-clean:
- rm -rf $(BUILD_DIR)
diff --git a/README.md b/README.md
index 270e649..378e62a 100644
--- a/README.md
+++ b/README.md
@@ -1,42 +1,40 @@
-# Ceres - Recipe server for local networks
+# Ceres
+
+Ceres is a recipe server for local networks.
## Usage
-The `ceres` executable can be called without any arguments to start the server
-with the default configuration `default_config.json`:
+The Ceres source code can be downloaded with [Git][2].
```
-./ceres
+git clone https://cgit.xengineering.eu/ceres
+cd ceres
+git submodule update --init
```
-A custom configuration can be passed with the `-c` flag:
+Only the [Go][4] tool is required to build ceres.
```
-./ceres -c path/to/custom_config.json
+go build
```
-Further command line options are described in the help page which can be
-retrieved by calling `./ceres -h`.
-
-## Build instructions
-
-The following build dependencies are required:
+The resulting `ceres` executable can be run with the embedded default
+configuration. It produces a `storage` folder containing the SQLite3 database.
+The storage directory is set in the configuration file. See
+`default_config.json` for a reference.
-- [Git][2]
-- [Go][4]
-- [GNU Make][3]
+```
+./ceres
+```
-On Linux Ceres can be build like this:
+For development it is recommended to build and run it without producing an
+executable, an activated race detector and injected examples.
```
-git clone https://cgit.xengineering.eu/ceres
-cd ceres
-git submodule update --init
-make
+go run --race ./... --examples
```
-The `ceres` executable is placed in the `build` folder which can be removed by
-calling `make clean`.
+The help page (`./ceres --help`) contains further details.
## API definition for Semantic Versioning
@@ -52,5 +50,4 @@ As soon as version 1.0.0 is reached these aspects are stable.
[1]: https://semver.org
[2]: https://git-scm.com
-[3]: https://www.gnu.org/software/make
[4]: https://go.dev