#   BePascal - A pascal wrapper around the BeOS API
#    Copyright (C) 2002-2003 Olivier Coursiere                                        
#                            Matt Emson
#                            Eric Jourde                                              
#                            Oscar Lesta
#                                                                                
#    This library is free software; you can redistribute it and/or               
#    modify it under the terms of the GNU Library General Public                 
#    License as published by the Free Software Foundation; either                
#    version 2 of the License, or (at your option) any later version.            
#                                                                                
#    This library 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           
#    Library General Public License for more details.                            
#                                                                                
#    You should have received a copy of the GNU Library General Public           
#    License along with this library; if not, write to the Free                  
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   

SubDir BEPASCAL_TOP source bepascal cpp ;

## OpenBeOS Generic Jamfile v1.0 ##

## Fill in this file to specify the project being created, and the referenced
## Jamfile-engine will do all of the hard work for you.  This handles both
## Intel and PowerPC builds of the (Open)BeOS.

## Application Specific Settings ---------------------------------------------

# Specify the name of the binary
#	If the name has spaces, you must quote it: "My App"
NAME = libbepascal.so ;

# Specify the type of binary
#	APP:	Application
#	SHARED:	Shared library or add-on
#	STATIC:	Static library archive
#	DRIVER: Kernel Driver
TYPE on $(NAME) = SHARED ;

# Specify the source files to use
#	Full paths or paths relative to the Jamfile can be included.
# 	All files, regardless of directory, will have their object
#	files created in the common object directory.
#	Note that this means this Jamfile will not work correctly
#	if two source files with the same name (source.c or source.cpp)
#	are included from different directories.
# Ex: SRCS = file1.cpp file2.cpp file3.cpp ;
#SRCS on $(NAME) = src/be/bepas_kernel/beobj.cpp 
#       src/be/app/Application.cpp 
#       src/be/app/Clipboard.cpp 
#       src/be/app/Handler.cpp 
#       src/be/app/Invoker.cpp 
#       src/be/app/Looper.cpp 
#       src/be/app/Message.cpp 
#       src/be/app/Messenger.cpp 
#       src/be/app/Roster.cpp 
#       src/be/device/Joystick.cpp 
#       src/be/device/SerialPort.cpp 
#       src/be/interface/Alert.cpp 
#       src/be/interface/Box.cpp 
#       src/be/interface/Button.cpp 
#       src/be/interface/CheckBox.cpp 
#       src/be/interface/Control.cpp 
#       src/be/interface/Font.cpp 
#       src/be/interface/ListItem.cpp 
#       src/be/interface/ListView.cpp 
#       src/be/interface/Menu.cpp 
#       src/be/interface/MenuBar.cpp 
#       src/be/interface/MenuItem.cpp 
#       src/be/interface/OutlineListView.cpp 
#       src/be/interface/Point.cpp 
#       src/be/interface/Rect.cpp 
#       src/be/interface/RadioButton.cpp 
#       src/be/interface/ScrollBar.cpp 
#       src/be/interface/ScrollView.cpp 
#       src/be/interface/StatusBar.cpp 
#       src/be/interface/StringView.cpp 
#       src/be/interface/TabView.cpp 
#       src/be/interface/TextControl.cpp 
#       src/be/interface/TextView.cpp 
#       src/be/interface/View.cpp 
#       src/be/interface/Window.cpp 
#       src/be/mail/E-mail.cpp
#       src/be/storage/FilePanel.cpp 
#       src/be/storage/Volume.cpp 
#       src/be/storage/VolumeRoster.cpp 
#       src/be/support/Archivable.cpp 
#       src/be/support/DataIO.cpp 
#       src/be/support/Flattenable.cpp 
#       src/be/support/List.cpp 
#       src/be/support/String.cpp 
#       src/hey/hey.cpp ;

# Specify the resource files to use
#	Full path or a relative path to the resource file can be used.
RSRCS on $(NAME) =  ;

# Specify additional libraries to link against
#	There are two acceptable forms of library specifications
#	-	if your library follows the naming pattern of:
#		libXXX.so or libXXX.a you can simply specify XXX
#		library: libbe.so entry: be
#		
#	- 	if your library does not follow the standard library
#		naming scheme you need to specify the path to the library
#		and it's name
#		library: my_lib.a entry: my_lib.a or path/my_lib.a
LIBS += root be mail device tracker ;

# Specify additional paths to directories following the standard
#	libXXX.so or libXXX.a naming scheme.  You can specify full paths
#	or paths relative to the Jamfile.  The paths included may not
#	be recursive, so include all of the paths where libraries can
#	be found.  Directories where source files are found are
#	automatically included.
LIBPATHS on $(NAME) =  ;

