+++ /dev/null
---------------------------------------------------------------------------
-| Done
---------------------------------------------------------------------------
-
-2/19/98 - Fixed a problem with smooth view (scenery center) switch
- when entering a new tile.
-
-2/18/98 - Fixed a problem with terrain generation that was causing
- some strips to be put in the wrong winding list.
-
-2/9/98 - Fixed a problem with terrain tiles not quite matching up perfectly.
-
-2/2/98 - Fix warning when compiling with c++ ... also successfully built
- with cygnus-g++. There should be nothing holding us back from
- using C++.
-
-1/30/98 - remove Scenery/geometry.c and Scenery/mesh.c
-
-1/28/98 - Dynamic unloading of scenery.
-
-1/26/98 - Debug message system.
-
-1/26/98 - Dynamic loading of scenery
-
-1/24/98 - Remove some of the unused files such as ls_sync.c
-
-1/23/98 - in all .h's change #ifdef FILE_H -> #ifdef _FILE_H
-
---------------------------------------------------------------------------
-
-1/22/98 - Released version 0.25
-
-1/19/98 - Compile with c++
-
-1/17/98 - Change all "type function();" to "type function( void );"
-
---------------------------------------------------------------------------
-
-1/16/98 - Release verison 0.23
-
-1/6/98 - Added FGwin32.mak (a MSVC++ Makefile for building win32 versions)
-
---------------------------------------------------------------------------
-
-1/5/98 - Released version 0.21
-
-12/31/97 - remove Unix dependencies from .../Time/fg_time.c
-
---------------------------------------------------------------------------
-
-12/30/97 - Released version 0.20
-
-12/30/97 - Released version 0.19
-
-12/30/97 - Event manager
-
-12/23/97 - First stab at a reasonable sky ... I'm going to probably
- leave this for now so I don't spend the rest of my life
- trying to tweak it.
-
-12/17/97 - Released version 0.18
-
-12/17/97 - Fix sun/moon initialization code so display lists aren't
- re-created at every Init().
-
-12/12/97 - Released verison 0.17
-
-12/10/97 - Released version 0.16
-
-12/9/97 - Released demtools version 0.01
-
-12/9/97 - Released version 0.15
-
-11/25/97 - Released version 0.14
-
-10/24/97 - Released version 0.13
-
-9/22/97 - Released version 0.12
-
-9/16/97 - Released version 0.11
-
+++ /dev/null
-#---------------------------------------------------------------------------
-# Toplevel Project Makefile
-#
-# Written by Curtis Olson, started May 1997.
-#
-# Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# $Id$
-# (Log is kept at end of this file)
-#---------------------------------------------------------------------------
-
-
-include $(FG_ROOT_SRC)/commondefs
-
-SUBSUBDIRS = Flight/LaRCsim Flight/Slew
-SUBDIRS = Aircraft Astro Cockpit Controls Flight Joystick Math Scenery \
- Time Weather XGL
-MAIN = Main
-ORDEREDDIRS = $(SUBSUBDIRS) $(SUBDIRS) $(MAIN)
-
-all:
- for dir in $(ORDEREDDIRS); do \
- ( cd $$dir; $(MAKE) ) ; \
- done
-
-depend:
- for dir in $(ORDEREDDIRS); do \
- ( echo "Making depend in $$dir"; \
- cd $$dir; $(CC) $(CFLAGS) $(CCDEPFLAG) *.c > depend ) ; \
- done
-
-Makefile-os2:
- cat Makefile | perl mkmfos2.pl > Makefile.os2; \
- for dir in $(ORDEREDDIRS); do \
- ( echo "Making Makefile.os2 in $$dir"; \
- cat $$dir/Makefile | perl mkmfos2.pl > $$dir/Makefile.os2; \
- cat $$dir/depend | perl mkmfos2.pl > $$dir/depend.os2) ; \
- done
-
-clean:
- -rm -f *.os2 *~
- -rm -f $(FG_ROOT_LIB)/*.a $(FG_ROOT_LIB)/stamp_libs
- for dir in $(ORDEREDDIRS); do \
- (cd $$dir; $(MAKE) clean) ; \
- done
-
-clobber:
- -rm -f *.os2 *~
- -rm -f $(FG_ROOT_LIB)/*.a $(FG_ROOT_LIB)/stamp_libs
- for dir in $(ORDEREDDIRS); do \
- (cd $$dir; $(MAKE) clobber) ; \
- done
-
-source-tar: clean
- (cd ../..; \
- $(TAR) cvzf source-$(FG_VERSION).tar.gz FlightGear/fgtop \
- FlightGear/COPYING FlightGear/Docs FlightGear/Src FlightGear/Lib)
-
-source-zip: clean
- (cd ../..; \
- zip -r source-$(FG_VERSION).zip FlightGear/fgtop \
- FlightGear/COPYING FlightGear/Docs FlightGear/Src FlightGear/Lib)
-
-scenery-tar:
- (cd ../..; \
- $(TAR) cvzf scenery-$(FG_VERSION).tar.gz FlightGear/Scenery/*.dat \
- FlightGear/Scenery/*/*/*.obj)
-
-scenery-zip:
- (cd ../..; \
- zip -r scenery-$(FG_VERSION).zip FlightGear/Scenery/*.dat \
- FlightGear/Scenery/*/*/*.obj)
-
-bin-tar: all
- cp Main/fg-$(FG_VERSION) README Thanks runfg ..
- $(RM) -f ../fg$(FG_VERSION_MAJOR)
- $(LN) ../fg-$(FG_VERSION) ../fg$(FG_VERSION_MAJOR)
- (cd ../..; \
- $(TAR) cvzf bin-$(FG_VERSION).tar.gz FlightGear/fgtop \
- FlightGear/fg-$(FG_VERSION) FlightGear/fg$(FG_VERSION_MAJOR) \
- FlightGear/runfg FlightGear/COPYING FlightGear/Docs FlightGear/README \
- FlightGear/Thanks)
-
-bin-zip:
- cp Main/fg$(FG_VERSION_MAJOR).exe README Thanks \
- runfg.bat ../Win32/glut.dll ../Win32/cygwinb19.dll ..
- (cd ../..; \
- zip -r bin-$(FG_VERSION).zip FlightGear/fgtop \
- FlightGear/fg$(FG_VERSION_MAJOR).exe FlightGear/runfg.bat \
- FlightGear/cygwinb19.dll FlightGear/glut.dll FlightGear/COPYING \
- FlightGear/Docs FlightGear/README FlightGear/Thanks )
-
-bin-exp-zip:
- cp Main/fg$(FG_VERSION_MAJOR).exe Main/cygwin.dll README Thanks \
- runfg.bat ../Win32/*.dll ..
- (cd ../..; \
- zip -r bin-exp-$(FG_VERSION).zip FlightGear/fgtop \
- FlightGear/fg$(FG_VERSION_MAJOR).exe FlightGear/runfg.bat \
- FlightGear/cygwin.dll FlightGear/COPYING FlightGear/Docs \
- FlightGear/README FlightGear/Thanks FlightGear/glu.dll \
- FlightGear/glut.dll FlightGear/msvcrt.dll FlightGear/opengl.dll)
-
-
-#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.45 1998/03/14 00:32:35 curt
-# Version 0.38
-#
-# Revision 1.44 1998/03/09 22:52:53 curt
-# Misc. configuration tweaks.
-#
-# Revision 1.43 1998/02/19 13:05:43 curt
-# Incorporated some HUD tweaks from Michelle America.
-# Tweaked the sky's sunset/rise colors.
-# Other misc. tweaks.
-#
-# Revision 1.42 1998/02/18 15:07:02 curt
-# Tweaks to build with SGI OpenGL (and therefor hopefully other accelerated
-# drivers will work.)
-#
-# Revision 1.41 1998/02/09 22:56:28 curt
-# Removed "depend" files from cvs control. Other minor make tweaks.
-#
-# Revision 1.40 1998/02/01 03:39:53 curt
-# Minor tweaks.
-#
-# Revision 1.39 1998/01/27 00:47:41 curt
-# Incorporated Paul Bleisch's <bleisch@chromatic.com> new debug message
-# system and commandline/config file processing code.
-#
-# Revision 1.38 1998/01/22 22:03:22 curt
-# Tweaks.
-#
-# Revision 1.37 1998/01/19 19:42:58 curt
-# More misc. tweaks for rpk make merge.
-#
-# Revision 1.36 1998/01/19 19:26:51 curt
-# Merged in make system changes from Bob Kuehne <rpk@sgi.com>
-# This should simplify things tremendously.
-#
-# Revision 1.35 1998/01/07 03:18:14 curt
-# Created the Astro/ subdirctory for stuff high in the sky ...
-#
-# Revision 1.34 1997/12/18 23:32:28 curt
-# First stab at sky dome actually starting to look reasonable. :-)
-#
-# Revision 1.33 1997/12/17 23:13:17 curt
-# Changes and tweaks to go to version 0.19 (Plus tweaks to Solaris support)
-#
-# Revision 1.32 1997/12/15 23:54:25 curt
-# Add xgl wrappers for debugging.
-# Generate terrain normals on the fly.
-#
-# Revision 1.31 1997/12/15 20:59:08 curt
-# Misc. tweaks.
-#
-# Revision 1.30 1997/12/10 01:19:42 curt
-# Tweaks for verion 0.15 release.
-#
-# Revision 1.29 1997/10/30 12:38:35 curt
-# Working on new scenery subsystem.
-#
-# Revision 1.28 1997/10/28 19:35:40 curt
-# Organizational changes.
-#
-# Revision 1.27 1997/09/23 00:29:27 curt
-# Tweaks to get things to compile with gcc-win32.
-#
-# Revision 1.26 1997/09/04 02:17:18 curt
-# Shufflin' stuff.
-#
-# Revision 1.25 1997/08/25 20:27:21 curt
-# Merged in initial HUD and Joystick code.
-#
-# Revision 1.24 1997/08/16 12:22:17 curt
-# Tweaks for new version.
-#
-# Revision 1.23 1997/08/13 20:22:55 curt
-# Renamed OpenGL/ to GLUT/
-#
-# Revision 1.22 1997/07/31 22:52:21 curt
-# Working on redoing internal coordinate systems & scenery transformations.
-#
-# Revision 1.21 1997/07/30 16:12:38 curt
-# Moved fg_random routines from Util/ to Math/
-#
-# Revision 1.20 1997/07/20 02:19:09 curt
-# First stab at a system to generate os2 makefiles automatically.
-#
-# Revision 1.19 1997/07/19 23:04:46 curt
-# Added an initial weather section.
-#
-# Revision 1.18 1997/07/19 22:36:28 curt
-# Added Utils/ subdirectory
-#
-# Revision 1.17 1997/07/18 23:41:20 curt
-# Tweaks for building with Cygnus Win32 compiler.
-#
-# Revision 1.16 1997/07/07 20:59:47 curt
-# Working on scenery transformations to enable us to fly fluidly over the
-# poles with no discontinuity/distortion in scenery.
-#
-# Revision 1.15 1997/07/05 20:43:27 curt
-# renamed mat3 directory to Math so we could add other math related routines.
-#
-# Revision 1.14 1997/06/29 21:19:16 curt
-# Working on scenery management system.
-#
-# Revision 1.13 1997/06/28 00:49:02 curt
-# Tweaking Makefile structure ..
-#
-# Revision 1.12 1997/06/27 21:37:59 curt
-# Working on Makefile structure.
-#
-# Revision 1.11 1997/06/27 20:03:31 curt
-# Working on Makefile structure.
-#
-# Revision 1.10 1997/06/26 19:08:22 curt
-# Restructuring make, adding automatic "make dep" support.
-#
-# Revision 1.9 1997/06/22 21:44:40 curt
-# Working on intergrating the VRML (subset) parser.
-#
-# Revision 1.8 1997/06/21 17:52:22 curt
-# Continue directory shuffling ... everything should be compilable/runnable
-# again.
-#
-# Revision 1.7 1997/06/21 17:12:38 curt
-# Capitalized subdirectory names.
-#
-# Revision 1.6 1997/06/16 19:32:50 curt
-# Starting to add general timer support.
-#
-# Revision 1.5 1997/05/30 19:26:56 curt
-# The LaRCsim flight model is starting to look like it is working.
-#
-# Revision 1.4 1997/05/29 02:31:43 curt
-# Update subdirectory structure.
-#
-# Revision 1.3 1997/05/23 15:40:04 curt
-# Added GNU copyright headers.
-#
-# Revision 1.2 1997/05/23 00:35:09 curt
-# Trying to get fog to work ...
-#
-# Revision 1.1 1997/05/16 15:51:13 curt
-# Initial revision.
-#
--- /dev/null
+
+# Place Include last to get 'distclean' do the correct thing
+SUBDIRS = Aircraft \
+ Astro \
+ Cockpit \
+ Controls \
+ Flight \
+ Joystick \
+ Math \
+ Scenery \
+ Time \
+ Weather \
+ XGL \
+ Main \
+ Include
--- /dev/null
+# Makefile.in generated automatically by automake 1.2h from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Place Include last to get 'distclean' do the correct thing
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+CC = @CC@
+CXX = @CXX@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NM = @NM@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+SUBDIRS = Aircraft \
+ Astro \
+ Cockpit \
+ Controls \
+ Flight \
+ Joystick \
+ Linux \
+ Math \
+ Scenery \
+ Time \
+ Weather \
+ XGL \
+ Main \
+ Include
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../Src/Include/config.h
+CONFIG_CLEAN_FILES =
+DIST_COMMON = README COPYING Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+all: all-recursive all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu Src/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ target=`echo $@ | sed s/-recursive//`; \
+ echo "Making $$target in $$subdir"; \
+ (cd $$subdir && $(MAKE) $$target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ done; \
+ for subdir in $$rev; do \
+ target=`echo $@ | sed s/-recursive//`; \
+ echo "Making $$target in $$subdir"; \
+ (cd $$subdir && $(MAKE) $$target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ (cd $$subdir && $(MAKE) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = Src
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Src/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+ for subdir in $(SUBDIRS); do \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ done
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+ $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-am: Makefile
+
+install-exec: install-exec-recursive
+ @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+ @$(NORMAL_INSTALL)
+
+install: install-recursive
+ @:
+
+uninstall: uninstall-recursive
+
+install-strip:
+ $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am: mostlyclean-tags mostlyclean-generic
+
+clean-am: clean-tags clean-generic mostlyclean-am
+
+distclean-am: distclean-tags distclean-generic clean-am
+
+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+
+mostlyclean: mostlyclean-recursive mostlyclean-am
+
+clean: clean-recursive clean-am
+
+distclean: distclean-recursive distclean-am
+ -rm -f config.status
+ -rm -f libtool
+
+maintainer-clean: maintainer-clean-recursive maintainer-clean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-am install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
-July 21, 1997
+March 15, 1998
=============
Here is a quick outline of *one* way you can build FG for Win32 using
a completely free development environment.
-1. Install and configure the Cygnus Gnu-Win32 development
- environment. The main Cygnus Gnu-Win32 page is at:
+1. Install and configure the Cygnus Gnu-Win32 development
+ environment. The latest version is Beta 19. The main
+ Cygnus Gnu-Win32 page is at:
http://www.cygnus.com/misc/gnu-win32/
ftp://ftp.cygnus.com/pub/gnu-win32/latest/cdk.exe
- To install, just run the file: "cdk.exe". Be sure to read this
- package's README for post installation configuration instructions:
+ To install, just run the file: "cdk.exe" by double-clicking on it
+ from windows explorer. Be sure to read this package's README:
http://www.cygnus.com/misc/gnu-win32/readme_toc.html
+ and install them as well. After installing the cygnus compiler
+ and the usertools you should find a program group "Gygnus"
+ in your start menu.
-2. Fetch the Flight Gear prototype code. It can be found at:
- http://www.menet.umn.edu/~curt/fgfs/prototype/source/
+2. Fetch the Flight Gear source code and win32 libs. They can be
+ found at:
- Grab the latest .zip file.
+ http://www.menet.umn.edu/~curt/fgfs/Downloads/
+ Grab the latest source-X.XX.zip file.
-3. Unpack the FG prototype code. Run:
+ In addition, you need the win32 libraries from win32-libs-X.XX.zip
+
+ Also, don't forget to download scenery and textures. These aren't
+ needed to built the code, but you'll need them before you can run
+ the executable.
+
+3. Unpack the FG prototype code and the libraries. Run:
pkunzip -d <file>.zip
subdirectories. Otherwise you will have one big mess!
This should create a directory called ``FlightGear'' with several
- subdirectories.
+ subdirectories. Do the same with the libraries.
-3. Install the OpenGL/GLUT headers. Cd to the newly created
- directory: ``FlightGear\Src\Win32''. There you will find a file
- called gl-hdrs.zip. Assuming you installed the free Cygnus
- compiler in C:\gnuwin32\b18,, copy the file ``gl-hdrs.zip'' to
- ``c:\gnuwin32\b18\include\":
+4. The win32-libs zip file provides the necessary OpenGL/GLUT headers
+ and libraries for the build process.
- copy gl-hdrs.zip c:\gnuwin32\b18\include\
+ Before trying to run the executable, you should copy glut.dll from
- Then go to the c:\gnuwin32\b18\include\ directory and run:
+ ...\FlightGear\Win32\glut.dll
- pkunzip -d gl-hdrs.zip
+ into someplace in your path such as:
+
+ ...\FlightGear\Src\Main\glut.dll
- Remember the -d option! You can remove the gl-hdrs.zip file if
- you wish.
+5. Install the Silicon Graphics OpenGL dynamic link libraries. For
+ this purpose, get the file sgi-opengl2.exe from the flight gear
+ project site. This is a win95/winnt self extracting installation
+ program. Install it by double-clicking in windows explorer.
-4. Install the OpenGL dynamic link libraries. If you are running
- an NT system you can skip this step. NT comes with the OpenGL
- libraries. If you are running windows 95, you should grab the
- OpenGL libraries from the Microsoft ftp server:
- ftp://ftp.microsoft.com/Softlib/MSLFILES/Opengl95.exe
+6. Edit the ``commondefs'' file, if necessary. Go to the main
+ FlightGear source directory. From where ever you extracted the FG
+ code, cd to ``FlightGear\Src''. Edit the file called
+ ``commondefs''. Find the part of the file that says: ``Uncomment
+ one of the following sections depending on your system''
- This is a self extracting compressed archive, so run this .exe to
- extract the files. To install these permanently on your system,
- you can copy them to your ``c:\windows\system\" directory.
- Otherwise, you could just as easily copy them to the
- ``FlightGear\Src\GLUT'' directory or else someplace that is in
- your path.
+ Uncomment all the makefile defines in the ``Cygnus Win32 beta19''
+ section. Also, you should comment out any of the defines in the
+ other platform dependent sections. Depending on the version,
+ you may find, that the appropriate settings are already done
+ and you can skip this step.
-4. Edit the ``make.inc'' file. Go back to the main FlightGear source
- directory. From where ever you extracted the FG code, cd to
- ``FlightGear\Src''. Edit the file called ``make.inc''. Find the
- part of the file that says: ``Uncomment one of the following
- sections depending on your system''
- Uncomment all the makefile defines in the ``Cygnus Win32''
- section. Also, you should comment out any of the defines in the
- other platform dependent sections.
+7. Prepare the shell. Call the Cygnus shell from the start menu.
+ At first, you have to mount your flight gear drive (assuming it is g:)
+ with
+
+ mount g:/ /mnt
+
+ (Be careful writing slashes; you are working within a strange mixture
+ of DOS/WIN95/UNIX here.)
+
+ If anything went wrong with mounting you can unmount the drive with
+ mount --reset.
+
+ Now change to the flight gear source directory with
+
+ cd /mnt/FlightGear/Src
+
+ (make sure you're correct with the "pwd" command)
-5. Build the executable. From the same ``FlightGear\Src'' directory,
- run the following command:
+ Next, you have to set the environment variables as:
- make
+ SET FG_ROOT=/mnt/FlightGear
+ SET FG_ROOT_SRC=${FG_ROOT}/Src
+ SET FG_ROOT_LIB=${FG_ROOT}/Lib
- make is a build utility that comes with the Cygnus development
- environment.
+
+8. Build the executable. Type first
+
+ make depend
+
+ and after that's done type
+
+ make
You will see a few warning messages from the compiler, but none of
these are serious.
+ Be prepared flight gear to need 10 minutes or more for compilation
+ (depending of your system).
+
+
+9. Try it out! When make is done close the Cygnus shell. There are several
+ possibilities running flight gear. The one which should always work
+ is as follows:
+
+ Open an ordinary DOS shell. Within this one reset the flight gear root
+ environment variable to
+
+ SET FG_ROOT=g:\flightgear
+
+ (or whatever your drive is.) This is absolutely necessary as win95
+ does not recover your "mounted" drive.
-6. Try it out! When make is done, cd to the FlightGear\Src\GLUT
- directory and run the simulator:
+ Goto the directory where your freshly build executable sits, i.e.
- fg0
+ cd g:\flightgear\src\main
+
+ and type fg0.exe.
-7. I wrote this document from the top of my head so it is certain to
- contain errors. Please send me email (curt@me.umn.edu) and let
- me know what changes need to be made to this document and these
- procedures to make them easier to understand and follow.
+10. Tell me that it works! If it doesn't, tell me what goes wrong. My
+ email is curt@me.umn.edu. Please send me email and let me know
+ what changes need to be made to this document and these procedures
+ to make them easier to understand and follow.
+++ /dev/null
-A very special thanks is due to the following people and groups.
-
-Note, as hard as I've tried, I've found it impossible to perfectly
-maintain this file. If you are aware of someone who you think might
-be included here, PLEASE let me know. Projects like this are made
-possible only by the help and hard work of others. I want to properly
-credit everyone who has contributed to this project.
-
-
-Michele America <nomimarketing@mail.telepac.pt>
- Contributed the HUD code.
-
-
-Steve Baker <sbaker@link.com>
- Steve has provided an immense amount of coaching and tutelage, both
- on the subjects of flight simulation and OpenGL. It has been his
- comments and thoughts that have prompted the implementation of most
- of the more sophisticated features of Flight Gear.
-
-
-Paul Bleisch <bleisch@chromatic.com>
- Paul redid the "debug" system so that it would be much more
- flexible, so it could be easily disabled for production system, and
- so that messages for certain subsystems could be selectively
- enabled.
-
- Also contributed a first stab at a config file/command line parsing
- system.
-
-
-Gene Buckle <geneb@nwlink.com>
- Gene has done a lot of work getting FG to compile with the MSVC++
- compiler. Also, he has pushed, proded, and bugged me endlessly to
- do my stuff right. (I mean that in a good way, because sometimes
- when the little nudge in the right direction isn't working, I need
- a good hard shove.) :-)
-
-
-Didier Chauveau <chauveau@math.univ-mlv.fr>
- Provided some initial code to parse the 30 arcsec DEM files found at:
- http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html
-
-
-Michael I. Gold <gold@puck.asd.sgi.com> -- Patiently answered my endless
- "newbie" OpenGL questions. His effort alone has made me a great SGI
- fan.
-
-
-Charlie Hotchkiss <chotchkiss@namg.us.anritsu.com> -- Worked on improving
- and enhancing the HUD code. Lots of code style tips and code tweaks ...
-
-
-Bruce Jackson <e.b.jackson@larc.nasa.gov>
- http://agcbwww.larc.nasa.gov/People/ebj.html -- Developed the
- LaRCsim code which we use to provide the flight model. Also
- patiently answered my many, many questions.
-
-
-Reto Koradi <kor@mol.biol.ethz.ch> http://www.mol.biol.ethz.ch/~kor
- Helped me get on track with setting up fog effects.
-
-
-Bob Kuehne <rpk@sgi.com>
- Redid the Makefile system so it is simpler and more robust.
-
-
-Eric Mitchell <mitchell@mars.ark.com>
- Contributed some topnotch scenery textures.
-
-
-Jonathan R Shewchuk <Jonathan_R_Shewchuk@ux4.sp.cs.cmu.edu>
- Author of the Triangle program. Triangle is used to calculate the
- Delauney triangulation of our irregular terrain.
-
-
-U.S. Geological Survey - http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html
- Provided geographic data used by this project
-
-
-Durk Talsma <pn_talsma@macmail.psy.uva.nl>
- Accurate Sun, Moon, and Planets. Sun changes color based on
- position in sky. Moon has correct phase and blends well into the
- sky. Planets are correctly positioned and have proper magnitude.
-
-
-Carmelo Volpe <carmelo.volpe@csb.ki.se>
- Porting Flight Gear to the Metro Works development environment (PC/Mac)
-
-
-Robert Allan Zeh <raz@cmg.FCNBD.COM>
- Helped me tremendously in figuring out the Cygnus win32 compiler and
- how to link with .dll's. With out him the first runable win32
- version of FG would have been impossible.
-
+++ /dev/null
---------------------------------------------------------------------------
-| Todo
---------------------------------------------------------------------------
-
-12/29/97 - View frustum culling
-
-1/12/98 - Fix time problem on win32
-
-1/5/98 - Create a development "roadmap"
-
-12/30/97 - fix winding problem with tri-strips in obj.c (invert normals)
-
-12/29/97 - Unify sun position render code with existing sunpos
- calculations so the sun doesn't do it's little jump every
- hour.
-
-12/29/97 - Add a mechanism to parse command line options
- * A simple clear-screen sky.
- * No fog.
- * No astronomy.
- * Less detailed terrain.
- * Texture - but no MIP-mapping.
- * Texture - but no bilinear blending.
- * No texture.
-
-12/29/97 - sky tweaking
- Steve Baker writes:
- So, by building the sky in the flattened shape, we can have it be
- very foggy at the horizon and clear blue overhead.
-
- The other important feature of this model is the colours. We
- colour each vertex of the dish individually to allow for cute
- sunsets, a darker blue overhead than at the horizon in daylight, a
- gradual darkening of the sky as a function of altitude for very
- high altitude flight - into space. Also we tint the horizon more
- in the direction of the sun so that sunset starts where the sun
- goes down - and the sky remains blue on the opposite side of the
- sky - then as the sun gets lower, the colour spreads outwards all
- around the sky and the black of night creeps in slowly from the
- opposite side of the sky from the sunset.
-
- We also like to tint the bottom edge of the sky with white - even
- in broad daylight - so it looks fuzzy - even when there is very
- little fog to achieve that effect.
-
- We use a text file that contains a lookup table relating the sun
- angle relative to the horizon to:
-
- * The colour at the top of the sky dome,
- * The colour of the horizon nearest to the sun
- * The colour of the horizon farthest from the sun
- * The colour of the texture environment blend for the clouds.
- * The fog colour.
-
- We can then tweak that file to set up all the conditions. The
- realtime system interpolates the horizon colours all around the edge
- of the sky.
-
-12/29/97 - Ground collision detection
-
-12/29/97 - glut windows or something for panel area - consider 3d
- panels, careful of texture memory problems.
-
-1/5/98 - bzflag sound code might be able to work for us.
-
+++ /dev/null
-#---------------------------------------------------------------------------
-# Makefile
-#
-# Written by Curtis Olson, started May 1997.
-#
-# Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# $Id$
-# (Log is kept at end of this file)
-#---------------------------------------------------------------------------
-
-ARLIBRARY = __LIB_NAME_HERE__
-TARGETS = $(ARLIBRARY)
-
-CFILES = __C_SRC_HERE__
-CXXFILES = __CXX_SRC_HERE__
-
-LDIRT = $(FG_ROOT_LIB)/$(ARLIBRARY)
-
-include $(FG_ROOT_SRC)/commondefs
-
-include $(COMMONRULES)
+++ /dev/null
-# emacs make tag: -*- Mode: Makefile -*-
-
-#---------------------------------------------------------------------------
-# Define the version
-#---------------------------------------------------------------------------
-
-FG_VERSION_MAJOR = 0
-FG_VERSION_MINOR = 38
-FG_VERSION = $(FG_VERSION_MAJOR).$(FG_VERSION_MINOR)
-
-
-#---------------------------------------------------------------------------
-# Choose your weapons
-#---------------------------------------------------------------------------
-
-CC = g++
-CXX = g++
-CCDEPFLAG = -M
-
-LD = ld
-AR = ar
-RANLIB = ranlib
-
-FLEX = flex -f -L
-BISON = bison -v --no-lines
-
-RM = rm
-MV = mv
-CP = cp
-LN = ln -sf
-TAR = tar
-
-
-#---------------------------------------------------------------------------
-# Global Compile Options
-#
-# You may set FG_CFLAGS to include any of the following options depending on
-# your environment:
-#
-# -g - Compile with debugging symbols
-# -Wall - Enable full compiler warnings
-# -O2 - Enable compiler optimization
-#
-# Other potential compiler optimization flags:
-#
-# -O3 -fPIC -funroll-loops -mpentium -malign-loops=2
-# -malign-jumps=2 -malign-functions=2 -fexpensive-optimizations
-# -pedantic -ffast-math
-#
-#---------------------------------------------------------------------------
-
-GLOBAL_CFLAGS = -g -Wall -DVERSION=\"$(FG_VERSION)\"
-
-
-#---------------------------------------------------------------------------
-# Platform specific compile options, these should be set with FG_CFLAGS
-# below. These have been predefined for the supported platforms below.
-#
-# -DUSE_ITIMER - Use setitimer(), getitimer(), and signal() to mimic
-# a real time system and call the flight model routines
-# at a regular interval, rather than between screen updates
-# which can be highly variable. This can make the flight
-# model calculations much smoother.
-#
-# -DUSE_FTIME - Use ftime() to get an accurate current time instead of
-# gettimeofday()
-#
-# -DUSE_RAND - Use rand() instead of random()
-#
-#---------------------------------------------------------------------------
-
-
-#---------------------------------------------------------------------------
-# Debugging options.
-#
-# Uncomment the following two lines to enable OpenGL function call tracing.
-# This mechanism is provided courtesy of Steve Baker <sbaker@link.com>
-#---------------------------------------------------------------------------
-
-# FG_DEBUG_FLAGS = -DXGL_TRACE
-# FG_DEBUG_LIBS = ../XGL/libXGL.a
-
-
-#---------------------------------------------------------------------------
-# Uncomment one of the following sections depending on your system
-#
-# You may set FG_GRAPHICS to include any of the following options depending
-# on your environment:
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# Linux/Mesa
-#
-INTERFACE_LIBS = -lglut
-MESA_LIBS = -L/usr/lib/mesa -lMesatk -lMesaaux -lMesaGLU -lMesaGL
-X11_LIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11
-GRAPHICS_LIBS = $(MESA_LIBS) $(X11_LIBS)
-FG_CFLAGS = $(GLOBAL_CFLAGS) $(FG_DEBUG_FLAGS)
-EXT =
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# SGI IRIX
-# (Surprisingly, this also works on our SunOS 4.x machine with the
-# way we have Mesa & Glut installed.)
-#
-# INTERFACE_LIBS = -lglut
-# GRAPHICS_LIBS = -lGLU -lGL -lXmu -lX11
-# FG_CFLAGS = $(GLOBAL_CFLAGS) $(FG_DEBUG_FLAGS)
-# EXT =
-# TAR = gtar
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# Sun/Solaris
-#
-# VERSION=\"$(VERSION)\"
-# INTERFACE_LIBS = -lglut
-# GRAPHICS_LIBS = -L/opt/X11R6/lib -lGLU -lGL -lXext -lXmu -lXi -lX11 -lsocket
-# FG_CFLAGS = $(GLOBAL_CFLAGS) $(FG_DEBUG_FLAGS)
-# EXT =
-# TAR = gtar
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# Cygnus Win32 (gcc based) compiled against SGI's opengl and a dynamic GLUT
-#
-# INTERFACE_LIBS = -lglut
-# GRAPHICS_LIBS = -lglu -lopengl -luser32 -lgdi32
-# FG_CFLAGS = $(GLOBAL_CFLAGS) $(FG_DEBUG_FLAGS) -I$(FG_ROOT)/Win32/include \
-# -DWIN32 -DUSE_RAND
-# LLDFLAGS = -L$(FG_ROOT)/Win32/lib
-# EXT = .exe
-# LN = cp
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# [OLD] Cygnus Win32 (gcc based) with a static version of the GLUT toolkit
-# with MSOpenGL95.exe ...
-#
-# INTERFACE_LIBS = ../Win32/libglut.a
-# GRAPHICS_LIBS = -lglu32 -lopengl32 -luser32 -lgdi32
-# FG_CFLAGS = $(GLOBAL_CFLAGS) $(FG_DEBUG_FLAGS) -DWIN32 -DUSE_RAND
-# EXT = .exe
-# LN = cp
-#---------------------------------------------------------------------------
-
-
-#---------------------------------------------------------------------------
-# do not modify anything below this line
-#---------------------------------------------------------------------------
-
-OBJECTS = $(CFILES:.c=.o) $(CXXFILES:.cxx=.o)
-# DEPENDS = $(CFILES:.c=.d) $(CXXFILES:.cxx=.d)
-
-MAKEDEPENDFILE = depend
-
-CDEFS = $(LCDEFS)
-CFLAGS = $(FG_CFLAGS) -I$(FG_ROOT_SRC) $(LCFLAGS)
-
-CXXDEFS = $(LCXXDEFS)
-CXXFLAGS = $(CFLAGS)
-
-LDDEFS = $(LLDDEFS)
-LDFLAGS = $(LLDFLAGS) -L$(FG_ROOT_LIB)
-
-DIRT = $(LDIRT)
-
-VPATH = $(FG_ROOT_LIB)
-
-COMMONRULES = $(FG_ROOT_SRC)/commonrules
-
+++ /dev/null
-# emacs make tag: -*- Mode: Makefile -*-
-
-default: $(TARGETS)
-
-.SUFFIXES: .d .cxx .c .o
-
-$(ARLIBRARY): $(OBJECTS)
- $(AR) rv $(ARLIBRARY) $(OBJECTS)
- $(RANLIB) $(ARLIBRARY)
- echo $(VPATH)
- $(MV) $(ARLIBRARY) $(FG_ROOT_LIB)
- touch $(FG_ROOT_LIB)/stamp_libs
-
-$(LDLIBTARGET): $(OBJECTS)
- $(LD) -o $(LDLIBRARY) $(LDFLAGS) $(OBJECTS)
- $(MV) $(LDLIBRARY) $(LDLIBTARGET)
-
-depend: $(DEPENDS)
- cat $(DEPENDS) > $(MAKEDEPENDFILE)
-
-.cxx.d:
- $(CXX) $(CXXFLAGS) $(CXXDEFS) -c $< -MD
-
-.cxx.o:
- $(CXX) $(CXXFLAGS) $(CXXDEFS) -c $<
-
-.c.d:
- $(CC) $(CFLAGS) $(CDEFS) -c $< -MD
-
-.c.o:
- $(CC) $(CFLAGS) $(CDEFS) -c $<
-
-clean:
- rm -f $(OBJECTS) $(TARGET) $(DIRT)
-
-clobber: clean
- rm -f *.d *.o *.a *.os2 *~ core # $(MAKEDEPENDFILE)
-
-include $(MAKEDEPENDFILE)
-
-
+++ /dev/null
-#!/bin/csh
-
-set GENMAKEBASE=${FG_ROOT_SRC}
-
-set ARLIBDIRS="Aircraft Astro Cockpit Controls Flight Flight/Slew Joystick Scenery Time Weather"
-set MUSTDOMANUALLY="Math Flight/LaRCsim XGL"
-
-set AR_PROTOMAKE=${GENMAKEBASE}/armake.proto
-
-echo $ARLIBDIRS
-
-foreach dir (${ARLIBDIRS})
- cd $dir
- set cfiles=`ls *.c | sed -e's%^M% %'`
- set cxxfiles=`ls *.cxx`
- sed \
- -e "s%__LIB_NAME_HERE__%lib`basename ${dir}`.a%g" \
- -e "s%__CXX_SRC_HERE__%${cxxfiles}%g" \
- -e "s%__C_SRC_HERE__%${cfiles}%g" \
- ${AR_PROTOMAKE} > Makefile
- cd ${GENMAKEBASE}
-end
+++ /dev/null
-#!/usr/local/bin/perl
-#---------------------------------------------------------------------------
-# mkmfos2 = MaKe MakeFile OS2
-#
-# Written by Curtis Olson, started July 1997.
-#
-# Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# $Id$
-# (Log is kept at end of this file)
-#---------------------------------------------------------------------------
-
-
-while ( <> ) {
- s/\.o\b/\.obj/g;
- s/\.a\b/\.lib/g;
- s/\bdepend\b/depend.os2/g;
- s/\$\(MAKE\)/\$\(MAKE\) -f Makefile.os2/g;
- print $_;
-}
-
-
-#---------------------------------------------------------------------------
-# $Log$
-# Revision 1.1 1997/07/20 02:18:32 curt
-# Initial revision.
-#