File tree Expand file tree Collapse file tree 1 file changed +57
-23
lines changed Expand file tree Collapse file tree 1 file changed +57
-23
lines changed Original file line number Diff line number Diff line change 1- # what to compile
2- OBJS = main.cpp SU.cpp
1+ #
2+ # VARIABLES AND SETTINGS
3+ #
34
4- # what to compile with
5- CC = g++
5+ # compiler
6+ CC := g++
7+ # compilation flags
8+ CFLAGS := -O -Wall -std=c++11 ` sdl-config --cflags ` -DUSING_SDL1
9+ LFLAGS := ` sdl-config --libs ` -lSDL_ttf
610
7- # compile flags
8- COMPILER_FLAGS = -O -Wall -std=c++11 ` sdl-config --cflags ` -DUSING_SDL1
9- COMPILER_FLAGS2 = -O -Wall -std=c++11 ` sdl2-config --cflags `
11+ # source files
12+ SRCDIR := src
13+ SRCEXT := cpp
14+ SRCS := $(wildcard $(SRCDIR ) /* .$(SRCEXT ) ) $(wildcard $(SRCDIR ) /SU/* .$(SRCEXT ) )
1015
11- # what to link
12- LINKER_FLAGS = ` sdl-config --libs ` -lSDL_ttf
13- LINKER_FLAGS2 = ` sdl2-config --libs ` -lSDL2_ttf
16+ # building
17+ BUILDDIR := build
18+ OBJS := $( patsubst $( SRCDIR ) / % , $( BUILDDIR ) / % , $( SRCS:. $( SRCEXT ) =.o ) )
1419
15- # output name
16- OBJ_NAME = sdl_universe
20+ # output
21+ OUTPUTDIR := bin
22+ TARGET := SDL_Universe
1723
18- default : sdl1
1924
20- sdl2 : $(OBJS )
21- @echo " Building with SDL2"
22- $(CC ) $(OBJS ) $(COMPILER_FLAGS2 ) $(LINKER_FLAGS2 ) -o $(OBJ_NAME )
23- ./$(OBJ_NAME )
2425
25- sdl1 : $(OBJS )
26- @echo " Building with SDL1.2"
27- $(CC ) $(OBJS ) $(COMPILER_FLAGS ) $(LINKER_FLAGS ) -o $(OBJ_NAME )
28- ./$(OBJ_NAME )
2926
30- # fresh start
27+ #
28+ # RULES
29+ #
30+
31+ run : $(TARGET )
32+ @echo " "
33+ @echo " ### RUNNING"
34+ @echo -n " "
35+ ./$(TARGET )
36+
37+ # linking rule
38+ $(TARGET ) : $(OBJS )
39+ @echo " "
40+ @echo " ### LINKING" $@
41+ @echo -n " "
42+ $(CC ) $^ $(LFLAGS ) -o $(TARGET )
43+
44+ # compilation rule
45+ $(BUILDDIR ) /% .o : $(SRCDIR ) /% .$(SRCEXT )
46+ @echo " "
47+ @echo " ### COMPILING" $@
48+ @echo -n " "
49+ $(CC ) $(CFLAGS ) -I include -c -o $@ $<
50+
51+ # cleanup
3152clean :
32- rm -f $(OBJ_NAME ) * .o
53+ @echo " "
54+ @echo " ### CLEANING"
55+ @echo -n " "
56+ $(RM ) -r $(BUILDDIR ) /* .o
57+ @echo -n " "
58+ $(RM ) -r $(BUILDDIR ) /SU/* .o
59+ @echo -n " "
60+ $(RM ) -r $(TARGET )
61+
62+ # variable print for debug purposes
63+ debug-% :
64+ @echo $* = $($* )
65+
66+ .PHONY : clean
You can’t perform that action at this time.
0 commit comments