Chapter 3.2 - The Makefile.am

Make gets its information what to do from the Makefile.am-file. In there, all files are listed that should be compiled. Here you define how many robots of your strategy should be created.

The brotfrucht_confs-Definition

In the definition brotfrucht_confs you have to list all configuration files for the robots, that should be created with the Brotfrucht strategy. Have a look at the following definition:

brotfrucht_confs=\
Brotfrucht-Robot1-TeamOne.conf\
Brotfrucht-Robot2-TeamOne.conf\
Brotfrucht-Robot3-TeamOne.conf\
Brotfrucht-Robot4-TeamOne.conf\
Brotfrucht-Robot5-TeamOne.conf\
Brotfrucht-Robot1-TeamTwo.conf\
Brotfrucht-Robot2-TeamTwo.conf\
Brotfrucht-Robot3-TeamTwo.conf\
Brotfrucht-Robot4-TeamTwo.conf\
Brotfrucht-Robot5-TeamTwo.conf
  

You might guess that we create two teams with both five robots. They all must hve different names otherwise RealTimeBattle makes some troubles and you cannot launch them correctly.

If you want to add another (Brotfrucht) bot for team one, just add Brotfrucht-Robot-TeamOne.conf to the list. Notice, that all lines that are not the last in such a definition have to be terminated by a backslash ("\")!

When adding your own strategy you have to add a similar definition: [strategy-name]_confs=\ followed by some "[strategy-name]-[robot-name]-[team-number].conf" definitions for each robot (remember the final backslash in each line). The dividing dashes are required for the configuration script so overtake this special synax! The number of teams and robots is your own decision. It is just a maximum number, of cause it's possible to let fight just three robots of a team.

The CLEANFILES/framework_DATA definition

These are some information for make, e.g. which files should be deleted when calling make clean. Just add $([strategy-name]_confs) in the end of the existing definitions.

The robot_SCRIPTS-Definition

In the definition robot_SCRIPTS, the target files for all robots are definied. In the order of appereance in the -confs-definition they are listed. Each line is terminated by a backslash again except the last one.

The rtb_team_SOURCES-Definition

The last step in edition the Makefile.am is to add the paths to all source files. You must add all header (*.h) and source files (*.cpp) you have created.

As you see, all files have a relative path definition (e.g. bots/bfbasicstate.h) and again all lines are terminated by a backslash except for the last one.

That was all you have to change for make. Just a little further step and your robot will fight!