application: Add humble beginnings of the application code.
[gps-watch.git] / SConscript.target
index b5eb085628154436ba9ed7dae9d4239dc0ffd62d..b42eecef5f6166c51d73698c4abfe52e89e679db 100644 (file)
@@ -83,3 +83,31 @@ for s in ['intermediate', 'final']:
     bootloader_bin = bootloader_env.Objcopy(bootloader_elf)
 
     Default(bootloader_bin)
+
+libapplication_source_files = [
+    'src/application/main.rs', # Must be listed first (see below).
+]
+
+libapplication = env.Rustc('libapplication.a', libapplication_source_files[0])
+
+for f in libapplication_source_files:
+    Depends(libapplication, f)
+
+Depends(libapplication, 'libcommon.rlib')
+Depends(libapplication, 'libcommon.a')
+
+start_o = env.Object('src/application/start.c')
+
+application_env = env.Clone()
+
+application_env.Append(LINKFLAGS = [
+    '-Tsrc/application/application.ld'
+])
+
+application_elf = application_env.Program('gps-watch-application.elf',
+                                          start_o,
+                                          LIBS = ['application', 'common'])
+
+application_bin = application_env.Objcopy(application_elf)
+
+Default(application_bin)