forked from 15-466/15-466-f20-base0
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jamfile
87 lines (80 loc) · 2.96 KB
/
Jamfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#---- setup ----
#This portion of the Jamfile sets up compiler and linker flags per-OS.
#You shouldn't need to change it.
if $(OS) = NT { #Windows
NEST_LIBS = ..\\nest-libs\\windows ;
C++FLAGS = /nologo /Z7 /c /EHsc /W3 /WX /MD
/I"$(NEST_LIBS)/SDL2/include"
/I"$(NEST_LIBS)/glm/include"
/I"$(NEST_LIBS)/libpng/include"
#disable a few warnings:
/wd4146 #-1U is still unsigned
/wd4297 #unforunately SDLmain is nothrow
;
LINKFLAGS = /nologo /SUBSYSTEM:CONSOLE /DEBUG:FASTLINK
/LIBPATH:"$(NEST_LIBS)/SDL2/lib"
/LIBPATH:"$(NEST_LIBS)/libpng/lib"
/LIBPATH:"$(NEST_LIBS)/zlib/lib"
;
LINKLIBS =
SDL2main.lib SDL2.lib OpenGL32.lib
libpng.lib zlib.lib
;
File SDL2.dll : $(NEST_LIBS)\\SDL2\\dist\\SDL2.dll ;
File README-SDL.txt : $(NEST_LIBS)\\SDL2\\dist\\README-SDL.txt ;
MakeLocate SDL2.dll : dist ;
MakeLocate README-SDL.txt : dist ;
} else if $(OS) = MACOSX { #MacOS
NEST_LIBS = ../nest-libs/macos ;
C++ = clang++ ;
C++FLAGS =
-std=c++14 -g -Wall -Werror
`'$(NEST_LIBS)/SDL2/bin/sdl2-config' --prefix='$(NEST_LIBS)/SDL2' --cflags` #SDL2
-I$(NEST_LIBS)/glm/include #glm
-I$(NEST_LIBS)/libpng/include
;
LINK = clang++ ;
LINKFLAGS = -std=c++14 -g -Wall -Werror ;
LINKLIBS =
`'$(NEST_LIBS)/SDL2/bin/sdl2-config' --prefix='$(NEST_LIBS)/SDL2' --static-libs` -framework OpenGL #SDL2
-L$(NEST_LIBS)/libpng/lib -lpng #libpng
-L$(NEST_LIBS)/zlib/lib -lz
;
File README-SDL.txt : $(NEST_LIBS)/SDL2/dist/README-SDL.txt ;
MakeLocate README-SDL.txt : dist ;
} else if $(OS) = LINUX { #Linux
NEST_LIBS = ../nest-libs/linux ;
C++ = g++ -no-pie ;
C++FLAGS =
-std=c++14 -g -Wall -Werror
`'$(NEST_LIBS)/SDL2/bin/sdl2-config' --prefix='$(NEST_LIBS)/SDL2' --cflags` #SDL2
-I$(NEST_LIBS)/glm/include #glm
-I$(NEST_LIBS)/libpng/include #libpng
;
LINK = g++ -no-pie ;
LINKFLAGS = -std=c++14 -g -Wall -Werror ;
LINKLIBS =
`'$(NEST_LIBS)/SDL2/bin/sdl2-config' --prefix='$(NEST_LIBS)/SDL2' --static-libs` -lGL #SDL2
-L$(NEST_LIBS)/libpng/lib -lpng #libpng
-L$(NEST_LIBS)/zlib/lib -lz #zlib
;
#`PATH=$(KIT_LIBS)/SDL2/bin:$PATH sdl2-config --static-libs` -lGL #SDL2 (old way that allows system libs to also work)
File README-SDL.txt : $(NEST_LIBS)/SDL2/dist/README-SDL.txt ;
MakeLocate README-SDL.txt : dist ;
}
#---- build ----
#This is the part of the file that tells Jam how to build your project.
#Store the names of all the .cpp files to build into a variable:
GAME_NAMES =
PongMode
main
load_save_png
gl_compile_program
ColorTextureProgram
Mode
GL
;
LOCATE_TARGET = objs ; #put objects in 'objs' directory
Objects $(GAME_NAMES:S=.cpp) ;
LOCATE_TARGET = dist ; #put main in 'dist' directory
MainFromObjects pong : $(GAME_NAMES:S=$(SUFOBJ)) ;