# # simple example Makefile for compiling main program (main.c) # and functions (declared in foobar.h, defined in foobar.c). # # define a variable # reference later with $(CFLAGS) CFLAGS = -Wall -pedantic -O -std=c99 # combine results of separately compiling main.c and foobar.c main: main.o foobar.o gcc -o main main.o foobar.o # compile main.c and foobar.c separately main.o: main.c defs.h foobar.h gcc $(CFLAGS) -c main.c foobar.o: foobar.c defs.h foobar.h gcc $(CFLAGS) -c foobar.c # cleanup -- convenient for deleting files we could recreate .PHONY: clean clean: rm main.o foobar.o main