Initial Project Setup / Eclipse Make Targets
Eclipse uses a makefile to build the software. A makefile is text file that includes dependencies and rules to ensure that changes to a file are properly dealt with by recompiling downstream files. See the following useful information:
- GNU make - GNU make manual
This documentation includes the following sections:
- Makefile Changes - description of changes to makefile for initial project setup
- Define Eclipse Make Targets - define make targets to work within Eclipse
Makefile Changes
The initial makefile included in the legacy code files assumed a certain build environment that is different from the current environment. The following changes to the makefile were made to get it to work within the current folder structure, and are needed for the make targets described below to be functional.
- modified the
clean
andveryclean
targets to work with the current folder structure - add
help
target to print available targets - name the resulting executable based on software version
- other changes may be made to improve the build process
Define Eclipse Make Targets
Eclipse/Photran is configured in case developers choose to use Eclipse/Photran.
A "make target" provides a way for developers to interactively select a makefile target from within the Eclipse environment.
It is assumed that the makefile is named makefile
, which will allow it to run with the default build tool configuration.
This can be changed but is cleaner if defaults are used.
To define a make target, right-click anywhere within project files in the Project Explorer and select the Make Targets / Create... menu, as shown in the following example:
The target can then be run by right-clicking in the project files area in the Project Explorer and select Make Targets / Build. Then select (highlight) one or more targets to run and press the Build button.
The make targets are stored in the .cproject
file in the Eclipse project, which is stored in the Git repository.
Consequently, the make targets are shared between developers.
This is one reason to save Eclipse project files in the Git repository.
Make targets for the following were defined in the initial project setup:
all
- makes all the object files andstatecu.exe
executableclean
- removes all compiled files exceptstatecu.exe
statecu
- compiles the StateCU executable, essentially the same asall
veryclean
- removes all compiled files including executables