3 # Open Watcom makefile for Freeglut
\r
5 # wmake -f Makefile.wat {target}
\r
6 # Where target is one of:
\r
16 # WATCOM enviroment variable points to your Watcom installation directory
\r
17 # %WATCOM%\BINNT and %WATCOM%\BINW are in your path
\r
19 RELEASE_STATIC_DIR = release-static
\r
20 RELEASE_DYNAMIC_DIR = release-dynamic
\r
21 DEBUG_STATIC_DIR = debug-static
\r
22 DEBUG_DYNAMIC_DIR = debug-dynamic
\r
24 INCLUDE_DIR = ..\include
\r
27 COMPILE_COMMON_OPTIONS = -i$(INCLUDE_DIR);$(%WATCOM)\h;$(%WATCOM)\h\nt -fp6 -w4 -e25 -wcd202 -bt=nt -mf -zq
\r
28 COMPILE_DEBUG_OPTIONS = -d3 -od -DDEBUG -D_DEBUG
\r
29 COMPILE_RELEASE_OPTIONS = -d0 -otexanh
\r
30 COMPILE_STATIC_OPTIONS = -DFREEGLUT_STATIC -6r
\r
31 COMPILE_DYNAMIC_OPTIONS = -DFREEGLUT_EXPORTS -6s -bd -bm
\r
32 COMPILE_OPTIONS = $(COMPILE_COMMON_OPTIONS) $(COMPILE_$(MODE)_OPTIONS) $(COMPILE_$(TYPE)_OPTIONS)
\r
35 LINK_OPTIONS = SYS nt_dll op m op maxe=25 op q op symf FIL
\r
38 LIB_COMMON_OPTIONS = -q -n -b
\r
39 LIB_DYNAMIC_OPTIONS =
\r
40 LIB_STATIC_OPTIONS = -c -p=512
\r
41 LIB_OPTIONS = $(LIB_COMMON_OPTIONS) $(LIB_$(TYPE)_OPTIONS)
\r
43 MAKE = wmake -h -f ..\Makefile.wat
\r
46 freeglut_callbacks.obj &
\r
47 freeglut_cursor.obj &
\r
48 freeglut_display.obj &
\r
51 freeglut_font_data.obj &
\r
52 freeglut_gamemode.obj &
\r
53 freeglut_geometry.obj &
\r
54 freeglut_glutfont_definitions.obj &
\r
56 freeglut_input_devices.obj &
\r
57 freeglut_joystick.obj &
\r
61 freeglut_overlay.obj &
\r
62 freeglut_state.obj &
\r
63 freeglut_stroke_mono_roman.obj &
\r
64 freeglut_stroke_roman.obj &
\r
65 freeglut_structure.obj &
\r
66 freeglut_teapot.obj &
\r
67 freeglut_videoresize.obj &
\r
72 @echo wmake -f Makefile.wat {target}
\r
73 @echo Where target is one of:
\r
76 @echo release-static
\r
77 @echo release-dynamic
\r
84 freeglut_static.lib : $(OBJ_FILES)
\r
85 $(LIB_TOOL) $(LIB_OPTIONS) $^* $(OBJ_FILES)
\r
87 # dynamic link library
\r
88 freeglut.dll : $(OBJ_FILES)
\r
89 $(LINKER) name $^* $(LINK_OPTIONS) $(OBJ_FILES: =,)
\r
91 freeglut.lib : freeglut.dll
\r
92 $(LIB_TOOL) $(LIB_OPTIONS) $^. +$[.
\r
95 freeglut_callbacks.obj : $(SRC_DIR)\freeglut_callbacks.c
\r
96 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
98 freeglut_cursor.obj : $(SRC_DIR)\freeglut_cursor.c
\r
99 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
101 freeglut_display.obj : $(SRC_DIR)\freeglut_display.c
\r
102 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
104 freeglut_ext.obj : $(SRC_DIR)\freeglut_ext.c
\r
105 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
107 freeglut_font.obj : $(SRC_DIR)\freeglut_font.c
\r
108 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
110 freeglut_font_data.obj : $(SRC_DIR)\freeglut_font_data.c
\r
111 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
113 freeglut_gamemode.obj : $(SRC_DIR)\freeglut_gamemode.c
\r
114 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
116 freeglut_geometry.obj : $(SRC_DIR)\freeglut_geometry.c
\r
117 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
119 freeglut_glutfont_definitions.obj : $(SRC_DIR)\freeglut_glutfont_definitions.c
\r
120 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
122 freeglut_init.obj : $(SRC_DIR)\freeglut_init.c
\r
123 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
125 freeglut_input_devices.obj : $(SRC_DIR)\freeglut_input_devices.c
\r
126 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
128 freeglut_joystick.obj : $(SRC_DIR)\freeglut_joystick.c
\r
129 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
131 freeglut_main.obj : $(SRC_DIR)\freeglut_main.c
\r
132 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
134 freeglut_menu.obj : $(SRC_DIR)\freeglut_menu.c
\r
135 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
137 freeglut_misc.obj : $(SRC_DIR)\freeglut_misc.c
\r
138 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
140 freeglut_overlay.obj : $(SRC_DIR)\freeglut_overlay.c
\r
141 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
143 freeglut_state.obj : $(SRC_DIR)\freeglut_state.c
\r
144 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
146 freeglut_stroke_mono_roman.obj : $(SRC_DIR)\freeglut_stroke_mono_roman.c
\r
147 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
149 freeglut_stroke_roman.obj : $(SRC_DIR)\freeglut_stroke_roman.c
\r
150 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
152 freeglut_structure.obj : $(SRC_DIR)\freeglut_structure.c
\r
153 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
155 freeglut_teapot.obj : $(SRC_DIR)\freeglut_teapot.c
\r
156 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
158 freeglut_videoresize.obj : $(SRC_DIR)\freeglut_videoresize.c
\r
159 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
161 freeglut_window.obj : $(SRC_DIR)\freeglut_window.c
\r
162 $(COMPILER) $(SRC_DIR)\$[. $(COMPILE_OPTIONS)
\r
165 @-del $(DEBUG_STATIC_DIR)\*.obj
\r
166 @-del $(DEBUG_DYNAMIC_DIR)\*.obj
\r
167 @-del $(RELEASE_STATIC_DIR)\*.obj
\r
168 @-del $(RELEASE_DYNAMIC_DIR)\*.obj
\r
169 @echo All object files removed
\r
171 debug-static : .SYMBOLIC
\r
172 @-if not exist $(DEBUG_STATIC_DIR)\. mkdir $(DEBUG_STATIC_DIR)
\r
173 @-cd $(DEBUG_STATIC_DIR)
\r
174 @$(MAKE) MODE=DEBUG TYPE=STATIC freeglut_static.lib
\r
176 @echo Debug static library up to date
\r
178 debug-dynamic : .SYMBOLIC
\r
179 @-if not exist $(DEBUG_DYNAMIC_DIR)\. mkdir $(DEBUG_DYNAMIC_DIR)
\r
180 @-cd $(DEBUG_DYNAMIC_DIR)
\r
181 @$(MAKE) MODE=DEBUG TYPE=DYNAMIC freeglut.lib
\r
183 @echo Debug dynamic link library up to date
\r
185 release-static : .SYMBOLIC
\r
186 @-if not exist $(RELEASE_STATIC_DIR)\. mkdir $(RELEASE_STATIC_DIR)
\r
187 @-cd $(RELEASE_STATIC_DIR)
\r
188 @$(MAKE) MODE=RELEASE TYPE=STATIC freeglut_static.lib
\r
190 @echo Release static library up to date
\r
192 release-dynamic : .SYMBOLIC
\r
193 @-if not exist $(RELEASE_DYNAMIC_DIR)\. mkdir $(RELEASE_DYNAMIC_DIR)
\r
194 @-cd $(RELEASE_DYNAMIC_DIR)
\r
195 @$(MAKE) MODE=RELEASE TYPE=DYNAMIC freeglut.lib
\r
197 @echo Release dynamic link library up to date
\r
199 debug : debug-static debug-dynamic .SYMBOLIC
\r
200 @echo Debug targets up to date
\r
202 release : release-static release-dynamic .SYMBOLIC
\r
203 @echo Release targets up to date
\r
205 all : debug release .SYMBOLIC
\r
206 @echo All targets up to date
\r