Skip to content

Commit 9ffdc96

Browse files
authored
Create README.md
1 parent 0a4d1cb commit 9ffdc96

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Electrostatic-application
2+
> An executable template utilizing the Electrostatic-Sandbox SDK
3+
4+
This is a template that builds a cross-platform native executable application for Linux variants, Android variants, and AVR MCU variants utilizing the Electrostatic-Sandbox SDK libraries.
5+
6+
## Setup the Electrostatic Environment
7+
This will install missing dependencies (CLI tools and toolchains) in `/opt/electrostatic-sandbox` that shall be utilized by the SDK build front-end and CMake to build the applications.
8+
9+
```bash
10+
chmod +rwx ./helper-scripts/setup-environment/setup-sandbox.sh && \
11+
./helper-scripts/setup-environment/setup-sandbox.sh
12+
```
13+
14+
## Build the application binary (.elf)
15+
This will build the application binary to all supported platforms; usually if a new build routine is to be built, it has to go here.
16+
17+
```bash
18+
chmod +x ./helper-scripts/project-impl/compile-all.sh && \
19+
./helper-scripts/project-impl/compile-all.sh
20+
```
21+
22+
## Introducing other building routines using Bash
23+
Introducing other building routines is far easy. However, it's mostly dependent on whether the original SDK is supporting those platforms. If not yet, you will have to build a pre-compilation header that excludes the SDK for those unsupported systems or else you will get linking errors.
24+
25+
Usually the build routines will look like that in general:
26+
https://github.com/Electrostat-Lab/Electrostatic-application/blob/0a4d1cb1635df59e5753aad2e2fad8a380d87706/helper-scripts/project-impl/compile-all.sh#L3-L14
27+
28+
They are dependent on that abstraction:
29+
https://github.com/Electrostat-Lab/Electrostatic-application/blob/0a4d1cb1635df59e5753aad2e2fad8a380d87706/helper-scripts/abstract/abstract-compile.sh#L1-L35
30+
31+
## Build front-end automata, CMake, and Toolchains

0 commit comments

Comments
 (0)