Skip to content
June 19, 2011 / Chris Merck

A Simple but Powerful Makefile Template

Want to build several executables in the same directory, each of which uses several .c files, and may have common dependancies linked in? Then this makefile is for you:

# Makefile for swdsp project

CC= gcc
CFLAGS= -g
SWDSP_LIBS = -lm -lpthread -ljack

EXES= swdsp-example #vsynth

all: $(EXES)

swdsp.o: swdsp.h swdsp.c
	$(CC) $(CFLAGS) -c swdsp.c

swdsp-example: swdsp-example.c swdsp.o
	$(CC) $(CFLAGS) $(SWDSP_LIBS) -o swdsp-example swdsp-example.c swdsp.o

#vsynth: vsynth.c swdsp.o
#	$(CC) $(CFLAGS) $(SWDSP_LIBS) -o vsynth vsynth.c swdsp.o

clean:
	rm -f $(EXES) *.o

This builds a program called “swdsp-example”, which depends on the file “swdsp.c”. There is also a project called “vsynth”, but it is commented-out here.

You will need to change it to fit your needs, but the basic philosophy is helpful, imo.

Warning: The indenting is done with tabs. Failure to do so will result in great pain.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: