# Makefile: Editing of Tim Budd's "Makefile" by Bina Ramamurthy and # Kenneth W. Regan, Fall 1996, and again by KWR in Spring 2000 & Fall 2009 # This version "SeqClient.make" makes an expanded answer to Assignment 2 (3). # Produces executable named "SeqClient"---please keep names consistent. # # STANDARD MAKEFILE---For students to adapt for projects. # # USAGE---enter at command prompt in directory: make -f SeqClient.make # Unix Macros---choose which compiler and options here! CC = g++ -Wall # -Wall mandated now # CC = g++ -fhandle-exceptions -frtti # not needed anymore # CC = CC # name of the Sun C++ compiler if it's in your path. LIBS = -lm OBJ = .o RM = rm -fr # SYNTAX: Dependencies must be on same line as ":". Actions must # follow on succeeding line(s), and have at least one TAB indent. # Hence, be careful mouse-copying makefile text if tabs convert to spaces. all: SeqClient # Invoke this via "make -f SeqClient.make clean". No "-" before "clean"! clean: $(RM) *$(OBJ) # ISR/*$(OBJ)---etc. for any subdirectories # Below I hard-coded ".o" in place of the variable "$(OBJ)" to save room. StringWrapKey.o: StringWrapKey.cpp StringWrapKey.h #lives in base directory $(CC) -c StringWrapKey.cpp SeqClient.o: SeqClient.cpp StringWrapKey.h $(CC) -c SeqClient.cpp SeqClient: SeqClient.o StringWrapKey.o $(CC) -o seqclient SeqClient.o StringWrapKey.o $(LIBS) # The .o file with main should come before all the other object files in the # final linking stage.