To serve multiple plattforms and development environments,
a plattform independet format for makefiles is needed.
Open the .dsw of the package and compile
the sources.
To compile the complete packages,
go to the acdk root and type:
nmake -f acdk_all.nmake
In the package directory type:
make -f [package].[platform]
where platform is linux or sunos-gcc.
To compile the complete packages,
go to the acdk root and type:
nmake -f acdk_all.linux
The configuration files for acdk projects
are written in lisp. This is used because:
- ACDK as build in interpreter available.
- Easy to use/understand.
- No difference between code and data,
therefore it is quite simple to write functional
plugins for different targets.
A workspace corresponds to one distribution package and
contains code, documentation, tests.
For a workspace, there is a lisp configuration
file workspace_name.lsp in the workspace
directory, which defines the contained projects, supported
platforms and version information.
To generate the platform dependend make files you need
a working acdklisp, and the environment variable has to
be set.
$ACDKHOME/bin/acdklisp workspace_name.lsp
This will generate the workspace project files for the supported
platforms (.dsw, Makefiles, etc.).
For more detailed information see:
Workspaces.
For each executable or library a project_name.lsp
is provided, which following information:
To generate the platform dependend make files you need
a working acdklisp, and the environment variable has to
be set.
$ACDKHOME/bin/acdklisp project_name.lsp [targetname]
where targetname can be "dsw", "linux", "sunos-gcc", "bsd".
This will generate the workspace project files for the supported
platforms (.dsp, Makefiles, etc.).
For more detailed information see:
Workspaces.
/somewhere/acdk
contains the current distribution of acdk.
Example: /usr/local/acdk-1.00 or d:\programming\acdk-1.00.
This directory is also refered ACDKHOME.
/somewhere/acdk/bin
The place for the exutables.
/somewhere/acdk/cfg
The place for configuration data, like lisp files.
/somewhere/acdk/include
The public include headers.
Note: actually also the .cpp files will be copied to
this location, because they are used to generate
the online documentation.
/somewhere/acdk/acdk-workspaces*
Each workspace resists in a sperate directory, which
should be named by the short package name, f.i.
acdk_core, acdk_perl, acdkx_orb, etc.
See below
A workspace corresponds to one distribution unit, including
sources, documentation, test and configuration files.
acdk_project/
The root directory contains normally following files:
acdk_project/index.*
HTML and text files with mayor documentation links.
acdk_project/acdk_project.lsp
The acdk make for the project.
see: Target Workspaces.
Workspaces.
acdk_project/acdk_project.*
target specific make files
acdk_project/Makefile
driver for the target specific make files.
acdk_project/src
This directory contains the projects with all
sources (*.h, *.cpp).
The sources are organized in namespace packages,
whereas each namespace (nested) corresponds to a
(nested) directory.
acdk_project/docs
This directory contains the documentation
of this workspace. For the standard workspaces
these docs will be installed into the acdk project
web.
acdk_project/cfg
Configuration data. will be installed into
the ACDKHOME/cfg directory.
acdk_project/tests
contains the sources for the test executables.
For more information about test please see also: ACDK Unit Tests.
At the moment targets are following available:
- linux: gmake, gcc.
- dsp: MS Visual Studio
- sunos-gcc: Sun Solaris with gcc.
- bsd: Sun Solaris with gcc.
The linux targets generate makefiles for gmake.
Following targets are available in projects:
-
default : Build library or executable.
-
clean : removes all *.o files.
-
depend : creates files for dependencies.
-
outputdirectories : creates all outputdirectories if needed.
-
all : clean depend outputdirectories $(FINALTARGET) doc install
Following targets are available in workspaces:
-
Projects : For each project there
is make target with the same name.
-
clean : calls clean for all projects.
-
doc : generates the document files (genweb needed).
-
install : install header, sources and documentation files.
-
metamakemake : regenerate Workspace Makefiles from project lsp files.
$(ACDKHOME)/bin/acdklisp must be availabe.
-
makemake : regenerate Project Makefiles from project lsp files.
$(ACDKHOME)/bin/acdklisp must be availabe.
-
distrib and ddistrib :
makes distribution for unix platform (distrib) and windows (ddistrib).
Target dsp generates project files for MS Visual Studio (.dsp).
The target itself has 2 sub targets: Debug and Release.
The target dsp generates for workspaces following
files:
- .dsw: MSVC Workspace file, with all projects.
- .nmake: NMAKE make file with other targets
For some functions, like installing headers, the command line Makefile
must be used:
- nmake -f make_workspace.nmake install: Install headers
- nmake -f make_workspace.nmake metamakemake: see linux Workspaces metamakemake
- nmake -f make_workspace.nmake makemake: see linux Workspaces makemake
The same functionality to target linux.
The same functionality to target linux.
Not documented yet.
|