1 |
#hello world |
#hello world |
2 |
#my first attempt at making a makefile |
#my first attempt at making a makefile |
3 |
|
|
|
CFLAGS= |
|
4 |
SDL_CFLAGS := $(shell sdl-config --cflags) |
SDL_CFLAGS := $(shell sdl-config --cflags) |
5 |
SDL_LDFLAGS := $(shell sdl-config --libs) |
SDL_LDFLAGS := $(shell sdl-config --libs) |
6 |
|
SMPEG_CFLAGS := $(shell smpeg-config --cflags) |
7 |
|
SMPEG_LDFLAGS := $(shell smpeg-config --libs) |
8 |
|
CFLAGS= $(SMPEG_CFLAGS) |
9 |
MIXER_FLAGS := -lSDL_mixer -lpthread |
MIXER_FLAGS := -lSDL_mixer -lpthread |
10 |
IMG_FLAGS := -lSDL_image |
IMG_FLAGS := -lSDL_image |
11 |
CC=g++ |
CC=g++ |
12 |
SOURCES = |
SOURCES = |
13 |
#these sources need to be linked to the SDL libs so may have special flag settings |
#these sources need to be linked to the SDL libs so may have special flag settings |
14 |
SDL_SOURCES = bontz.cpp lib/font.cpp lib/CSprite.cpp lib/CSpriteBase.cpp lib/textbox.cpp |
SDL_SOURCES = bontz.cpp lib/font.cpp lib/CSprite.cpp lib/CSpriteBase.cpp lib/textbox.cpp |
15 |
OBJS = $(SOURCES:.cpp=.o) $(SDL_SOURCES:.cpp=.o) |
OBJS = $(SOURCES:%.cpp=%.o) $(SDL_SOURCES:%.cpp=%.o) |
16 |
TARGET = bontz |
TARGET = bontz |
17 |
FISHRACE_TARGET = fishrace |
FISHRACE_TARGET = fishrace |
18 |
DEMO_TARGET = demo |
DEMO_TARGET = demo |
20 |
|
|
21 |
#builds all, builds the target |
#builds all, builds the target |
22 |
all: $(OBJS) |
all: $(OBJS) |
23 |
$(CC) $(SDL_LDFLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(TARGET) |
$(CC) $(SDL_LDFLAGS) $(SMPEG_LDLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(TARGET) |
24 |
|
|
25 |
demo: $(OBJS) |
demo: $(OBJS) |
26 |
$(CC) $(SDL_LDFLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(DEMO_TARGET) |
$(CC) $(SDL_LDFLAGS) $(SMPEG_LDLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(DEMO_TARGET) |
27 |
|
|
28 |
fishrace: $(OBJS) |
fishrace: $(OBJS) |
29 |
$(CC) $(SDL_LDFLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(FISHRACE_TARGET) |
$(CC) $(SDL_LDFLAGS) $(SMPEG_LDLAGS) $(MIXER_FLAGS) $(IMG_FLAGS) $(OBJS) -o $(FISHRACE_TARGET) |
30 |
|
|
31 |
#build the sources |
#build the sources |
32 |
$(SOURCES): |
#$(SOURCES): |
33 |
$(CC) $(CFLAGS) -c $@ |
# $(CC) $(CFLAGS) -c $@ |
34 |
|
|
35 |
#build SDL sources |
#build SDL sources |
36 |
$(SDL_SOURCES): |
#$(SDL_SOURCES): |
37 |
$(CC) $(SDL_CFLAGS) -c $@ |
# $(CC) $(SMPEG_CFLAGS) $(SDL_CFLAGS) -c $@ |
38 |
|
|
39 |
|
%.o: %.cpp |
40 |
|
$(CC) $(SMPEG_CFLAGS) $(SDL_CFLAGS) -c -o $@ $< |
41 |
|
|
42 |
# clean out the dross |
# clean out the dross |
43 |
clean: |
clean: |
44 |
-$(RM) $(TARGET) *.o lib/*.o |
-$(RM) $(TARGET) *.o lib/*.o |
45 |
|
|
46 |
|
|
|
|
|