#My first makefile CC = g++ LD = g++ CFLAGS = -g -Wall -fhandle-exceptions LDFLAGS = -g # use this command to erase files. RM = /bin/rm -f # list of generated object files. OBJS = main.o stack.o popunit.o # program executable file name. PROG = run # top-level rule, to compile everything. all: $(PROG) $(PROG): $(OBJS) $(LD) $(LDFLAGS) $(OBJS) -o $(PROG) # rule for file "main.o". main.o: main.C stack.h popunit.o $(CC) $(CFLAGS) -c main.C # rule for file "stack.o". stack.o: stack.C stack.h $(CC) -lm $(CFLAGS) -c stack.C # rule for file "stack.o". popunit.o: popunit.C popunit.h $(CC) -lm $(CFLAGS) -c popunit.C # rule for cleaning re-compilable files. clean: $(RM) $(PROG) $(OBJS)