+ - 0:00:00
Notes for current slide
Notes for next slide
  • AKA: Build Automation Software
    • Script/automate compilation

Build Systems

1 / 14

Q: What is a Build System?

2 / 14
  • AKA: Build Automation Software
    • Script/automate compilation

Q: What is a Build System?

Q: Who has used a one?

3 / 14
  • AKA: Build Automation Software
    • Script/automate compilation
  • Everyone in 280 and beyond

Make, the Grandbinary of them all

  • Automate compiling and linking
  • Easily repeat long/complex commands
  • Eliminate unnecessary work
4 / 14
  • Stuart Feldman, 1976, Bell Labs
    • Replaced shell scripts commonly used

Make syntax

(in 2 lines or less)

5 / 14

Make syntax

(in 2 lines or less)

target: dependencies
rules
6 / 14
  • target: The thing we're trying to build
    • dependencies: The thing(s) that must come before
    • rules: The steps needed to build target once the dependencies are all here

Let's Makefile!

  • Build a sentence
    • Subject
    • Verb
    • Object
7 / 14

Other build systems

8 / 14

Other build systems

make-based

  • GNU make
  • nmake
  • ...
9 / 14

Other build systems

make-based

  • GNU make
  • nmake
  • ...

Non-make/Proprietary

  • Bazel (Google's tool)
  • Buck (Facebook's tool)
  • MSBuild (Microsoft's tool)
  • xcodebuild (Apple's tool)
  • ...
10 / 14

Other build systems

make-based

  • GNU make
  • nmake
  • ...

Non-make/Proprietary

  • Bazel (Google's tool)
  • Buck (Facebook's tool)
  • MSBuild (Microsoft's tool)
  • xcodebuild (Apple's tool)
  • ...

Other languages for scripting and building

  • Rake (ruby)
  • Apache Ant (Java + XML)
  • A-A-P (python)
  • sbt (Scala)
  • ...
11 / 14

Why stop at compilation?

What else could we automate?

12 / 14

Why stop at compilation?

What else could we automate?

  • Build script generation
  • Installation
  • Testing
  • Continuous Integration (CI)
13 / 14
  • make-based tools build well and then... bash
  • proprietary tools integrate with or control IDEs
  • CI tools use build systems, IDE aware, Notifications

Closing remarks

  • New section!!
  • Max points from Advanced Exercises in 3 or more sections
  • Reminder: You must submit to staff at OH
14 / 14
  • 30 total AE points
  • (10 + 2) + (10 + 2 + 2) + (10 + 2 + 2) + (5 + 2 + 2) = 49
  • Missing AE in two sections = Max AE score of 28 points (6 AE)

Q: What is a Build System?

2 / 14
  • AKA: Build Automation Software
    • Script/automate compilation
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow