Chrono Trigger is a classic jRPG game where players travel through time to prevent a global catastrophe. I played a lot of it as a kid on the SNES, but still, it's a great name for a task scheduler :)
This project includes both a static library and example programs that link to it. To build the project, follow the instructions below.
- A C++17 compatible compiler (e.g.,
g++
). make
for managing the build process.
First, clone the repository to your local machine:
git clone https://github.com/lukgni/chronotrigger.git
cd chronotrigger
The project includes two primary targets: the library (lib
) and the examples (examples
). You can build both
using the default all
target, or build them separately.
To build the entire project, including the static library and the example programs, run:
make
This will:
- Build the static library
libchronotrigger.a
located in thebuild/lib
directory. - Compile all the example programs in the
examples
directory and place the executables inbuild/bin/
.
To build only the static library, run:
make lib
This will:
- Compile all source files from the
src
directory. - Create the static library
libchronotrigger.a
in thebuild/lib/
directory. - Copy the header files from
include/
into the library's include directory (build/lib/include/chronotrigger/
).
To build only the example programs, run:
make examples
This will:
- Compile the example source files in the
examples
directory. - Link them against the static library
libchronotrigger.a
. - Place the resulting executables in the
build/bin/
directory.
To clean the build directory (remove all object files and binaries), run:
make clean
This will delete everything inside the build/
directory.
After building the project, the file structure will look like this:
chronotrigger/
├── build/ # Directory for compiled files
│ ├── bin/ # Executables for examples
│ └── lib/ # Static library and include files
├── include/ # Header files
│ └── chronotrigger/ # Library-specific headers
├── src/ # Source files for the library
├── examples/ # Example programs
├── Makefile # Makefile for building the project
└── README.md # Project documentation
If you encounter any issues or need further customization, refer to the Makefile
or the project documentation for more
details.