1 # Hey Emacs, this is a Makefile. -*- Mode: Makefile -*-
3 # Common Makefile section
5 # Written by Curtis Olson, started May 1997.
7 # Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 # (Log is kept at end of this file)
25 #---------------------------------------------------------------------------
28 #---------------------------------------------------------------------------
30 #---------------------------------------------------------------------------
34 FG_VERSION = $(FG_VERSION_MAJOR).$(FG_VERSION_MINOR)
37 #---------------------------------------------------------------------------
39 #---------------------------------------------------------------------------
43 BISON = bison -v --no-lines
49 #---------------------------------------------------------------------------
50 # Global Compile Options
52 # You may set FG_CFLAGS to include any of the following options depending on
55 # -g - Compile with debugging symbols
57 # -Wall - Enable full compiler warnings
59 # -O2 - Enable compiler optimization
61 # -O3 -fomit-frame-pointer -funroll-all-loops -ffast-math
62 # - Other potential compiler optimization flags
63 #---------------------------------------------------------------------------
65 GLOBAL_CFLAGS = -g -Wall -DVERSION=\"$(FG_VERSION)\"
68 #---------------------------------------------------------------------------
69 # Platform specific compile options, these should be set with FG_CFLAGS
70 # below. These have been predefined for the supported platforms below.
72 # -DNO_PRINTF - Disable all printf()'s. Works by replacing the printf
73 # fuction with an empty function.
75 # -DUSE_ITIMER - Use setitimer(), getitimer(), and signal() to mimic
76 # a real time system and call the flight model routines
77 # at a regular interval, rather than between screen updates
78 # which can be highly variable. This can make the flight
79 # model calculations much smoother.
81 # -DUSE_FTIME - Use ftime() to get an accurate current time instead of
84 # -DUSE_RAND - Use rand() instead of random()
86 #---------------------------------------------------------------------------
89 #---------------------------------------------------------------------------
90 # Uncomment one of the following sections depending on your system
92 # You may set FG_GRAPHICS to include any of the following options depending
93 # on your environment:
94 #---------------------------------------------------------------------------
96 #---------------------------------------------------------------------------
97 # Linux/Mesa with the GLUT toolkit
99 INTERFACE_FLAGS = -DGLUT
100 INTERFACE_LIBS = -lglut
101 INTERFACE_FILES = GLUTmain.c GLUTkey.c
102 MESA_LIBS = -L/usr/lib/mesa -lMesatk -lMesaaux -lMesaGLU -lMesaGL
103 X11_LIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11
104 GRAPHICS_LIBS = $(MESA_LIBS) $(X11_LIBS)
105 FG_CFLAGS = $(GLOBAL_CFLAGS)
106 #---------------------------------------------------------------------------
108 #---------------------------------------------------------------------------
109 # SGI IRIX with the GLUT toolkit
110 # (Surprisingly, this also works on our SunOS 4.x machine with the
111 # way we have Mesa & Glut installed.)
113 # INTERFACE_FLAGS = -DGLUT
114 # INTERFACE_LIBS = -lglut
115 # INTERFACE_FILES = GLUTmain.c GLUTkey.c
116 # GRAPHICS_LIBS = -lGLU -lGL -lXmu -lX11
117 # FG_CFLAGS = $(GLOBAL_CFLAGS)
118 #---------------------------------------------------------------------------
120 #---------------------------------------------------------------------------
121 # Sun/Solaris with the GLUT toolkit
123 # VERSION=\"$(VERSION)\"
124 # INTERFACE_FLAGS = -DGLUT
125 # INTERFACE_LIBS = -lglut
126 # INTERFACE_FILES = GLUTmain.c GLUTkey.c
127 # GRAPHICS_LIBS = -lGLU -lGL -lXext -lXmu -lXi -lX11
128 # FG_CFLAGS = $(GLOBAL_CFLAGS)
129 #---------------------------------------------------------------------------
131 #---------------------------------------------------------------------------
132 # Cygnus Win32 (gcc based) with a static version of the GLUT toolkit
134 # INTERFACE_FLAGS = -DGLUT
135 # INTERFACE_LIBS = ../Win32/libglut.a
136 # INTERFACE_FILES = GLUTmain.c GLUTkey.c
137 # GRAPHICS_LIBS = -lglu32 -lopengl32 -luser32 -lgdi32
138 # FG_CFLAGS = $(GLOBAL_CFLAGS) -DWIN32 -DUSE_RAND
140 #---------------------------------------------------------------------------
143 #---------------------------------------------------------------------------
145 # Revision 1.24 1997/12/12 21:41:24 curt
146 # More light/material property tweaking ... still a ways off.
148 # Revision 1.23 1997/12/12 19:52:32 curt
151 # Revision 1.22 1997/12/11 04:43:53 curt
152 # Fixed sun vector and lighting problems. I thing the moon is now lit
155 # Revision 1.21 1997/12/10 01:19:42 curt
156 # Tweaks for verion 0.15 release.
158 # Revision 1.20 1997/12/09 04:25:25 curt
159 # Working on adding a global lighting params structure.
161 # Revision 1.19 1997/11/25 19:25:27 curt
162 # Changes to integrate Durk's moon/sun code updates + clean up.
164 # Revision 1.18 1997/10/28 19:35:41 curt
165 # Organizational changes.
167 # Revision 1.17 1997/10/25 03:30:02 curt
170 # Revision 1.16 1997/10/25 03:24:21 curt
171 # Incorporated sun, moon, and star positioning code contributed by Durk Talsma.
173 # Revision 1.15 1997/09/23 00:29:27 curt
174 # Tweaks to get things to compile with gcc-win32.
176 # Revision 1.14 1997/09/16 22:14:47 curt
177 # Tweaked time of day lighting equations. Don't draw stars during the day.
179 # Revision 1.13 1997/09/04 02:17:19 curt
182 # Revision 1.12 1997/08/25 20:27:21 curt
183 # Merged in initial HUD and Joystick code.
185 # Revision 1.11 1997/08/22 21:34:33 curt
186 # Doing a bit of reorganizing and house cleaning.
188 # Revision 1.10 1997/08/16 12:22:19 curt
189 # Tweaks for new version.
191 # Revision 1.9 1997/07/19 22:41:35 curt
194 # Revision 1.8 1997/07/18 23:41:20 curt
195 # Tweaks for building with Cygnus Win32 compiler.
197 # Revision 1.7 1997/07/18 14:28:34 curt
198 # Hacked in some support for wind/turbulence.
200 # Revision 1.6 1997/07/16 20:04:42 curt
201 # Minor tweaks to aid Win32 port.
203 # Revision 1.5 1997/07/12 02:25:53 curt
206 # Revision 1.4 1997/07/12 02:13:04 curt
207 # Add ftime() support for those that don't have gettimeofday()
209 # Revision 1.3 1997/07/09 21:31:08 curt
210 # Working on making the ground "hard."
212 # Revision 1.2 1997/07/07 20:59:48 curt
213 # Working on scenery transformations to enable us to fly fluidly over the
214 # poles with no discontinuity/distortion in scenery.
216 # Revision 1.1 1997/06/27 21:38:00 curt
217 # Working on Makefile structure.