comparison doc/Compiling @ 522:9363ea39c74c

configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 24 Jul 2018 02:37:02 +0000
parents 69da44f2909e
children 6917ea63bffa
comparison
equal deleted inserted replaced
521:f9125919bbe4 522:9363ea39c74c
57 57
58 In order to build our FreeCalypso Magnetite firmware for a particular target in 58 In order to build our FreeCalypso Magnetite firmware for a particular target in
59 a particular configuration, run a command like this from the top level of the 59 a particular configuration, run a command like this from the top level of the
60 fc-magnetite tree: 60 fc-magnetite tree:
61 61
62 ./configure.sh gtamodem l1reconst 62 ./configure.sh fcdev3b hybrid
63 63
64 The first argument to the configure.sh script selects the target, and the second 64 The first required argument to the configure.sh script selects the target, the
65 argument selects the configuration. As of this writing, the following targets 65 second required argument selects the build configuration recipe, and any further
66 are supported: 66 arguments beyond these two (optional) allow changing various configurable
67 settings that aren't strictly fixed by the hardware target or by the build
68 configuration recipe.
69
70 As of this writing, the following hardware targets are supported:
67 71
68 c11x Motorola C11x/12x 72 c11x Motorola C11x/12x
69 c139 Motorola C139/140 73 c139 Motorola C139/140
70 dsample TI's D-Sample C05 board (no working radio currently) 74 dsample TI's D-Sample C05 board (no working radio currently)
71 fcdev3b FreeCalypso FCDEV3B 75 fcdev3b FreeCalypso FCDEV3B
73 pirelli Pirelli DP-L10 77 pirelli Pirelli DP-L10
74 78
75 For the available configurations (the second required argument to the configure 79 For the available configurations (the second required argument to the configure
76 script), look in the configs directory and read the various write-ups under doc. 80 script), look in the configs directory and read the various write-ups under doc.
77 81
78 Each configuration is built in its own directory; by default the build directory 82 Each configuration is built in its own directory; the name of this build
79 is named build-$TARGET-$CONFIG, i.e., for the example configure.sh line above, 83 directory takes the form of build-$TARGET-$CONFIG$SUFFIX, i.e., for the example
80 the resulting build directory will be build-gtamodem-l1reconst. You can change 84 configure.sh line above, the resulting build directory will be named
81 the name of this directory by appending a BUILD_DIR=dir argument to the 85 build-fcdev3b-hybrid. The $SUFFIX part is empty by default, but can be set on
82 ./configure.sh line after the two required arguments. 86 the command line in order to distinguish non-standard builds that had some
87 tunable settings changed to values other than the default. For example, if you
88 are building the hybrid configuration for the fcdev3b target as above, but you
89 need to disable MELODY_E2, you could run the configure script as follows:
90
91 ./configure.sh fcdev3b hybrid MELODY_E2=0 SUFFIX=-noe2
92
93 The build directory would then become build-fcdev3b-hybrid-noe2, and the
94 specified suffix will also be included in the firmware version ID string that
95 gets compiled into the image.
83 96
84 To actually compile the firmware, cd into the created build directory and run 97 To actually compile the firmware, cd into the created build directory and run
85 make there. Unfortunately the use of TI's proprietary compiler via Wine makes 98 make there. Unfortunately the use of TI's proprietary compiler via Wine makes
86 the build quite slow, but there is a trick to speed it up: if you run some 99 the build quite slow, but there is a trick to speed it up: if you run some
87 other Wine program that stays open and does not exit on its own (e.g., wine cmd) 100 other Wine program that stays open and does not exit on its own (e.g., wine cmd)