Improved build process again...
This commit is contained in:
@@ -22,9 +22,11 @@ SubDir BEPASCAL_TOP ;
|
|||||||
|
|
||||||
# Force creation of target's directories BEFORE the building of libbepascal.so
|
# Force creation of target's directories BEFORE the building of libbepascal.so
|
||||||
Depends libbepascal.so : dirs ;
|
Depends libbepascal.so : dirs ;
|
||||||
|
# build libbepascal.so before libstubgen.so
|
||||||
|
Depends libstubgen.so : libbepascal.so ;
|
||||||
|
|
||||||
NOCARE libbepascal.so ;
|
#LEAVES libbepascal.so ;
|
||||||
NOCARE libstubgen.so ;
|
#LEAVES libstubgen.so ;
|
||||||
|
|
||||||
# set the distribution dir
|
# set the distribution dir
|
||||||
DISTRIB_DIR = distrib ;
|
DISTRIB_DIR = distrib ;
|
||||||
@@ -44,7 +46,6 @@ rule MakeDistribs
|
|||||||
MkDir -p $(DISTRIB_DIR) ;
|
MkDir -p $(DISTRIB_DIR) ;
|
||||||
# copy libbepascal.so in lib
|
# copy libbepascal.so in lib
|
||||||
Bulk lib : libbepascal.so libstubgen.so ;
|
Bulk lib : libbepascal.so libstubgen.so ;
|
||||||
Depends all : ;
|
|
||||||
# binary files like libbepascal.so are needed to build bin_bepascal.zip
|
# binary files like libbepascal.so are needed to build bin_bepascal.zip
|
||||||
Depends bin_bepascal.zip : libbepascal.so ;
|
Depends bin_bepascal.zip : libbepascal.so ;
|
||||||
# make all distribution files. We recursively add all files
|
# make all distribution files. We recursively add all files
|
||||||
@@ -73,11 +74,20 @@ rule MakeDistribs
|
|||||||
docs ;
|
docs ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NOTFILE zip ;
|
||||||
|
ALWAYS zip ;
|
||||||
|
|
||||||
|
rule zip
|
||||||
|
{
|
||||||
|
# Make distribution files
|
||||||
|
Depends all : ;
|
||||||
|
Depends all : ;
|
||||||
|
MakeDistribs ;
|
||||||
|
}
|
||||||
|
|
||||||
# Install libbepascal.so in LIBBEPASCAL_INSTALL_DIR (/boot/home/config/lib)
|
# Install libbepascal.so in LIBBEPASCAL_INSTALL_DIR (/boot/home/config/lib)
|
||||||
InstallLib $(LIBBEPASCAL_INSTALL_DIR) : libbepascal.so ;
|
InstallLib $(LIBBEPASCAL_INSTALL_DIR) : libbepascal.so ;
|
||||||
InstallLib $(LIBBEPASCAL_INSTALL_DIR) : libstubgen.so ;
|
InstallLib $(LIBBEPASCAL_INSTALL_DIR) : libstubgen.so ;
|
||||||
|
|
||||||
# Make distribution files
|
|
||||||
MakeDistribs ;
|
|
||||||
|
|
||||||
SubInclude BEPASCAL_TOP source ;
|
SubInclude BEPASCAL_TOP source ;
|
||||||
|
|||||||
@@ -27,23 +27,36 @@ rule UserObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# fpcMkObjectDirs <List of Source Files> ;
|
||||||
|
# Makes the necessary sub-directories in the object target directory based
|
||||||
|
# on the sub-directories used for the source files.
|
||||||
|
rule fpcMkObjectDirs
|
||||||
|
{
|
||||||
|
local dir ;
|
||||||
|
for i in $(1)
|
||||||
|
{
|
||||||
|
dir = [ FDirName $(LOCATE_TARGET) $(i:D) ] ;
|
||||||
|
Depends $(i:S=$(SUFOBJ)) : $(dir) ;
|
||||||
|
MkDir $(dir) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rule fpc
|
rule fpc
|
||||||
{
|
{
|
||||||
echo $(1) ;
|
local dir ;
|
||||||
echo $(2) ;
|
dir = $(LOCATE_TARGET:P) ;
|
||||||
|
fpcMkObjectDirs $(2) ;
|
||||||
|
Depends all : $(2) ;
|
||||||
Depends $(1) : $(2) ;
|
Depends $(1) : $(2) ;
|
||||||
PPUFILES += $(2)u ;
|
PPUFILES += $(2)u ;
|
||||||
# try to clean ppu files (don't work yet)
|
# try to clean ppu files (don't work yet)
|
||||||
Clean clean : $(2)u ;
|
Clean clean : $(2)u ;
|
||||||
echo $(2)u ;
|
|
||||||
echo $(LOCATE_TARGET) ;
|
|
||||||
echo $(PPUFILES) ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# call the FreePascal compiler
|
# call the FreePascal compiler
|
||||||
actions fpc
|
actions fpc
|
||||||
{
|
{
|
||||||
fpc -FU$(LOCATE_TARGET) -g -S2 $(2)
|
fpc -g -S2 $(2) -FE$(dir) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make a zip file named $(1) that include (recursively) all files in the directory list $(2), except the ones
|
# Make a zip file named $(1) that include (recursively) all files in the directory list $(2), except the ones
|
||||||
@@ -58,3 +71,368 @@ actions MakeZip
|
|||||||
{
|
{
|
||||||
zip $(DISTRIB_DIR)/$(1) -r $(2) -x \*CVS\*
|
zip $(DISTRIB_DIR)/$(1) -r $(2) -x \*CVS\*
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## OpenBeOS Generic Jamfile Engine v1.0.1
|
||||||
|
## Does all the hard work for the Generic Jamfile
|
||||||
|
## which simply defines the project parameters.
|
||||||
|
## Most of the real work is done in the Jambase
|
||||||
|
## embedded into the jam executable.
|
||||||
|
##
|
||||||
|
## Inspired by the Be Makefile Engine
|
||||||
|
##
|
||||||
|
## Supports Generic Jamfile v1.0
|
||||||
|
##
|
||||||
|
## Copyright (c) 2002, 2003 Ryan Leavengood
|
||||||
|
## Released under the Terms of the MIT License, see
|
||||||
|
## http://www.opensource.org/licenses/mit-license.html
|
||||||
|
|
||||||
|
## Hacked for BePascal to handle many shared objects in the same source
|
||||||
|
## tree.
|
||||||
|
##
|
||||||
|
|
||||||
|
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
## Define some utility rules
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
|
||||||
|
# AddResources <Application Name> : <Resource Files> ;
|
||||||
|
# Adds the given resources to the given application.
|
||||||
|
rule AddResources
|
||||||
|
{
|
||||||
|
Depends $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
actions AddResources
|
||||||
|
{
|
||||||
|
$(XRES) -o "$(<)" $(>)
|
||||||
|
}
|
||||||
|
|
||||||
|
# MimeSet <Application Name> ;
|
||||||
|
# Sets the mime type of the given application to be an application.
|
||||||
|
actions MimeSet
|
||||||
|
{
|
||||||
|
$(MIMESET) -f "$(<)"
|
||||||
|
}
|
||||||
|
|
||||||
|
# ProcessLibs <List of Library Names> ;
|
||||||
|
# Prepends -l to any library names that aren't _APP_ or _KERNEL_ or
|
||||||
|
# that don't have .a or .so file extensions. The result will be given
|
||||||
|
# to the linker so that it links to the right libraries.
|
||||||
|
rule ProcessLibs
|
||||||
|
{
|
||||||
|
local result ;
|
||||||
|
for i in $(1)
|
||||||
|
{
|
||||||
|
if ( ( $(i) in _APP_ _KERNEL_ ) || ( $(i:S) in .so .a ) )
|
||||||
|
{
|
||||||
|
result += $(i) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result += -l$(i) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $(result) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# MkObjectDirs <List of Source Files> ;
|
||||||
|
# Makes the necessary sub-directories in the object target directory based
|
||||||
|
# on the sub-directories used for the source files.
|
||||||
|
rule MkObjectDirs
|
||||||
|
{
|
||||||
|
local dir ;
|
||||||
|
for i in $(1)
|
||||||
|
{
|
||||||
|
dir = [ FDirName $(LOCATE_TARGET) $(i:D) ] ;
|
||||||
|
Depends $(i:S=$(SUFOBJ)) : $(dir) ;
|
||||||
|
MkDir $(dir) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# RmApp <Pseudotarget Name> : <Application Name> ;
|
||||||
|
# Removes the given application file when the given pseudotarget
|
||||||
|
# is specified.
|
||||||
|
rule RmApp
|
||||||
|
{
|
||||||
|
Depends $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
actions RmApp
|
||||||
|
{
|
||||||
|
rm -rf "$(>)"
|
||||||
|
}
|
||||||
|
|
||||||
|
# RunApp <Pseudotarget Name> : <Application Name> ;
|
||||||
|
# Runs the given application in the background when the given pseudotarget
|
||||||
|
# is specified.
|
||||||
|
rule RunApp
|
||||||
|
{
|
||||||
|
Depends $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
actions RunApp
|
||||||
|
{
|
||||||
|
"$(>)" &
|
||||||
|
}
|
||||||
|
|
||||||
|
# InstallDriver1 <Pseudotarget Name> : <Driver File> ;
|
||||||
|
# Installs the given driver in the correct location when the given pseudotarget
|
||||||
|
# is specified.
|
||||||
|
rule InstallDriver1
|
||||||
|
{
|
||||||
|
Depends $(<) : $(>) ;
|
||||||
|
USER_BIN_PATH on $(<) = /boot/home/config/add-ons/kernel/drivers/bin ;
|
||||||
|
USER_DEV_PATH on $(<) = /boot/home/config/add-ons/kernel/drivers/dev ;
|
||||||
|
}
|
||||||
|
|
||||||
|
actions InstallDriver1
|
||||||
|
{
|
||||||
|
copyattr --data "$(>)" "$(USER_BIN_PATH)/$(>:B)"
|
||||||
|
mkdir -p $(USER_DEV_PATH)/$(DRIVER_PATH)
|
||||||
|
ln -sf "$(USER_BIN_PATH)/$(>:B)" "$(USER_DEV_PATH)/$(DRIVER_PATH)/$(>:B)"
|
||||||
|
}
|
||||||
|
|
||||||
|
# InstallDriver <Pseudotarget Name> : <Driver File> ;
|
||||||
|
# Installs the given driver in the correct location when the given pseudotarget
|
||||||
|
# is specified, after making sure that this is actually a driver.
|
||||||
|
rule InstallDriver
|
||||||
|
{
|
||||||
|
if ( $(TYPE) = DRIVER )
|
||||||
|
{
|
||||||
|
InstallDriver1 $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Link <Application Name> : <List of Object Files> ;
|
||||||
|
# Replaces the actions for the default Jam Link rule with one that handles spaces
|
||||||
|
# in application names.
|
||||||
|
actions Link bind NEEDLIBS
|
||||||
|
{
|
||||||
|
$(LINK) $(LINKFLAGS) -o "$(<)" $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
|
||||||
|
}
|
||||||
|
|
||||||
|
# BeMain <Application Name> : <List of Source Files> ;
|
||||||
|
# This is the main rule that builds the project.
|
||||||
|
rule BeMain
|
||||||
|
{
|
||||||
|
local NAME on $(<) = $(<) ;
|
||||||
|
local SRCS on $(<) = $(2) ;
|
||||||
|
local TYPE on $(<) = $(3) ;
|
||||||
|
|
||||||
|
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
## Now all the needed variables are defined
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set the directory where object files and binaries will be created.
|
||||||
|
# The pre-defined Jam variable OSPLAT will indicate what platform we
|
||||||
|
# are on (X86 vs PPC, etc.)
|
||||||
|
LOCATE_TARGET = obj.$(OSPLAT) ;
|
||||||
|
|
||||||
|
# Set some defaults
|
||||||
|
if ( ! $(NAME) )
|
||||||
|
{
|
||||||
|
ECHO "No NAME defined!" ;
|
||||||
|
NAME = NameThisApp ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $(TYPE) )
|
||||||
|
{
|
||||||
|
ECHO "No TYPE defined...defaulting to APP" ;
|
||||||
|
TYPE = APP ;
|
||||||
|
# TYPE = SHARED ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $(SRCS) )
|
||||||
|
{
|
||||||
|
ECHO "NO SRCS defined...defaulting to *.cpp in current directory" ;
|
||||||
|
SRCS = [ GLOB . : *.cpp ] ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! $(DRIVER_PATH) )
|
||||||
|
{
|
||||||
|
DRIVER_PATH = misc ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Now handle platform-specific settings
|
||||||
|
if ( $(OSPLAT) = X86 )
|
||||||
|
{
|
||||||
|
if ( $(TYPE) = DRIVER )
|
||||||
|
{
|
||||||
|
CCFLAGS on $(<) += -D_KERNEL_MODE=1 -no-fpic ;
|
||||||
|
C++FLAGS on $(<) += -D_KERNEL_MODE=1 -no-fpic ;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch $(OPTIMIZE)
|
||||||
|
{
|
||||||
|
case FULL : OPTIMIZER on $(<) = -O3 ;
|
||||||
|
case SOME : OPTIMIZER on $(<) = -O1 ;
|
||||||
|
case NONE : OPTIMIZER on $(<) = -O0 ;
|
||||||
|
# Default to FULL
|
||||||
|
case * : OPTIMIZER on $(<) = -O3 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG = ;
|
||||||
|
|
||||||
|
if ( $(DEBUGGER) = TRUE )
|
||||||
|
{
|
||||||
|
DEBUG on $(<) += -g ;
|
||||||
|
OPTIMIZER on $(<) = -O0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCFLAGS on $(<) += $(OPTIMIZER) $(DEBUG) ;
|
||||||
|
C++FLAGS on $(<) += $(OPTIMIZER) $(DEBUG) ;
|
||||||
|
|
||||||
|
if ( $(WARNINGS) = ALL )
|
||||||
|
{
|
||||||
|
CCFLAGS on $(<) += -Wall -Wno-multichar -Wno-ctor-dtor-privacy ;
|
||||||
|
C++FLAGS on $(<) += -Wall -Wno-multichar -Wno-ctor-dtor-privacy ;
|
||||||
|
}
|
||||||
|
else if ( $(WARNINGS) = NONE )
|
||||||
|
{
|
||||||
|
CCFLAGS on $(<) += -w ;
|
||||||
|
C++FLAGS on $(<) += -w ;
|
||||||
|
}
|
||||||
|
|
||||||
|
LINKFLAGS on $(<) += $(DEBUG) ;
|
||||||
|
|
||||||
|
# Set linker flags
|
||||||
|
switch $(TYPE)
|
||||||
|
{
|
||||||
|
case APP : LINKFLAGS on $(<) += -Xlinker -soname=_APP_ ;
|
||||||
|
case SHARED : LINKFLAGS on $(<) += -nostart -Xlinker -soname=$(NAME) ;
|
||||||
|
case DRIVER : LINKFLAGS on $(<) += -nostdlib /boot/develop/lib/x86/_KERNEL_ ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( $(OSPLAT) = PPC )
|
||||||
|
{
|
||||||
|
switch $(OPTIMIZE)
|
||||||
|
{
|
||||||
|
case FULL : OPTIMIZER on $(<) = -O7 ;
|
||||||
|
case SOME : OPTIMIZER on $(<) = -O3 ;
|
||||||
|
case NONE : OPTIMIZER on $(<) = -O0 ;
|
||||||
|
# Default to FULL
|
||||||
|
case * : OPTIMIZER on $(<) = -O7 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG on $(<) = ;
|
||||||
|
|
||||||
|
if ( $(DEBUGGER) = TRUE )
|
||||||
|
{
|
||||||
|
DEBUG on $(<) += -g ;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCFLAGS on $(<) += $(OPTIMIZER) $(DEBUG) ;
|
||||||
|
C++FLAGS on $(<) += $(OPTIMIZER) $(DEBUG) ;
|
||||||
|
|
||||||
|
if ( $(WARNINGS) = ALL )
|
||||||
|
{
|
||||||
|
CCFLAGS on $(<) += -w on -requireprotos ;
|
||||||
|
C++FLAGS on $(<) += -w on -requireprotos ;
|
||||||
|
}
|
||||||
|
else if ( $(WARNINGS) = NONE )
|
||||||
|
{
|
||||||
|
CCFLAGS on $(<) += -w off ;
|
||||||
|
C++FLAGS on $(<) += -w off ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clear the standard environment variable
|
||||||
|
# Now there are no standard libraries to link against
|
||||||
|
BELIBFILES on $(<) = ;
|
||||||
|
|
||||||
|
# Set linker flags
|
||||||
|
if ( $(TYPE) = SHARED )
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -xms ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $(TYPE) = DRIVER )
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -nodefaults -export all -G
|
||||||
|
/boot/develop/lib/ppc/glue-noinit.a
|
||||||
|
/boot/develop/lib/ppc/_KERNEL_ ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -export pragma -init _init_routine_
|
||||||
|
-term _term_routine_ -lroot
|
||||||
|
/boot/develop/lib/ppc/glue-noinit.a
|
||||||
|
/boot/develop/lib/ppc/init_term_dyn.o
|
||||||
|
/boot/develop/lib/ppc/start_dyn.o ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $(SYMBOLS) = TRUE )
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -map $(NAME).xMAP ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $(DEBUGGER) = TRUE )
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -g -osym $(NAME).SYM ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EXIT "Your platform is unsupported" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Handle the other settings
|
||||||
|
LINKLIBS on $(<) += [ ProcessLibs $(LIBS) ] ;
|
||||||
|
for i in $(LIBPATHS)
|
||||||
|
{
|
||||||
|
LINKFLAGS on $(<) += -L$(i) ;
|
||||||
|
}
|
||||||
|
HDRS += $(SYSTEM_INCLUDE_PATHS) ;
|
||||||
|
HDRS on $(<) += $(LOCAL_INCLUDE_PATHS) ;
|
||||||
|
CCFLAGS on $(<) += $(COMPILER_FLAGS) ;
|
||||||
|
C++FLAGS on $(<) += $(COMPILER_FLAGS) ;
|
||||||
|
LINKFLAGS on $(<) += $(LINKER_FLAGS) ;
|
||||||
|
|
||||||
|
# Define some tools
|
||||||
|
XRES = xres ;
|
||||||
|
MIMESET = mimeset ;
|
||||||
|
|
||||||
|
# Defining this variable keeps objects from being deleted by the Library
|
||||||
|
# rule. By default the objects are deleted after being archived into
|
||||||
|
# the library. I prefer they not be.
|
||||||
|
KEEPOBJS = true ;
|
||||||
|
|
||||||
|
# Set up the driverinstall target...this makes it easy to install drivers
|
||||||
|
# for testing
|
||||||
|
Always driverinstall ;
|
||||||
|
NotFile driverinstall ;
|
||||||
|
InstallDriver driverinstall : $(NAME) ;
|
||||||
|
|
||||||
|
# Set up the rmapp target...this removes only the application
|
||||||
|
Always rmapp ;
|
||||||
|
NotFile rmapp ;
|
||||||
|
RmApp rmapp : $(NAME) ;
|
||||||
|
|
||||||
|
# Set up the test target...this runs the application in the background
|
||||||
|
#Always test ;
|
||||||
|
NotFile test ;
|
||||||
|
RunApp test : $(NAME) ;
|
||||||
|
MkObjectDirs $(>) ;
|
||||||
|
|
||||||
|
if ( $(TYPE) = STATIC )
|
||||||
|
{
|
||||||
|
Library $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Main $(<) : $(>) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $(RSRCS) )
|
||||||
|
{
|
||||||
|
AddResources $(<) : $(RSRCS) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
MimeSet $(<) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
## OK, let's build
|
||||||
|
##-------------------------------------------------------------------
|
||||||
|
|
||||||
|
#BeMain $(NAME) : $(SRCS) ;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ NAME = libbepascal.so ;
|
|||||||
# SHARED: Shared library or add-on
|
# SHARED: Shared library or add-on
|
||||||
# STATIC: Static library archive
|
# STATIC: Static library archive
|
||||||
# DRIVER: Kernel Driver
|
# DRIVER: Kernel Driver
|
||||||
TYPE = SHARED ;
|
TYPE on $(NAME) = SHARED ;
|
||||||
|
|
||||||
# Specify the source files to use
|
# Specify the source files to use
|
||||||
# Full paths or paths relative to the Jamfile can be included.
|
# Full paths or paths relative to the Jamfile can be included.
|
||||||
@@ -47,7 +47,135 @@ TYPE = SHARED ;
|
|||||||
# if two source files with the same name (source.c or source.cpp)
|
# if two source files with the same name (source.c or source.cpp)
|
||||||
# are included from different directories.
|
# are included from different directories.
|
||||||
# Ex: SRCS = file1.cpp file2.cpp file3.cpp ;
|
# Ex: SRCS = file1.cpp file2.cpp file3.cpp ;
|
||||||
SRCS = src/be/bepas_kernel/beobj.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/Application.cpp
|
||||||
src/be/app/Clipboard.cpp
|
src/be/app/Clipboard.cpp
|
||||||
src/be/app/Handler.cpp
|
src/be/app/Handler.cpp
|
||||||
@@ -82,7 +210,8 @@ SRCS = src/be/bepas_kernel/beobj.cpp
|
|||||||
src/be/interface/TextView.cpp
|
src/be/interface/TextView.cpp
|
||||||
src/be/interface/View.cpp
|
src/be/interface/View.cpp
|
||||||
src/be/interface/Window.cpp
|
src/be/interface/Window.cpp
|
||||||
src/be/mail/E-mail.cpp
|
src/be/mail/E-mail.cpp
|
||||||
|
src/be/storage/FilePanel.cpp
|
||||||
src/be/storage/Volume.cpp
|
src/be/storage/Volume.cpp
|
||||||
src/be/storage/VolumeRoster.cpp
|
src/be/storage/VolumeRoster.cpp
|
||||||
src/be/support/Archivable.cpp
|
src/be/support/Archivable.cpp
|
||||||
@@ -90,86 +219,4 @@ SRCS = src/be/bepas_kernel/beobj.cpp
|
|||||||
src/be/support/Flattenable.cpp
|
src/be/support/Flattenable.cpp
|
||||||
src/be/support/List.cpp
|
src/be/support/List.cpp
|
||||||
src/be/support/String.cpp
|
src/be/support/String.cpp
|
||||||
src/hey/hey.cpp ;
|
src/hey/hey.cpp : SHARED ;
|
||||||
|
|
||||||
# Specify the resource files to use
|
|
||||||
# Full path or a relative path to the resource file can be used.
|
|
||||||
RSRCS = ;
|
|
||||||
|
|
||||||
# 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 = be mail device ;
|
|
||||||
|
|
||||||
# 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 = ;
|
|
||||||
|
|
||||||
# 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 = ;
|
|
||||||
|
|
||||||
# Specify the level of optimization that you desire
|
|
||||||
# NONE, SOME, FULL
|
|
||||||
OPTIMIZE = ;
|
|
||||||
|
|
||||||
# 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 = ;
|
|
||||||
|
|
||||||
# Specify special warning levels
|
|
||||||
# if unspecified default warnings will be used
|
|
||||||
# NONE = supress all warnings
|
|
||||||
# ALL = enable all warnings
|
|
||||||
WARNINGS = ;
|
|
||||||
|
|
||||||
# Specify whether image symbols will be created
|
|
||||||
# so that stack crawls in the debugger are meaningful
|
|
||||||
# if TRUE symbols will be created
|
|
||||||
SYMBOLS = ;
|
|
||||||
|
|
||||||
# Specify debug settings
|
|
||||||
# if TRUE will allow application to be run from a source-level
|
|
||||||
# debugger. Note that this will disable all optimzation.
|
|
||||||
DEBUGGER = ;
|
|
||||||
|
|
||||||
# Specify additional compiler flags for all files
|
|
||||||
COMPILER_FLAGS = ;
|
|
||||||
|
|
||||||
# Specify additional linker flags
|
|
||||||
LINKER_FLAGS on libbepascal.so = ;
|
|
||||||
|
|
||||||
# (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 = ;
|
|
||||||
|
|
||||||
## Include the Jamfile-engine
|
|
||||||
include $(BUILDHOME)/etc/Jamfile-engine ;
|
|
||||||
|
|||||||
@@ -176,8 +176,7 @@ TCPlusObject BStatusBar_Create(TPasObject PasObject, BRect frame, const char *na
|
|||||||
* Params: BMessage *data
|
* Params: BMessage *data
|
||||||
* Effects:
|
* Effects:
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
TCPlusObject BStatusBar_Create_1
|
TCPlusObject BStatusBar_Create_1(TPasObject PasObject, BMessage *data)
|
||||||
(TPasObject PasObject, BMessage *data)
|
|
||||||
{
|
{
|
||||||
return new BPStatusBar(PasObject, data);
|
return new BPStatusBar(PasObject, data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ function BStatusBar_Create(AObject : TBeObject;frame : TCPlusObject;
|
|||||||
name : pchar;
|
name : pchar;
|
||||||
slabel : Pchar;
|
slabel : Pchar;
|
||||||
trailing_label : Pchar): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create';
|
trailing_label : Pchar): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create';
|
||||||
function BStatusBar_Create(AObject : TBeObject; data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create';
|
function BStatusBar_Create_1(AObject : TBeObject; data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create_1';
|
||||||
procedure BStatusBar_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_Free';
|
procedure BStatusBar_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_Free';
|
||||||
function BStatusBar_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : BArchivable; cdecl; external BePascalLibName name 'BStatusBar_Instantiate';
|
function BStatusBar_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : BArchivable; cdecl; external BePascalLibName name 'BStatusBar_Instantiate';
|
||||||
function BStatusBar_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : Status_t; cdecl; external BePascalLibName name 'BStatusBar_Archive';
|
function BStatusBar_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : Status_t; cdecl; external BePascalLibName name 'BStatusBar_Archive';
|
||||||
@@ -114,18 +114,18 @@ function BStatusBar_GetSupportedSuites(AObject : TCPlusObject; data : TCPlusObje
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
constructor BStatusBar.Create(frame : BRect;
|
constructor BStatusBar.Create(frame : BRect;
|
||||||
name : pchar;
|
name : pchar;
|
||||||
alabel : Pchar;
|
alabel : Pchar;
|
||||||
trailing_label : Pchar);
|
trailing_label : Pchar);
|
||||||
begin
|
begin
|
||||||
CreatePas;
|
CreatePas;
|
||||||
CPlusObject := BStatusBar_Create(Self,frame.CPlusObject,name,alabel,trailing_label);
|
CPlusObject := BStatusBar_Create(Self, frame.CPlusObject, name, alabel, trailing_label);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor BStatusBar.Create(data : BMessage);
|
constructor BStatusBar.Create(data : BMessage);
|
||||||
begin
|
begin
|
||||||
CreatePas;
|
CreatePas;
|
||||||
CPlusObject := BStatusBar_Create(Self, data.CPlusObject);
|
CPlusObject := BStatusBar_Create_1(Self, data.CPlusObject);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor BStatusBar.Destroy;
|
destructor BStatusBar.Destroy;
|
||||||
|
|||||||
Reference in New Issue
Block a user