# Additional paths to look for system headers
#	These use the form: #include <header>
#	source file directories are NOT auto-included here
SYSTEM_INCLUDE_PATHS += . 
                       $(SEARCH_SOURCE)/include/be/app 
                       $(SEARCH_SOURCE)/include/be/bepas_kernel
                       $(SEARCH_SOURCE)/include/be/interface
                       $(SEARCH_SOURCE)/include/be/support
                       $(SEARCH_SOURCE)/include/hey ;

# Additional paths to look for local headers
#	thes use the form: #include "header"
#	source file directories are automatically included
LOCAL_INCLUDE_PATHS on $(NAME) = ;

# Specify the level of optimization that you desire
#	NONE, SOME, FULL
OPTIMIZE on $(NAME) =  ;

# Specify any preprocessor symbols to be defined.  The symbols will not
#	have their values set automatically; you must supply the value (if any)
#	to use.  For example, setting DEFINES to "DEBUG=1" will cause the
#	compiler option "-DDEBUG=1" to be used.  Setting DEFINES to "DEBUG"
#	would pass "-DDEBUG" on the compiler's command line.
DEFINES on $(NAME) =  ;

# Specify special warning levels
#	if unspecified default warnings will be used
#	NONE = supress all warnings
#	ALL = enable all warnings
WARNINGS on $(NAME) =  ;

# Specify whether image symbols will be created
#	so that stack crawls in the debugger are meaningful
#	if TRUE symbols will be created
SYMBOLS on $(NAME) =  ;

# Specify debug settings
#	if TRUE will allow application to be run from a source-level
#	debugger.  Note that this will disable all optimzation.
DEBUGGER on $(NAME) =  ;

# Specify additional compiler flags for all files
COMPILER_FLAGS on $(NAME) =  ;

# Specify additional linker flags
LINKER_FLAGS on $(NAME) =  ;

# (for TYPE == DRIVER only) Specify desired location of driver in the /dev
#	hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will
#	instruct the driverinstall rule to place a symlink to your driver's binary in
#	~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at
#	/dev/video/usb when loaded. Default is "misc".
DRIVER_PATH on $(NAME) =  ;

## Include the Jamfile-engine
#include $(BUILDHOME)/etc/Jamfile-engine ;

BeMain libbepascal.so : src/be/bepas_kernel/beobj.cpp 
       src/be/app/Application.cpp 
       src/be/app/Clipboard.cpp 
       src/be/app/Cursor.cpp 
       src/be/app/Handler.cpp 
       src/be/app/Invoker.cpp 
       src/be/app/Looper.cpp 
       src/be/app/Message.cpp 
       src/be/app/Messenger.cpp 
       src/be/app/Roster.cpp 
       src/be/device/Joystick.cpp 
       src/be/device/SerialPort.cpp 
       src/be/interface/Alert.cpp 
       src/be/interface/Box.cpp 
       src/be/interface/Bitmap.cpp 
       src/be/interface/Button.cpp 
       src/be/interface/CheckBox.cpp 
       src/be/interface/Control.cpp 
       src/be/interface/Font.cpp 
       src/be/interface/ListItem.cpp 
       src/be/interface/ListView.cpp 
       src/be/interface/Menu.cpp 
       src/be/interface/MenuBar.cpp 
       src/be/interface/MenuItem.cpp 
       src/be/interface/OutlineListView.cpp 
       src/be/interface/Picture.cpp 
       src/be/interface/Point.cpp 
       src/be/interface/Polygon.cpp        
       src/be/interface/Rect.cpp 
       src/be/interface/Region.cpp        
       src/be/interface/RadioButton.cpp 
       src/be/interface/Screen.cpp        
       src/be/interface/ScrollBar.cpp 
       src/be/interface/ScrollView.cpp 
       src/be/interface/Shape.cpp 
       src/be/interface/StatusBar.cpp 
       src/be/interface/StringView.cpp 
       src/be/interface/TabView.cpp 
       src/be/interface/TextControl.cpp 
       src/be/interface/TextView.cpp 
       src/be/interface/View.cpp 
       src/be/interface/Window.cpp 
       src/be/mail/E-mail.cpp
       src/be/storage/Entry.cpp       
       src/be/storage/File.cpp 
       src/be/storage/FilePanel.cpp 
       src/be/storage/Node.cpp 
       src/be/storage/Path.cpp
       src/be/storage/Resources.cpp
       src/be/storage/Volume.cpp 
       src/be/storage/VolumeRoster.cpp 
       src/be/support/Archivable.cpp 
       src/be/support/DataIO.cpp 
       src/be/support/Flattenable.cpp 
       src/be/support/List.cpp 
       src/be/support/String.cpp 
       src/hey/hey.cpp : SHARED ;
