MAKE HELP File: make.help Author: course (send problems to walton@deas) Version: 3 Purpose: "make" permits you to program UNIX "buttons" similar in function to the buttons in a popdown menu. You give these buttons names, called targets, and type "make target" instead of clicking on a button. These targets sometimes also correspond to output files made by executing some UNIX commands, and in this case "clicking" on the target means to execute the commands that make the file. To this is added the twist of suppressing execution if the file is newer than the files it is made from. Makefile Name of file containing make commands. Each directory can have its own Makefile. make UNIX command to make the according to instructions in current directory's Makefile. The "make" Commands in Makefile: Instructions for making given , , etc.: : ... . . . First make the s, if there are any instructions for doing so. Then, if the is older than any source, or the does not exist, execute the commands in order to make the . = Define (parameterless) macro. $() Replaced by macro definition. $@ Replaced by current name. $* Replaced by current name with extension removed. (xx.c becomes xx) $$ Denotes a single $. # If first character of line, identifies the line as a comment line. Notes: Commands are executed by the Bourne shell, sh(1), and not the C-shell, csh(1). E.g. ~ is unrecognized. Commands on separate lines are executed by separate invocations of sh(1) and cannot share shell variables. The UNIX command "make" with no arguments makes the first target in "Makefile". The precise format of the instructions for making a above is: : ... ..... That is, the colon MUST be followed by a TAB, and the command lines MUST begin with a TAB. To continue a command or macro definition or list of sources onto the next line, end the current line with a backslash (\). HP-UX make does NOT correctly identify the time of symbolically linked files (see man ln, the -s option, for a definition of symbolic linking).