SCC.131: Digital Systems - Build Automation

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/16

flashcard set

Earn XP

Description and Tags

Flashcards reviewing the lecture on build automation, focusing on Makefiles.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

17 Terms

1
New cards

What is the purpose of build automation systems?

To automate the process of compiling source code into binary executable code.

2
New cards

List some examples of build automation systems.

GNU Make, MPW Make, Google Bazel, SCons.

3
New cards

What do build script generation tools do?

Generate files for build automation systems based on a high-level configuration.

4
New cards

Give some examples of build script generation tools.

GNU Build System (autotools), CMake, Apache Meson.

5
New cards

What is the purpose of a makefile?

contains the project structure and instructions for creating binary files

6
New cards

What are the main components of a Make RULE?

TARGET, DEPENDENCIES, and ACTIONS.

7
New cards

In a makefile, how are ACTIONS indented?

Using a tab character.

8
New cards

What is the function of the backslash () in a makefile ACTION?

To break a long ACTION into multiple lines.

9
New cards

What is the significance of comparing timestamps between a TARGET and its DEPENDENCIES?

ACTIONS are executed only if the TARGET does not exist or is older than the DEPENDENCIES.

10
New cards

What happens if you run 'make' without specifying a TARGET when multiple TARGETS are present?

It will execute the ACTIONS of TARGET all (if it has defined) or the first TARGET.

11
New cards

In makefile version 3, how are variables defined and used?

Variables are defined with a name and value. Use $ and parentheses or braces to expand variables, e.g., $(CC).

12
New cards

What is a 'phony' TARGET in a makefile?

TARGETS that do not represent filenames and are always treated as 'out of date'.

13
New cards

What is the function of the 'clean' TARGET?

Removes object files or other generated files to clean the project directory.

14
New cards

What does the automatic variable '$@' represent in a makefile?

The filename of the TARGET.

15
New cards

What does the automatic variable '$<' represent in a makefile?

The filename of the first DEPENDENCY.

16
New cards

What does the automatic variable '$^' represent in a makefile?

The filenames of all DEPENDENCIES.

17
New cards

What does the pattern matching character '%' do in a makefile?

Matches a DEPENDENCY filename without the extension.