CSC323 2010S Software Design

Class 12: Tools: Project Management with Make

Back to Tools: Version Management with Subversion. On to Concepts: Dynamic Code.

This outline is also available in PDF.

Held: Thursday, March 4, 2010

Summary: While our primary focus today is supposedly make, we will consider a wide variety of topics.

Related Pages:



Project: Use Cases

Bentley's The Most Beautiful Code I Never Wrote

Subversion's Delta Trees


Hands on Make

Part one: Building a simple C program

Part two: Making a library

Ideally, the library code we write would eventually end up in a library that we could link.

Part three: A different task

It is often useful to convert html documents to more useful formats. Write a generic makefile for such conversion.


#ifndef __ARRAY_UTILS_H__
#define __ARRAY_UTILS_H__

 * Swap the elements in positions i and j of A.
 * Pre: 
 *   0 <= i,j < length of A
 *   A[i] = I
 *   A[j] = J
 * Post
 *   A[i] = J
 *   A[j] = I
 *   For all x, x != i and x != j, A[x] is unchanged.
str_swap (char *A[], int i, int j);

#endif /* __ARRAY_UTILS_H__ */


#include "array-utils.h"


Back to Tools: Version Management with Subversion. On to Concepts: Dynamic Code.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Tue May 11 12:40:52 2010.
The source to the document was last modified on Mon Jan 25 20:52:44 2010.
This document may be found at

You may wish to validate this document's HTML ; Valid CSS! ; Creative Commons License

Samuel A. Rebelsky,

Copyright © 2010 Samuel A. Rebelsky. This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. To view a copy of this license, visit or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.