This is the second chapter in the “Hello, world!” for OpenWrt article series. At this point, you should've already accomplished the following tasks:
If you missed one or more of these steps, review the previous chapters.
A good practice in software development is to keep things separate from each other, and only provide enough connecting points for different pieces of a software composition to operate together. This approach is known as a separation of concerns.
In order to maintain this approach, we place the source code of our application into a directory of its own, separate from the OpenWrt build system. We name the source code directory after our application, 'helloworld' and create it under the home directory of the user build user:
cd /home/buildbot mkdir helloworld cd helloworld
Now, we create the sole source code file for our application, called 'helloworld.c':
Using your favorite text editor, paste the following content into the newly-created file:
After creating the source code files for our Next, we ensure our application can be built and executed by the native compilation tools on the development environment:
gcc -c -o helloworld.o helloworld.c -Wall gcc -o helloworld helloworld.o
The first command compiles the 'helloworld.c' source file into an object file, and the second command links the object file with the necessary startup files and default libraries to produce an executable called 'helloworld'. To execute the application, issue the following command:
You should be greeted by the text “Hello, world!”. If this did not happen, or if you encounter errors when running the above compilation and linking commands, ensure the content of your source file is correct and that you have the native compilation tools installed for your environment.
In this chapter, we created a simple executable application using the native compilation tools available in the development environment. We also skimmed on one of the basic principles of software development; the separation of concerns.