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, 3 April 2014
Back to Outline 08 - Vi, Continued. On to Outline 10 - Improved Make.
Summary
We consider some details of make, a useful tool for
automating the steps used to build programs on *nix systems.
Related Pages
Overview
Administrivia
*target*: *required-file-1* *required-file-2* ...
*instruction-1*
*instruction-2*
...
Makefilesrmath.c
is a math library I've designed and want to use in various projects.
(Right now, it only incluldes a gcd function.)srmath.h
is the header file that the C compiler uses for type checking and
other similar purposes.srtest.c
is my testing library.srtest.h
is the header file for my testing library.gcdtest.c
is a test program for the gcd function.gcd.c
is a user interface to the gcd function (that is, a program you can run
from the command line).make srmath.o without creating a rule.make *standard-target*
to acheive a particular goal.default: The default thing or things to build (e.g.,
the application or library)test or check: Instructions for testing the
main thing. (Generally predicated on building default
first.)install: Install the things we've just built.clean: Remove intermediate files (such as .o files).distclean: Remove everything but the source files.package: Put everything together into a tarball.CFLAGSLDFLAGSLDLIBS$(CC)$(COMPILE.c)$@ - The target$< - The first prereq$? - Newer prereqs$^ - All prereqs$* - The stem of the targetPrimary: [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.