test/test_fixed: Fixed precision of comparison between double / fixed results.
[xcsoar.git] / Makefile
blob10d5062b1275c40f1d070a59aed00c45a63f6a09
2 # This is the XCSoar build script. To compile XCSoar, you must
3 # specify the target platform, e.g. for Pocket PC 2003, type:
5 # make TARGET=PPC2003
7 # The following parameters may be specified on the "make" command
8 # line:
10 # TARGET The name of the target platform. See the TARGETS variable
11 # in build/targets.mk for a list of valid target platforms.
13 # ENABLE_SDL If set to "y", the UI is drawn with libSDL.
15 # OPENGL "y" means render with OpenGL.
17 # EYE_CANDY "n" disables eye candy rendering.
19 # DEBUG If set to "y", the debugging version of XCSoar is built
20 # (default is "y")
22 # WERROR Make all compiler warnings fatal (default is $DEBUG)
24 # V Verbosity; 1 is the default, and prints terse information.
25 # 0 means quiet, and 2 prints the full compiler commands.
27 # FIXED "y" means use fixed point math (for FPU-less platforms)
29 # LTO "y" enables gcc's link-time optimization flag (experimental,
30 # requires gcc 4.5)
32 # CLANG "y" to use clang instead of gcc
34 # LLVM "y" to compile LLVM bitcode with clang
36 # LIBCXX The absolute path of the libc++ svn/git working directory.
39 .DEFAULT_GOAL := all
41 topdir = .
43 -include $(topdir)/build/local-config.mk
45 include $(topdir)/build/make.mk
46 include $(topdir)/build/bool.mk
47 include $(topdir)/build/string.mk
48 include $(topdir)/build/dirs.mk
49 include $(topdir)/build/verbose.mk
50 include $(topdir)/build/util.mk
51 include $(topdir)/build/detect.mk
52 include $(topdir)/build/targets.mk
53 include $(topdir)/build/pkgconfig.mk
54 include $(topdir)/build/resource.mk
55 include $(topdir)/build/debug.mk
56 include $(topdir)/build/coverage.mk
57 include $(topdir)/build/options.mk
58 include $(topdir)/build/libintl.mk
59 include $(topdir)/build/boost.mk
60 include $(topdir)/build/sdl.mk
61 include $(topdir)/build/flags.mk
62 include $(topdir)/build/charset.mk
63 include $(topdir)/build/warnings.mk
64 include $(topdir)/build/compile.mk
65 include $(topdir)/build/link.mk
66 include $(topdir)/build/android.mk
67 include $(topdir)/build/llvm.mk
68 include $(topdir)/build/tools.mk
69 include $(topdir)/build/version.mk
70 include $(topdir)/build/osx.mk
71 include $(topdir)/build/generate.mk
72 include $(topdir)/build/doxygen.mk
73 include $(topdir)/build/manual.mk
75 # Create libraries for zzip, jasper and compatibility stuff
76 include $(topdir)/build/libstdcxx.mk
77 include $(topdir)/build/libutil.mk
78 include $(topdir)/build/libmath.mk
79 include $(topdir)/build/libprofile.mk
80 include $(topdir)/build/libnet.mk
81 include $(topdir)/build/zlib.mk
82 include $(topdir)/build/zzip.mk
83 include $(topdir)/build/jasper.mk
84 include $(topdir)/build/libport.mk
85 include $(topdir)/build/driver.mk
86 include $(topdir)/build/io.mk
87 include $(topdir)/build/shapelib.mk
88 include $(topdir)/build/task.mk
89 include $(topdir)/build/datafield.mk
90 include $(topdir)/build/screen.mk
91 include $(topdir)/build/form.mk
92 include $(topdir)/build/harness.mk
94 include $(topdir)/build/setup.mk
95 include $(topdir)/build/launch.mk
96 include $(topdir)/build/vali.mk
97 include $(topdir)/build/test.mk
98 include $(topdir)/build/hot.mk
100 # Load local-config a second time
101 # to set (override) choices for GXX and friends.
102 -include $(topdir)/build/local-config.mk
104 ######## output files
106 ifeq ($(HAVE_POSIX),y)
107 PROGRAM_NAME = xcsoar
108 else
109 PROGRAM_NAME = XCSoar
110 endif
112 include $(topdir)/build/dist.mk
113 include $(topdir)/build/install.mk
115 ######## compiler flags
117 INCLUDES += -I$(SRC) -I$(ENGINE_SRC_DIR) -I$(SRC)/Waypoint
119 ####### linker configuration
121 LDFLAGS = $(TARGET_LDFLAGS) $(FLAGS_PROFILE) $(OPTIMIZE)
122 LDLIBS = $(TARGET_LDLIBS) $(COVERAGE_LDLIBS)
124 ####### sources
126 DIALOG_SOURCES = \
127 $(SRC)/Form/XMLWidget.cpp \
128 $(SRC)/Dialogs/XML.cpp \
129 $(SRC)/Dialogs/Inflate.cpp \
130 $(SRC)/Dialogs/Message.cpp \
131 $(SRC)/Dialogs/ListPicker.cpp \
132 $(SRC)/Dialogs/JobDialog.cpp \
133 $(SRC)/Dialogs/WidgetDialog.cpp \
134 $(SRC)/Dialogs/DeviceListDialog.cpp \
135 $(SRC)/Dialogs/PortMonitor.cpp \
136 $(SRC)/Dialogs/ManageCAI302Dialog.cpp \
137 $(SRC)/Dialogs/CAI302/UnitsEditor.cpp \
138 $(SRC)/Dialogs/CAI302/WaypointUploader.cpp \
139 $(SRC)/Dialogs/ManageFlarmDialog.cpp \
140 $(SRC)/Dialogs/Vega/VegaParametersWidget.cpp \
141 $(SRC)/Dialogs/Vega/VegaConfigurationDialog.cpp \
142 $(SRC)/Dialogs/Vega/VegaDemoDialog.cpp \
143 $(SRC)/Dialogs/MapItemListDialog.cpp \
144 $(SRC)/Dialogs/WindSettingsPanel.cpp \
145 $(SRC)/Dialogs/dlgAirspace.cpp \
146 $(SRC)/Dialogs/dlgAirspaceColours.cpp \
147 $(SRC)/Dialogs/dlgAirspacePatterns.cpp \
148 $(SRC)/Dialogs/dlgAirspaceDetails.cpp \
149 $(SRC)/Dialogs/dlgAirspaceSelect.cpp \
150 $(SRC)/Dialogs/dlgAirspaceWarnings.cpp \
151 $(SRC)/Dialogs/dlgAlternatesList.cpp \
152 $(SRC)/Dialogs/dlgFlarmDetailsList.cpp \
153 $(SRC)/Dialogs/dlgAnalysis.cpp \
154 $(SRC)/Dialogs/dlgBasicSettings.cpp \
155 $(SRC)/Dialogs/dlgBrightness.cpp \
156 $(SRC)/Dialogs/dlgChecklist.cpp \
157 $(SRC)/Dialogs/dlgPlanes.cpp \
158 $(SRC)/Dialogs/dlgPlaneDetails.cpp \
159 $(SRC)/Dialogs/dlgPlanePolar.cpp \
160 $(SRC)/Dialogs/ComboPicker.cpp \
161 $(SRC)/Dialogs/FilePicker.cpp \
162 $(SRC)/Dialogs/dlgConfiguration.cpp \
163 $(SRC)/Dialogs/dlgConfigFonts.cpp \
164 $(SRC)/Dialogs/dlgConfigInfoboxes.cpp \
165 $(SRC)/Dialogs/dlgConfigWaypoints.cpp \
166 $(SRC)/Dialogs/dlgFlarmTraffic.cpp \
167 $(SRC)/Dialogs/dlgFlarmTrafficDetails.cpp \
168 $(SRC)/Dialogs/dlgHelp.cpp \
169 $(SRC)/Dialogs/dlgInfoBoxAccess.cpp \
170 $(SRC)/Dialogs/dlgLoggerReplay.cpp \
171 $(SRC)/Dialogs/dlgSimulatorPrompt.cpp \
172 $(SRC)/Dialogs/dlgStartup.cpp \
174 $(SRC)/Dialogs/dlgStatus.cpp \
175 $(SRC)/Dialogs/StatusPanels/StatusPanel.cpp \
176 $(SRC)/Dialogs/StatusPanels/FlightStatusPanel.cpp \
177 $(SRC)/Dialogs/StatusPanels/SystemStatusPanel.cpp \
178 $(SRC)/Dialogs/StatusPanels/TaskStatusPanel.cpp \
179 $(SRC)/Dialogs/StatusPanels/RulesStatusPanel.cpp \
180 $(SRC)/Dialogs/StatusPanels/TimesStatusPanel.cpp \
182 $(SRC)/Dialogs/Waypoint/WaypointInfoWidget.cpp \
183 $(SRC)/Dialogs/Waypoint/WaypointCommandsWidget.cpp \
185 $(SRC)/Dialogs/dlgSwitches.cpp \
187 $(SRC)/Dialogs/ConfigPanels/AirspaceConfigPanel.cpp \
188 $(SRC)/Dialogs/ConfigPanels/DevicesConfigPanel.cpp \
189 $(SRC)/Dialogs/ConfigPanels/ExperimentalConfigPanel.cpp \
190 $(SRC)/Dialogs/ConfigPanels/GaugesConfigPanel.cpp \
191 $(SRC)/Dialogs/ConfigPanels/VarioConfigPanel.cpp \
192 $(SRC)/Dialogs/ConfigPanels/GlideComputerConfigPanel.cpp \
193 $(SRC)/Dialogs/ConfigPanels/WindConfigPanel.cpp \
194 $(SRC)/Dialogs/ConfigPanels/InfoBoxesConfigPanel.cpp \
195 $(SRC)/Dialogs/ConfigPanels/InterfaceConfigPanel.cpp \
196 $(SRC)/Dialogs/ConfigPanels/LayoutConfigPanel.cpp \
197 $(SRC)/Dialogs/ConfigPanels/LoggerConfigPanel.cpp \
198 $(SRC)/Dialogs/ConfigPanels/MapDisplayConfigPanel.cpp \
199 $(SRC)/Dialogs/ConfigPanels/PagesConfigPanel.cpp \
200 $(SRC)/Dialogs/ConfigPanels/PolarConfigPanel.cpp \
201 $(SRC)/Dialogs/ConfigPanels/RouteConfigPanel.cpp \
202 $(SRC)/Dialogs/ConfigPanels/SafetyFactorsConfigPanel.cpp \
203 $(SRC)/Dialogs/ConfigPanels/SiteConfigPanel.cpp \
204 $(SRC)/Dialogs/ConfigPanels/SymbolsConfigPanel.cpp \
205 $(SRC)/Dialogs/ConfigPanels/TaskRulesConfigPanel.cpp \
206 $(SRC)/Dialogs/ConfigPanels/TaskDefaultsConfigPanel.cpp \
207 $(SRC)/Dialogs/ConfigPanels/TerrainDisplayConfigPanel.cpp \
208 $(SRC)/Dialogs/ConfigPanels/UnitsConfigPanel.cpp \
209 $(SRC)/Dialogs/ConfigPanels/TimeConfigPanel.cpp \
210 $(SRC)/Dialogs/ConfigPanels/WaypointDisplayConfigPanel.cpp \
212 $(SRC)/Dialogs/TaskManager/TaskManagerDialog.cpp \
213 $(SRC)/Dialogs/TaskManager/TaskClosePanel.cpp \
214 $(SRC)/Dialogs/TaskManager/TaskEditPanel.cpp \
215 $(SRC)/Dialogs/TaskManager/TaskPropertiesPanel.cpp \
216 $(SRC)/Dialogs/TaskManager/TaskListPanel.cpp \
217 $(SRC)/Dialogs/TaskManager/TaskCalculatorPanel.cpp \
218 $(SRC)/Dialogs/dlgTaskOptionalStarts.cpp \
219 $(SRC)/Dialogs/dlgTaskPoint.cpp \
220 $(SRC)/Dialogs/dlgTaskPointType.cpp \
221 $(SRC)/Dialogs/dlgTaskHelpers.cpp \
222 $(SRC)/Dialogs/dlgTarget.cpp \
224 $(SRC)/Dialogs/dlgTeamCode.cpp \
225 $(SRC)/Dialogs/dlgTextEntry.cpp \
226 $(SRC)/Dialogs/dlgTextEntry_Keyboard.cpp \
227 $(SRC)/Dialogs/dlgVoice.cpp \
228 $(SRC)/Dialogs/dlgWeather.cpp \
229 $(SRC)/Dialogs/dlgWaypointDetails.cpp \
230 $(SRC)/Dialogs/dlgWaypointEdit.cpp \
231 $(SRC)/Dialogs/dlgWaypointSelect.cpp \
232 $(SRC)/Dialogs/dlgWindSettings.cpp \
233 $(SRC)/Dialogs/dlgFontEdit.cpp \
234 $(SRC)/Dialogs/dlgCredits.cpp \
235 $(SRC)/Dialogs/dlgQuickMenu.cpp \
237 ifeq ($(HAVE_NET),y)
238 DIALOG_SOURCES += \
239 $(SRC)/Dialogs/dlgNOAAList.cpp \
240 $(SRC)/Dialogs/dlgNOAADetails.cpp \
241 $(SRC)/Dialogs/ConfigPanels/TrackingConfigPanel.cpp
242 endif
244 XCSOAR_SOURCES := \
245 $(IO_SRC_DIR)/ConfiguredFile.cpp \
246 $(IO_SRC_DIR)/DataFile.cpp \
247 $(SRC)/Airspace/ProtectedAirspaceWarningManager.cpp \
248 $(SRC)/Task/TaskFile.cpp \
249 $(SRC)/Task/TaskFileXCSoar.cpp \
250 $(SRC)/Task/TaskFileSeeYou.cpp \
251 $(SRC)/Task/MapTaskManager.cpp \
252 $(SRC)/Task/ProtectedTaskManager.cpp \
253 $(SRC)/Task/RoutePlannerGlue.cpp \
254 $(SRC)/Task/ProtectedRoutePlanner.cpp \
255 $(SRC)/Task/TaskStore.cpp \
257 $(SRC)/RadioFrequency.cpp \
259 $(SRC)/Engine/Navigation/TraceHistory.cpp \
260 $(SRC)/Renderer/TraceHistoryRenderer.cpp \
261 $(SRC)/Renderer/ThermalBandRenderer.cpp \
262 $(SRC)/Renderer/TaskProgressRenderer.cpp \
264 $(SRC)/Poco/RWLock.cpp \
266 $(SRC)/Airspace/AirspaceGlue.cpp \
267 $(SRC)/Airspace/AirspaceParser.cpp \
268 $(SRC)/Airspace/AirspaceVisibility.cpp \
269 $(SRC)/Airspace/AirspaceComputerSettings.cpp \
270 $(SRC)/Renderer/AirspaceRendererSettings.cpp \
272 $(SRC)/Operation/Operation.cpp \
273 $(SRC)/Operation/ProxyOperationEnvironment.cpp \
274 $(SRC)/Operation/NoCancelOperationEnvironment.cpp \
275 $(SRC)/Operation/PopupOperationEnvironment.cpp \
276 $(SRC)/Operation/MessageOperationEnvironment.cpp \
277 $(SRC)/Operation/ThreadedOperationEnvironment.cpp \
278 $(SRC)/Operation/VerboseOperationEnvironment.cpp \
279 $(SRC)/Atmosphere/Pressure.cpp \
280 $(SRC)/Atmosphere/CuSonde.cpp \
281 $(SRC)/ClimbAverageCalculator.cpp \
282 $(SRC)/ConditionMonitor/ConditionMonitor.cpp \
283 $(SRC)/ConditionMonitor/ConditionMonitorAATTime.cpp \
284 $(SRC)/ConditionMonitor/ConditionMonitorFinalGlide.cpp \
285 $(SRC)/ConditionMonitor/ConditionMonitorGlideTerrain.cpp \
286 $(SRC)/ConditionMonitor/ConditionMonitorLandableReachable.cpp \
287 $(SRC)/ConditionMonitor/ConditionMonitorStartRules.cpp \
288 $(SRC)/ConditionMonitor/ConditionMonitorSunset.cpp \
289 $(SRC)/ConditionMonitor/ConditionMonitorWind.cpp \
290 $(SRC)/ConditionMonitor/ConditionMonitors.cpp \
291 $(SRC)/DateTime.cpp \
292 $(SRC)/Plane/PlaneGlue.cpp \
293 $(SRC)/Plane/PlaneFileGlue.cpp \
294 $(SRC)/FLARM/FlarmId.cpp \
295 $(SRC)/FLARM/State.cpp \
296 $(SRC)/FLARM/Record.cpp \
297 $(SRC)/FLARM/Database.cpp \
298 $(SRC)/FLARM/FlarmNet.cpp \
299 $(SRC)/FLARM/FlarmNetReader.cpp \
300 $(SRC)/FLARM/Traffic.cpp \
301 $(SRC)/FLARM/FlarmCalculations.cpp \
302 $(SRC)/FLARM/Friends.cpp \
303 $(SRC)/FLARM/FlarmComputer.cpp \
304 $(SRC)/FLARM/Glue.cpp \
305 $(SRC)/Computer/CuComputer.cpp \
306 $(SRC)/Computer/FlyingComputer.cpp \
307 $(SRC)/Computer/CirclingComputer.cpp \
308 $(SRC)/Computer/ThermalBandComputer.cpp \
309 $(SRC)/Computer/WindComputer.cpp \
310 $(SRC)/Computer/ContestComputer.cpp \
311 $(SRC)/Computer/TraceComputer.cpp \
312 $(SRC)/Computer/WarningComputer.cpp \
313 $(SRC)/Computer/ThermalLocator.cpp \
314 $(SRC)/Computer/ThermalBase.cpp \
315 $(SRC)/Computer/GlideRatioCalculator.cpp \
316 $(SRC)/Computer/GlideComputer.cpp \
317 $(SRC)/Computer/GlideComputerBlackboard.cpp \
318 $(SRC)/Computer/GlideComputerAirData.cpp \
319 $(SRC)/Computer/GlideComputerStats.cpp \
320 $(SRC)/Computer/GlideComputerRoute.cpp \
321 $(SRC)/Computer/GlideComputerTask.cpp \
322 $(SRC)/Computer/GlideComputerInterface.cpp \
323 $(SRC)/Computer/Events.cpp \
324 $(SRC)/BallastDumpManager.cpp \
325 $(SRC)/Logger/Settings.cpp \
326 $(SRC)/Logger/Logger.cpp \
327 $(SRC)/Logger/LoggerFRecord.cpp \
328 $(SRC)/Logger/LoggerGRecord.cpp \
329 $(SRC)/Logger/LoggerEPE.cpp \
330 $(SRC)/Logger/LoggerImpl.cpp \
331 $(SRC)/Logger/IGCWriter.cpp \
332 $(SRC)/Logger/MD5.cpp \
333 $(SRC)/Logger/NMEALogger.cpp \
334 $(SRC)/Logger/ExternalLogger.cpp \
335 $(SRC)/Logger/FlightLogger.cpp \
336 $(SRC)/Logger/GlueFlightLogger.cpp \
337 $(SRC)/NMEA/Info.cpp \
338 $(SRC)/NMEA/MoreData.cpp \
339 $(SRC)/NMEA/Acceleration.cpp \
340 $(SRC)/NMEA/Attitude.cpp \
341 $(SRC)/NMEA/ExternalSettings.cpp \
342 $(SRC)/NMEA/FlyingState.cpp \
343 $(SRC)/NMEA/Derived.cpp \
344 $(SRC)/NMEA/VarioInfo.cpp \
345 $(SRC)/NMEA/ClimbInfo.cpp \
346 $(SRC)/NMEA/CirclingInfo.cpp \
347 $(SRC)/NMEA/ThermalBand.cpp \
348 $(SRC)/NMEA/ThermalLocator.cpp \
349 $(SRC)/NMEA/ClimbHistory.cpp \
350 $(SRC)/NMEA/InputLine.cpp \
351 $(SRC)/NMEA/Checksum.cpp \
352 $(SRC)/NMEA/Aircraft.cpp \
353 $(SRC)/Replay/Replay.cpp \
354 $(SRC)/Replay/IGCParser.cpp \
355 $(SRC)/Replay/IgcReplay.cpp \
356 $(SRC)/Replay/IgcReplayGlue.cpp \
357 $(SRC)/Replay/NmeaReplay.cpp \
358 $(SRC)/Replay/NmeaReplayGlue.cpp \
359 $(SRC)/Replay/DemoReplay.cpp \
360 $(SRC)/Replay/DemoReplayGlue.cpp \
361 $(SRC)/Replay/TaskAutoPilot.cpp \
362 $(SRC)/Replay/AircraftSim.cpp \
363 $(SRC)/TeamCodeCalculation.cpp \
364 $(SRC)/Waypoint/WaypointGlue.cpp \
365 $(SRC)/Waypoint/WaypointReader.cpp \
366 $(SRC)/Waypoint/WaypointReaderBase.cpp \
367 $(SRC)/Waypoint/WaypointReaderOzi.cpp \
368 $(SRC)/Waypoint/WaypointReaderFS.cpp \
369 $(SRC)/Waypoint/WaypointReaderWinPilot.cpp \
370 $(SRC)/Waypoint/WaypointReaderSeeYou.cpp \
371 $(SRC)/Waypoint/WaypointReaderZander.cpp \
372 $(SRC)/Waypoint/WaypointReaderCompeGPS.cpp \
373 $(SRC)/Waypoint/WaypointWriter.cpp \
374 $(SRC)/Wind/CirclingWind.cpp \
375 $(SRC)/Wind/WindMeasurementList.cpp \
376 $(SRC)/Wind/WindStore.cpp \
377 $(SRC)/Wind/WindEKF.cpp \
378 $(SRC)/Wind/WindEKFGlue.cpp \
380 $(SRC)/CrossSection/CrossSectionWindow.cpp \
382 $(SRC)/Gauge/ThermalAssistantWindow.cpp \
383 $(SRC)/Gauge/BigThermalAssistantWindow.cpp \
384 $(SRC)/Gauge/FlarmTrafficWindow.cpp \
385 $(SRC)/Gauge/FlarmTrafficLook.cpp \
386 $(SRC)/Gauge/GaugeFLARM.cpp \
387 $(SRC)/Gauge/GaugeThermalAssistant.cpp \
388 $(SRC)/Gauge/VarioSettings.cpp \
389 $(SRC)/Gauge/TrafficSettings.cpp \
390 $(SRC)/Gauge/GaugeVario.cpp \
391 $(SRC)/Gauge/GlueGaugeVario.cpp \
392 $(SRC)/Gauge/TaskView.cpp \
393 $(SRC)/Gauge/LogoView.cpp \
395 $(SRC)/Waypoint/WaypointDetailsReader.cpp \
396 $(SRC)/Menu/MenuData.cpp \
397 $(SRC)/Menu/MenuBar.cpp \
398 $(SRC)/Menu/ButtonLabel.cpp \
399 $(SRC)/Dialogs/Dialogs.cpp \
400 $(SRC)/Menu/ExpandMacros.cpp \
401 $(SRC)/InfoBoxes/Content/Factory.cpp \
402 $(SRC)/InfoBoxes/Content/Alternate.cpp \
403 $(SRC)/InfoBoxes/Content/Base.cpp \
404 $(SRC)/InfoBoxes/Content/Altitude.cpp \
405 $(SRC)/InfoBoxes/Content/Direction.cpp \
406 $(SRC)/InfoBoxes/Content/Glide.cpp \
407 $(SRC)/InfoBoxes/Content/MacCready.cpp \
408 $(SRC)/InfoBoxes/Content/Other.cpp \
409 $(SRC)/InfoBoxes/Content/Speed.cpp \
410 $(SRC)/InfoBoxes/Content/Task.cpp \
411 $(SRC)/InfoBoxes/Content/Team.cpp \
412 $(SRC)/InfoBoxes/Content/Terrain.cpp \
413 $(SRC)/InfoBoxes/Content/Thermal.cpp \
414 $(SRC)/InfoBoxes/Content/Time.cpp \
415 $(SRC)/InfoBoxes/Content/Trace.cpp \
416 $(SRC)/InfoBoxes/Content/Weather.cpp \
417 $(SRC)/InfoBoxes/Content/Airspace.cpp \
418 $(SRC)/InfoBoxes/Data.cpp \
419 $(SRC)/InfoBoxes/Format.cpp \
420 $(SRC)/InfoBoxes/Units.cpp \
421 $(SRC)/InfoBoxes/InfoBoxSettings.cpp \
422 $(SRC)/InfoBoxes/InfoBoxWindow.cpp \
423 $(SRC)/InfoBoxes/InfoBoxLayout.cpp \
424 $(SRC)/InfoBoxes/InfoBoxManager.cpp \
425 $(SRC)/InfoBoxes/Panel/AltitudeInfo.cpp \
426 $(SRC)/InfoBoxes/Panel/AltitudeSimulator.cpp \
427 $(SRC)/InfoBoxes/Panel/AltitudeSetup.cpp \
428 $(SRC)/InfoBoxes/Panel/MacCreadyEdit.cpp \
429 $(SRC)/InfoBoxes/Panel/MacCreadySetup.cpp \
430 $(SRC)/InfoBoxes/Panel/WindEdit.cpp \
431 $(SRC)/InfoBoxes/Panel/WindSetup.cpp \
432 $(SRC)/Input/InputConfig.cpp \
433 $(SRC)/Input/InputDefaults.cpp \
434 $(SRC)/Input/InputEvents.cpp \
435 $(SRC)/Input/InputEventsActions.cpp \
436 $(SRC)/Input/InputEventsDevice.cpp \
437 $(SRC)/Input/InputEventsVega.cpp \
438 $(SRC)/Input/InputEventsInfoBox.cpp \
439 $(SRC)/Input/InputEventsMap.cpp \
440 $(SRC)/Input/InputEventsAirspace.cpp \
441 $(SRC)/Input/InputEventsTask.cpp \
442 $(SRC)/Input/InputEventsSettings.cpp \
443 $(SRC)/Input/InputEventsThermalAssistant.cpp \
444 $(SRC)/Input/InputEventsTraffic.cpp \
445 $(SRC)/Input/InputQueue.cpp \
446 $(SRC)/Input/InputLookup.cpp \
447 $(SRC)/Input/InputKeys.cpp \
448 $(SRC)/Input/InputParser.cpp \
449 $(SRC)/PageSettings.cpp \
450 $(SRC)/Pages.cpp \
451 $(SRC)/StatusMessage.cpp \
452 $(SRC)/PopupMessage.cpp \
453 $(SRC)/Message.cpp \
454 $(SRC)/LogFile.cpp \
456 $(SRC)/Geo/Geoid.cpp \
457 $(SRC)/Geo/UTM.cpp \
458 $(SRC)/Geo/GeoClip.cpp \
459 $(SRC)/MapWindow/MapCanvas.cpp \
460 $(SRC)/MapWindow/MapDrawHelper.cpp \
461 $(SRC)/Projection/Projection.cpp \
462 $(SRC)/Projection/WindowProjection.cpp \
463 $(SRC)/Projection/CompareProjection.cpp \
464 $(SRC)/Renderer/ChartRenderer.cpp \
465 $(SRC)/Renderer/BackgroundRenderer.cpp \
466 $(SRC)/Renderer/OZRenderer.cpp \
467 $(SRC)/Renderer/TaskPointRenderer.cpp \
468 $(SRC)/Renderer/TaskRenderer.cpp \
469 $(SRC)/Renderer/AircraftRenderer.cpp \
470 $(SRC)/Renderer/AirspaceRenderer.cpp \
471 $(SRC)/Renderer/AirspacePreviewRenderer.cpp \
472 $(SRC)/Renderer/BestCruiseArrowRenderer.cpp \
473 $(SRC)/Renderer/CompassRenderer.cpp \
474 $(SRC)/Renderer/FinalGlideBarRenderer.cpp \
475 $(SRC)/Renderer/MapItemListRenderer.cpp \
476 $(SRC)/Renderer/OZPreviewRenderer.cpp \
477 $(SRC)/Renderer/TrackLineRenderer.cpp \
478 $(SRC)/Renderer/TrafficRenderer.cpp \
479 $(SRC)/Renderer/TrailRenderer.cpp \
480 $(SRC)/Renderer/UnitSymbolRenderer.cpp \
481 $(SRC)/Renderer/WaypointListRenderer.cpp \
482 $(SRC)/Renderer/WaypointIconRenderer.cpp \
483 $(SRC)/Renderer/WaypointRenderer.cpp \
484 $(SRC)/Renderer/WaypointRendererSettings.cpp \
485 $(SRC)/Renderer/WindArrowRenderer.cpp \
486 $(SRC)/Projection/ChartProjection.cpp \
487 $(SRC)/MapWindow/MapItemList.cpp \
488 $(SRC)/MapWindow/MapItemListBuilder.cpp \
489 $(SRC)/MapWindow/MapWindow.cpp \
490 $(SRC)/MapWindow/MapWindowEvents.cpp \
491 $(SRC)/MapWindow/MapWindowGlideRange.cpp \
492 $(SRC)/MapWindow/MapWindowLabels.cpp \
493 $(SRC)/Projection/MapWindowProjection.cpp \
494 $(SRC)/MapWindow/MapWindowRender.cpp \
495 $(SRC)/MapWindow/MapWindowSymbols.cpp \
496 $(SRC)/MapWindow/MapWindowTask.cpp \
497 $(SRC)/MapWindow/MapWindowThermal.cpp \
498 $(SRC)/MapWindow/MapWindowTimer.cpp \
499 $(SRC)/MapWindow/MapWindowTraffic.cpp \
500 $(SRC)/MapWindow/MapWindowTrail.cpp \
501 $(SRC)/MapWindow/MapWindowWaypoints.cpp \
502 $(SRC)/MapWindow/GlueMapWindow.cpp \
503 $(SRC)/MapWindow/GlueMapWindowItems.cpp \
504 $(SRC)/MapWindow/GlueMapWindowEvents.cpp \
505 $(SRC)/MapWindow/GlueMapWindowOverlays.cpp \
506 $(SRC)/MapWindow/GlueMapWindowTarget.cpp \
507 $(SRC)/MapWindow/GlueMapWindowDisplayMode.cpp \
508 $(SRC)/MapWindow/TargetMapWindow.cpp \
509 $(SRC)/MapWindow/TargetMapWindowEvents.cpp \
510 $(SRC)/MapWindow/TargetMapWindowDrag.cpp \
511 $(SRC)/GestureManager.cpp \
512 $(SRC)/DrawThread.cpp \
514 $(SRC)/Computer/BasicComputer.cpp \
515 $(SRC)/Computer/AutoQNH.cpp \
517 $(SRC)/Blackboard/BlackboardListener.cpp \
518 $(SRC)/Blackboard/ProxyBlackboardListener.cpp \
519 $(SRC)/Blackboard/RateLimitedBlackboardListener.cpp \
520 $(SRC)/Blackboard/LiveBlackboard.cpp \
521 $(SRC)/Blackboard/InterfaceBlackboard.cpp \
523 $(SRC)/Blackboard/DeviceBlackboard.cpp \
524 $(SRC)/MapWindow/MapWindowBlackboard.cpp \
525 $(SRC)/Dialogs/DialogSettings.cpp \
526 $(SRC)/UIGlobals.cpp \
527 $(SRC)/UIState.cpp \
528 $(SRC)/UISettings.cpp \
529 $(SRC)/DisplaySettings.cpp \
530 $(SRC)/MapSettings.cpp \
531 $(SRC)/SystemSettings.cpp \
532 $(SRC)/ComputerSettings.cpp \
533 $(SRC)/MergeThread.cpp \
534 $(SRC)/CalculationThread.cpp \
535 $(SRC)/DisplayMode.cpp \
537 $(SRC)/Topography/TopographyFile.cpp \
538 $(SRC)/Topography/TopographyStore.cpp \
539 $(SRC)/Topography/TopographyFileRenderer.cpp \
540 $(SRC)/Topography/TopographyRenderer.cpp \
541 $(SRC)/Topography/TopographyGlue.cpp \
542 $(SRC)/Topography/XShape.cpp \
543 $(SRC)/Terrain/RasterBuffer.cpp \
544 $(SRC)/Terrain/RasterProjection.cpp \
545 $(SRC)/Terrain/RasterMap.cpp \
546 $(SRC)/Terrain/RasterTile.cpp \
547 $(SRC)/Terrain/RasterTileCache.cpp \
548 $(SRC)/Terrain/RasterTerrain.cpp \
549 $(SRC)/Terrain/RasterWeather.cpp \
550 $(SRC)/Terrain/HeightMatrix.cpp \
551 $(SRC)/Terrain/RasterRenderer.cpp \
552 $(SRC)/Terrain/TerrainRenderer.cpp \
553 $(SRC)/Terrain/WeatherTerrainRenderer.cpp \
554 $(SRC)/Terrain/TerrainSettings.cpp \
555 $(SRC)/Markers/Markers.cpp \
556 $(SRC)/Markers/ProtectedMarkers.cpp \
558 $(SRC)/FlightStatistics.cpp \
559 $(SRC)/Renderer/FlightStatisticsRenderer.cpp \
560 $(SRC)/Renderer/BarographRenderer.cpp \
561 $(SRC)/Renderer/ClimbChartRenderer.cpp \
562 $(SRC)/Renderer/GlidePolarRenderer.cpp \
563 $(SRC)/Renderer/WindChartRenderer.cpp \
564 $(SRC)/Renderer/CuRenderer.cpp \
566 $(SRC)/Simulator.cpp \
567 $(SRC)/Asset.cpp \
568 $(SRC)/Hardware/Display.cpp \
569 $(SRC)/Hardware/DisplayGlue.cpp \
570 $(SRC)/Hardware/Vibrator.cpp \
571 $(SRC)/Language/MOFile.cpp \
572 $(SRC)/Language/Language.cpp \
573 $(SRC)/Language/LanguageGlue.cpp \
574 $(SRC)/LocalPath.cpp \
575 $(SRC)/Interface.cpp \
576 $(SRC)/ProgressGlue.cpp \
577 $(SRC)/LocalTime.cpp \
578 $(SRC)/Units/Units.cpp \
579 $(SRC)/Units/UnitsGlue.cpp \
580 $(SRC)/Units/UnitsStore.cpp \
581 $(SRC)/Formatter/Units.cpp \
582 $(SRC)/Formatter/UserUnits.cpp \
583 $(SRC)/Formatter/HexColor.cpp \
584 $(SRC)/Formatter/GeoPointFormatter.cpp \
585 $(SRC)/Formatter/ByteSizeFormatter.cpp \
586 $(SRC)/Formatter/UserGeoPointFormatter.cpp \
587 $(SRC)/Formatter/TimeFormatter.cpp \
588 $(SRC)/Formatter/IGCFilenameFormatter.cpp \
589 $(SRC)/Units/Descriptor.cpp \
590 $(SRC)/Units/System.cpp \
591 $(SRC)/Units/Settings.cpp \
592 $(SRC)/Formatter/AngleFormatter.cpp \
593 $(SRC)/FLARM/FlarmDetails.cpp \
594 $(SRC)/UtilsSettings.cpp \
595 $(SRC)/UtilsSystem.cpp \
596 $(SRC)/OS/Clock.cpp \
597 $(SRC)/OS/SystemLoad.cpp \
598 $(SRC)/OS/FileUtil.cpp \
599 $(SRC)/OS/FileMapping.cpp \
600 $(SRC)/OS/PathName.cpp \
601 $(SRC)/OS/LogError.cpp \
602 $(SRC)/Version.cpp \
603 $(SRC)/Audio/Sound.cpp \
604 $(SRC)/Audio/VegaVoice.cpp \
605 $(SRC)/Compatibility/fmode.c \
606 $(SRC)/Profile/Profile.cpp \
607 $(SRC)/Profile/Earth.cpp \
608 $(SRC)/Profile/Screen.cpp \
609 $(SRC)/Profile/TrackingProfile.cpp \
610 $(SRC)/Profile/SystemProfile.cpp \
611 $(SRC)/Profile/ComputerProfile.cpp \
612 $(SRC)/Profile/RouteProfile.cpp \
613 $(SRC)/Profile/TaskProfile.cpp \
614 $(SRC)/Profile/MapProfile.cpp \
615 $(SRC)/Profile/PageProfile.cpp \
616 $(SRC)/Profile/UIProfile.cpp \
617 $(SRC)/Profile/ProfileGlue.cpp \
618 $(SRC)/Profile/ProfileKeys.cpp \
619 $(SRC)/Profile/FontConfig.cpp \
620 $(SRC)/Profile/UnitsConfig.cpp \
621 $(SRC)/Profile/DeviceConfig.cpp \
622 $(SRC)/Profile/InfoBoxConfig.cpp \
623 $(SRC)/Profile/AirspaceConfig.cpp \
624 $(SRC)/Profile/TerrainConfig.cpp \
625 $(SRC)/XML/Node.cpp \
626 $(SRC)/XML/Parser.cpp \
627 $(SRC)/XML/Writer.cpp \
628 $(SRC)/Thread/Thread.cpp \
629 $(SRC)/Thread/StoppableThread.cpp \
630 $(SRC)/Thread/SuspensibleThread.cpp \
631 $(SRC)/Thread/RecursivelySuspensibleThread.cpp \
632 $(SRC)/Thread/WorkerThread.cpp \
633 $(SRC)/Thread/StandbyThread.cpp \
634 $(SRC)/Thread/Mutex.cpp \
635 $(SRC)/Thread/Debug.cpp \
636 $(SRC)/Thread/Notify.cpp \
638 $(SRC)/Job/Thread.cpp \
639 $(SRC)/Job/Async.cpp \
641 $(SRC)/RateLimiter.cpp \
643 $(SRC)/Tracking/TrackingSettings.cpp \
645 $(SRC)/Math/Screen.cpp \
646 $(SRC)/Math/SunEphemeris.cpp \
648 $(SRC)/Screen/Blank.cpp \
649 $(SRC)/Screen/Fonts.cpp \
650 $(SRC)/Screen/CustomFonts.cpp \
651 $(SRC)/Screen/Layout.cpp \
652 $(SRC)/Screen/UnitSymbol.cpp \
653 $(SRC)/Screen/TextInBox.cpp \
654 $(SRC)/Screen/Ramp.cpp \
655 $(SRC)/Screen/LabelBlock.cpp \
656 $(SRC)/Screen/ProgressWindow.cpp \
657 $(SRC)/Screen/TerminalWindow.cpp \
658 $(SRC)/ResourceLoader.cpp \
660 $(SRC)/Look/Look.cpp \
661 $(SRC)/Look/DialogLook.cpp \
662 $(SRC)/Look/ButtonLook.cpp \
663 $(SRC)/Look/TerminalLook.cpp \
664 $(SRC)/Look/VarioLook.cpp \
665 $(SRC)/Look/ChartLook.cpp \
666 $(SRC)/Look/MapLook.cpp \
667 $(SRC)/Look/WindArrowLook.cpp \
668 $(SRC)/Look/ThermalBandLook.cpp \
669 $(SRC)/Look/TraceHistoryLook.cpp \
670 $(SRC)/Look/AirspaceLook.cpp \
671 $(SRC)/Look/TrailLook.cpp \
672 $(SRC)/Look/CrossSectionLook.cpp \
673 $(SRC)/Look/HorizonLook.cpp \
674 $(SRC)/Look/TaskLook.cpp \
675 $(SRC)/Look/TrafficLook.cpp \
676 $(SRC)/Look/InfoBoxLook.cpp \
677 $(SRC)/Look/WaypointLook.cpp \
678 $(SRC)/Look/AircraftLook.cpp \
679 $(SRC)/Look/MarkerLook.cpp \
680 $(SRC)/Look/FinalGlideBarLook.cpp \
681 $(SRC)/Look/IconLook.cpp \
682 $(SRC)/Look/UnitsLook.cpp \
684 $(SRC)/Polar/PolarGlue.cpp \
685 $(SRC)/Polar/PolarFileGlue.cpp \
686 $(SRC)/Polar/Polar.cpp \
687 $(SRC)/Polar/PolarStore.cpp \
689 $(SRC)/Protection.cpp \
690 $(SRC)/BatteryTimer.cpp \
691 $(SRC)/ProcessTimer.cpp \
692 $(SRC)/MainWindow.cpp \
693 $(SRC)/Components.cpp \
695 $(SRC)/Widgets/TrafficWidget.cpp \
696 $(SRC)/Widgets/BigThermalAssistantWidget.cpp \
697 $(SRC)/Widgets/DeviceEditWidget.cpp \
699 $(SRC)/Device/Driver.cpp \
700 $(SRC)/Device/Declaration.cpp \
701 $(SRC)/Device/Register.cpp \
702 $(SRC)/Device/List.cpp \
703 $(SRC)/Device/device.cpp \
704 $(SRC)/Device/Port/ConfiguredPort.cpp \
705 $(SRC)/Device/Descriptor.cpp \
706 $(SRC)/Device/All.cpp \
707 $(SRC)/Device/Parser.cpp \
708 $(SRC)/Device/Simulator.cpp \
709 $(SRC)/Device/Port/LineHandler.cpp \
710 $(SRC)/Device/Internal.cpp \
711 $(DIALOG_SOURCES)
713 # $(SRC)/VarioSound.cpp \
714 # $(SRC)/WaveThread.cpp \
716 ifneq ($(NO_HORIZON),y)
717 XCSOAR_SOURCES += \
718 $(SRC)/Renderer/HorizonRenderer.cpp
719 endif
721 ifeq ($(HAVE_CE),y)
722 XCSOAR_SOURCES += \
723 $(SRC)/OS/MemInfo.cpp \
724 $(SRC)/Device/Windows/Enumerator.cpp
725 endif
727 ifeq ($(TARGET),ANDROID)
728 XCSOAR_SOURCES += \
729 $(SRC)/Java/Global.cpp \
730 $(SRC)/Java/String.cpp \
731 $(SRC)/Device/Port/AndroidPort.cpp \
732 $(SRC)/Device/Port/AndroidBluetoothPort.cpp \
733 $(SRC)/Android/Environment.cpp \
734 $(SRC)/Android/InternalSensors.cpp \
735 $(SRC)/Android/SoundUtil.cpp \
736 $(SRC)/Android/TextUtil.cpp \
737 $(SRC)/Android/Timer.cpp \
738 $(SRC)/Android/EventBridge.cpp \
739 $(SRC)/Android/NativeInputListener.cpp \
740 $(SRC)/Android/PortBridge.cpp \
741 $(SRC)/Android/BluetoothHelper.cpp \
742 $(SRC)/Android/Battery.cpp \
743 $(SRC)/Android/Vibrator.cpp \
744 $(SRC)/Android/Context.cpp \
745 $(SRC)/Android/Main.cpp
746 ifneq ($(IOIOLIB_DIR),)
747 XCSOAR_SOURCES += \
748 $(SRC)/Device/Port/AndroidIOIOUartPort.cpp \
749 $(SRC)/Android/IOIOHelper.cpp
750 endif
752 ifeq ($(DEBUG),y)
753 XCSOAR_SOURCES += \
754 $(SRC)/Android/Assert.cpp
755 endif
757 else
758 XCSOAR_SOURCES += \
759 $(SRC)/CommandLine.cpp \
760 $(SRC)/Hardware/Battery.cpp \
761 $(SRC)/XCSoar.cpp
762 endif
764 ifeq ($(TARGET),ALTAIR)
765 XCSOAR_SOURCES += $(SRC)/Hardware/AltairControl.cpp
766 endif
768 ifeq ($(HAVE_NET),y)
769 XCSOAR_SOURCES += \
770 $(SRC)/Net/ToBuffer.cpp \
771 $(SRC)/Weather/NOAAGlue.cpp \
772 $(SRC)/Weather/METARParser.cpp \
773 $(SRC)/Weather/NOAAFormatter.cpp \
774 $(SRC)/Weather/NOAADownloader.cpp \
775 $(SRC)/Weather/NOAAStore.cpp
777 XCSOAR_SOURCES += \
778 $(SRC)/Tracking/LiveTrack24.cpp \
779 $(SRC)/Tracking/TrackingGlue.cpp
780 endif
782 XCSOAR_LDADD = \
783 $(RESOURCE_BINARY)
785 XCSOAR_DEPENDS = GETTEXT PROFILE \
786 FORM DATA_FIELD \
787 SCREEN \
788 DRIVER PORT \
789 IO ENGINE \
790 SHAPELIB JASPER ZZIP \
791 LIBNET \
792 UTIL MATH
794 ifeq ($(HAVE_POSIX),n)
795 ifeq ($(HAVE_CE),y)
796 XCSOAR_LDLIBS += -lwinsock
797 else
798 XCSOAR_LDLIBS += -lws2_32
799 endif
800 endif
802 XCSOAR_STRIP = y
804 ifeq ($(TARGET),ANDROID)
805 $(eval $(call link-shared-library,$(PROGRAM_NAME),XCSOAR))
806 else
807 $(eval $(call link-program,$(PROGRAM_NAME),XCSOAR))
808 endif
810 include $(topdir)/build/gettext.mk
811 include $(topdir)/build/cab.mk
813 OUTPUTS := $(XCSOAR_BIN) $(VALI_XCS_BIN)
814 OUTPUTS += $(XCSOARSETUP_DLL) $(XCSOARLAUNCH_DLL)
816 ifeq ($(TARGET),ANDROID)
817 OUTPUTS += $(ANDROID_BIN)/XCSoar-debug.apk
818 endif
820 all: $(OUTPUTS)
821 everything: $(OUTPUTS) debug build-check build-harness
823 clean: FORCE
824 @$(NQ)echo "cleaning all"
825 $(Q)rm -rf $(OUT)
826 $(RM) $(BUILDTESTS)
828 .PHONY: FORCE
830 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*.d),)
831 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*.d)
832 endif
833 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*/*.d),)
834 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*/*.d)
835 endif
836 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*.d),)
837 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*.d)
838 endif
839 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*.d),)
840 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*.d)
841 endif
842 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*/*.d),)
843 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*/*.d)
844 endif
845 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*/*/*.d),)
846 include $(wildcard $(TARGET_OUTPUT_DIR)/src/*/*/*/*/*/*.d)
847 endif
848 ifneq ($(wildcard $(TARGET_OUTPUT_DIR)/test/src/*.d),)
849 include $(wildcard $(TARGET_OUTPUT_DIR)/test/src/*.d)
850 endif