Thinking in C and *nix (CSC 295/282 2014S) : Outlines
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] [FAQ] [Teaching & Learning] - [Calendar]
Current: [Outline] [EBoard] [Lab] [Assignment]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines]
Reference: [EBook] - [ISO] [GNU Coding Standards] [GCC Documentation] - [TAoUP] [Make3]
Related Courses: [CSC 295 2013S]
Misc: [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] [Issue Tracker]
Held: Thursday, 10 April 2014
Back to Outline 09 - Automating Work with Make. On to Outline 11 - Debugging with GDB.
Summary
We continue our exploration of Make by exploring various ways to generalize makefiles.
Related Pages
Overview
Administrivia
$@ is "the target"$^ is "the prerequisites"$< is "the first prerequisite" (why might that
be useful?)$? is "the newer prerequisites"$* is "the stem of the target".o file from a .c file
should work no matter what the name of the .c file is.make -p.$(shell *command*)HTML = $(shell ls *.html) PS = $(subst .html,.ps,$(HTML))
find,
which, whereis, or something similar to
identify locations of files that you plan to use.makedepend does that for you.pkg-config helps you figure out where.
pkg-config --cflags *package* computes the
C flags.pkg-config --libs *package* computes the flags
for the linker.Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] [FAQ] [Teaching & Learning] - [Calendar]
Current: [Outline] [EBoard] [Lab] [Assignment]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines]
Reference: [EBook] - [ISO] [GNU Coding Standards] [GCC Documentation] - [TAoUP] [Make3]
Related Courses: [CSC 295 2013S]
Misc: [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] [Issue Tracker]
Copyright (c) 2013-14 Samuel A. Rebelsky.

This work is licensed under a Creative Commons Attribution 3.0 Unported License. To view a copy of this
license, visit http://creativecommons.org/licenses/by/3.0/
or send a letter to Creative Commons, 543 Howard Street, 5th Floor,
San Francisco, California, 94105, USA.