-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jamrules
99 lines (67 loc) · 1.93 KB
/
Jamrules
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
88
89
90
91
92
93
94
95
96
97
98
if $(OS) = NT {
Echo Building for Windows! ;
#CC = gcc ;
#C++ = g++ ;
#LINK = g++ ;
#CCFLAGS = -I$(TOP) -Wall -Werror -g ;
C++FLAGS = /EHsc /W3 /WX /MD /D_USE_MATH_DEFINES /DWINDOWS /I$(TOP) /GR /GS ;
CCFLAGS = $(C++FLAGS) ;
SDLDIR = C:/lib/SDL-1.2.11 ;
SDLC++FLAGS = /I$(SDLDIR)/include ;
LINKLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib SDLmain.lib SDL.lib OpenGL32.lib GlU32.lib ;
LINKFLAGS = /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /MACHINE:X86 /INCREMENTAL:NO /NOLOGO /LIBPATH:"$(SDLDIR)/lib" /NODEFAULTLIB:LIBC ;
SDLLINKLIBS = ;
} else {
CC = gcc ;
C++ = g++ ;
LINK = g++ ;
CCFLAGS = -I$(TOP) -Wall -Werror -g ;
C++FLAGS = -I$(TOP) -Wall -Werror -g ;
SDLC++FLAGS = `sdl-config --cflags` ;
SDLLINKLIBS = `sdl-config --libs` ;
MAGICKLDFLAGS = `Magick++-config --ldflags` ;
MAGICKLINKLIBS = `Magick++-config --libs` ;
if $(OS) = LINUX { SDLLINKLIBS += -lGL -lGLU ; Echo Building for Linux ; }
if $(OS) = MACOSX {
C++FLAGS += -DBIG_ENDIAN -DMACOSX ;
SDLLINKLIBS += -framework OpenGL ;
Echo Building for MacOS (BIG_ENDIAN and MACOSX defined) ;
}
}
rule MyObjects {
for FILE in $(1:S=$(SUFOBJ)) {
Depends $(FILE:D=$(SUBDIR)) : $(FILE:G=$(SOURCE_GRIST)) ;
}
Objects $(1) ;
}
#Below is from http://maillist.perforce.com/pipermail/jamming/2000-October/001065.html
# Resource : builds a resource file
#
rule Resource
{
SEARCH on $(>) = $(SEARCH_SOURCE) ;
MakeLocate $(<) : $(LOCATE_TARGET) ;
DEPENDS $(<) : $(>) ;
Clean clean : $(<) ;
RCFLAGS on $(<) = $(RCFLAGS) /d$(RCDEFINES) ;
}
actions Resource
{
RC $(RCFLAGS) /Fo$(<) $(>)
}
#
# LinkResource : Links the resource file into an executable
#
rule LinkResource
{
local t r ;
if $(<:S)
{
t = $(<) ;
} else {
t = $(<:S=$(SUFEXE)) ;
}
r = $(>:S=.res) ;
DEPENDS $(t) : $(r) ;
NEEDLIBS on $(t) += $(r) ;
}