Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56fee671fe | ||
|
|
4c7cfd7b2f | ||
|
|
28cdb2b5e1 | ||
|
|
f006ec6a8e | ||
|
|
f468f0e33c | ||
|
|
3cfd9a79f5 | ||
|
|
0c0b5d44ba | ||
|
|
95a399e4a2 | ||
|
|
4daf75e295 | ||
|
|
0ef60ec09a | ||
|
|
42bd805108 | ||
|
|
5e7ec2be6c | ||
|
|
2c1609e2ed | ||
|
|
4d0785b899 | ||
|
|
1fc97eb429 | ||
|
|
54f3de4b0d | ||
|
|
4907dfd43d | ||
|
|
14414ab86f | ||
|
|
08761bebff | ||
|
|
6619c06109 | ||
|
|
5ba5209891 | ||
|
|
5d4eddf424 | ||
|
|
1982c777be | ||
|
|
842f9e33cf | ||
|
|
d4f44b9bc9 | ||
|
|
d2acbb21b5 | ||
|
|
4ab910abd1 | ||
|
|
6f8e2cd675 | ||
|
|
9658302528 | ||
|
|
1b8da9848e | ||
|
|
4f983714c7 | ||
|
|
31d5dee317 | ||
|
|
e1bc747104 | ||
|
|
82d119fcef | ||
|
|
2ef8e387e0 |
21
COPYRIGHT_Combined
Normal file
21
COPYRIGHT_Combined
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
***********************************************************************/
|
||||
45
COPYRIGHT_UniversityOfChicago
Normal file
45
COPYRIGHT_UniversityOfChicago
Normal file
@@ -0,0 +1,45 @@
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
|
||||
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
|
||||
AND IN ALL SOURCE LISTINGS OF THE CODE.
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
Argonne National Laboratory (ANL), with facilities in the States of
|
||||
Illinois and Idaho, is owned by the United States Government, and
|
||||
operated by the University of Chicago under provision of a contract
|
||||
with the Department of Energy.
|
||||
|
||||
Portions of this material resulted from work developed under a U.S.
|
||||
Government contract and are subject to the following license: For
|
||||
a period of five years from March 30, 1993, the Government is
|
||||
granted for itself and others acting on its behalf a paid-up,
|
||||
nonexclusive, irrevocable worldwide license in this computer
|
||||
software to reproduce, prepare derivative works, and perform
|
||||
publicly and display publicly. With the approval of DOE, this
|
||||
period may be renewed for two additional five year periods.
|
||||
Following the expiration of this period or periods, the Government
|
||||
is granted for itself and others acting on its behalf, a paid-up,
|
||||
nonexclusive, irrevocable worldwide license in this computer
|
||||
software to reproduce, prepare derivative works, distribute copies
|
||||
to the public, perform publicly and display publicly, and to permit
|
||||
others to do so.
|
||||
|
||||
*****************************************************************
|
||||
DISCLAIMER
|
||||
*****************************************************************
|
||||
|
||||
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
|
||||
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
|
||||
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
|
||||
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
||||
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
|
||||
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
|
||||
OWNED RIGHTS.
|
||||
|
||||
*****************************************************************
|
||||
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
|
||||
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
|
||||
84
LICENSE
84
LICENSE
@@ -1,84 +0,0 @@
|
||||
Copyright (c) 1991-2004 University of Chicago and The Regents of the
|
||||
University of California. All rights reserved.
|
||||
|
||||
EPICS BASE is distributed subject to the following license conditions:
|
||||
|
||||
SOFTWARE LICENSE AGREEMENT
|
||||
Software: EPICS BASE
|
||||
Versions: 3.13.7 and higher
|
||||
|
||||
1. The "Software", below, refers to EPICS BASE (in either source code, or
|
||||
binary form and accompanying documentation). Each licensee is
|
||||
addressed as "you" or "Licensee."
|
||||
|
||||
2. The copyright holders shown above and their third-party licensors
|
||||
hereby grant Licensee a royalty-free nonexclusive license, subject to
|
||||
the limitations stated herein and U.S. Government license rights.
|
||||
|
||||
3. You may modify and make a copy or copies of the Software for use
|
||||
within your organization, if you meet the following conditions:
|
||||
a. Copies in source code must include the copyright notice and this
|
||||
Software License Agreement.
|
||||
b. Copies in binary form must include the copyright notice and this
|
||||
Software License Agreement in the documentation and/or other
|
||||
materials provided with the copy.
|
||||
|
||||
4. You may modify a copy or copies of the Software or any portion of it,
|
||||
thus forming a work based on the Software, and distribute copies of
|
||||
such work outside your organization, if you meet all of the following
|
||||
conditions:
|
||||
a. Copies in source code must include the copyright notice and this
|
||||
Software License Agreement;
|
||||
b. Copies in binary form must include the copyright notice and this
|
||||
Software License Agreement in the documentation and/or other
|
||||
materials provided with the copy;
|
||||
c. Modified copies and works based on the Software must carry
|
||||
prominent notices stating that you changed specified portions of
|
||||
the Software.
|
||||
|
||||
5. Portions of the Software resulted from work developed under a U.S.
|
||||
Government contract and are subject to the following license: the
|
||||
Government is granted for itself and others acting on its behalf a
|
||||
paid-up, nonexclusive, irrevocable worldwide license in this computer
|
||||
software to reproduce, prepare derivative works, and perform publicly
|
||||
and display publicly.
|
||||
|
||||
6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE
|
||||
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR
|
||||
EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||||
BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME
|
||||
ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS,
|
||||
OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE
|
||||
SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT
|
||||
THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE
|
||||
OR THAT ANY ERRORS WILL BE CORRECTED.
|
||||
|
||||
7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
|
||||
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT
|
||||
OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
||||
CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
|
||||
INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
|
||||
REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
|
||||
CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR
|
||||
OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
||||
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
||||
|
||||
________________________________________________________________________
|
||||
|
||||
This software is in part copyrighted by the BERLINER SPEICHERRING
|
||||
GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY.
|
||||
|
||||
In no event shall BESSY be liable to any party for direct, indirect,
|
||||
special, incidental, or consequential damages arising out of the use of
|
||||
this software, its documentation, or any derivatives thereof, even if
|
||||
BESSY has been advised of the possibility of such damage.
|
||||
|
||||
BESSY specifically disclaims any warranties, including, but not limited
|
||||
to, the implied warranties of merchantability, fitness for a particular
|
||||
purpose, and non-infringement. This software is provided on an "as is"
|
||||
basis, and BESSY has no obligation to provide maintenance, support,
|
||||
updates, enhancements, or modifications.
|
||||
________________________________________________________________________
|
||||
|
||||
69
MakeRelease
69
MakeRelease
@@ -9,6 +9,75 @@
|
||||
#
|
||||
# [-b] - For fully built release
|
||||
#
|
||||
# $Log$
|
||||
# Revision 1.11 1997/07/01 18:29:17 jba
|
||||
# Changed Tar to tar in output filename.
|
||||
#
|
||||
# Revision 1.10 1997/01/17 19:59:37 jba
|
||||
# Use config/CONFIG_BASE_VERSION to get version info.
|
||||
#
|
||||
# Revision 1.9 1996/09/04 21:41:36 jba
|
||||
# Top level dir no longer passed to MakeRelease
|
||||
#
|
||||
# Revision 1.8 1996/07/02 13:45:09 jba
|
||||
# Added dbd and base/config dirs. Removed epics/config and base/rec.
|
||||
#
|
||||
# Revision 1.7 1996/06/25 21:54:42 jba
|
||||
# Command line parm now base dir
|
||||
#
|
||||
# Revision 1.6 1996/06/07 19:19:10 jba
|
||||
# MakeRelease is now in release tar file.
|
||||
#
|
||||
# Revision 1.5 1996/03/04 21:03:48 jba
|
||||
# epicsVersion.h now in src/include.
|
||||
#
|
||||
# Revision 1.4 1996/02/20 21:03:53 jba
|
||||
# Updated README files to reflect directory changes and new installEpics.
|
||||
#
|
||||
# Revision 1.3 1995/10/03 15:42:26 jba
|
||||
# Added *COPYRIGHT* files to release tar file.
|
||||
#
|
||||
# Revision 1.2 1995/08/28 15:49:54 jba
|
||||
# Added startup directory to release tar file
|
||||
#
|
||||
# Revision 1.1 1995/08/17 20:14:56 jba
|
||||
# Added base/tools scripts functionality to base/Makefile, removed scripts
|
||||
# Moved base/tools/MakeRelease to base dir.
|
||||
#
|
||||
# Revision 1.14 1994/12/19 18:42:08 tang
|
||||
# Make the args length compatible for HP and SUN.
|
||||
#
|
||||
# Revision 1.13 1994/12/15 19:19:18 tang
|
||||
# Replace -I opt by cat and xargs for tar for HP compatibility.
|
||||
#
|
||||
# Revision 1.12 1994/12/14 23:57:55 tang
|
||||
# Take out \< and \> pair for hp compatible
|
||||
#
|
||||
# Revision 1.11 1994/10/31 21:44:17 jba
|
||||
# Moved print stmnt, added cd $(EPICS)
|
||||
#
|
||||
# Revision 1.10 1994/10/05 18:29:34 jba
|
||||
# Renamed version.h to epicsVersion.h
|
||||
#
|
||||
# Revision 1.9 1994/09/22 01:41:47 mcn
|
||||
# MakeRelease - MAJOR bug fix. GetVar / MakeDirs - minor fix.
|
||||
#
|
||||
# Revision 1.8 1994/09/07 20:59:15 mcn
|
||||
# Revamped GetVar, modified scripts for new GetVar.
|
||||
#
|
||||
# Revision 1.7 1994/09/02 20:58:00 mcn
|
||||
# minor change.
|
||||
#
|
||||
# Revision 1.6 1994/08/21 00:56:41 mcn
|
||||
# New Stuff
|
||||
#
|
||||
# Revision 1.5 1994/08/02 18:36:29 mcn
|
||||
# Support new configuration.
|
||||
#
|
||||
# Revision 1.4 1994/07/14 22:13:32 mcn
|
||||
# Now include SDR Makefile/Headers
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
if [ ! -d src ]; then
|
||||
|
||||
13
Makefile
13
Makefile
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# Top Level EPICS Makefile
|
||||
# by Matthew Needes and Mike Bordua
|
||||
@@ -35,9 +26,7 @@ INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
|
||||
#
|
||||
PERL_BOOTSTRAP_SCRIPTS = $(notdir $(wildcard $(TOP)/src/tools/*.pl))
|
||||
PERL_BOOTSTRAP_SCRIPTS_INSTALL = $(PERL_BOOTSTRAP_SCRIPTS:%=$(INSTALL_BIN)/%)
|
||||
all host cross inc rebuild clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
|
||||
|
||||
RMDIR=$(PERL) $(TOP)/src/tools/rm.pl -rf
|
||||
all host cross inc rebuild uninstall clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
|
||||
|
||||
include $(TOP)/config/RULES_TOP
|
||||
|
||||
|
||||
4
README
4
README
@@ -8,7 +8,7 @@ $Id$
|
||||
Notes:
|
||||
|
||||
1. Before you can build or use EPICS, the environemnt variable HOST_ARCH
|
||||
must be set. The base/startup/HostArch script file has been provided
|
||||
must be set. The epics/startup/HostArch script file has been provided
|
||||
to set HOST_ARCH.
|
||||
|
||||
2. You must use GNU make (which is now THE supported make utility) for
|
||||
@@ -98,7 +98,7 @@ Notes:
|
||||
|
||||
NOTES:
|
||||
|
||||
1. EPICS binaries and shell scripts are installed into the directory
|
||||
1. EPICS binaries and shellscripts are installed into the directory
|
||||
$(INSTALL_LOCATION)/bin/ARCH.
|
||||
|
||||
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
|
||||
|
||||
@@ -7,7 +7,7 @@ most important:
|
||||
tools/installEpics.pl
|
||||
include/makeEpicsVersion.pl
|
||||
libCom/bldEnvData.pl
|
||||
libCom/makeStatTbl.pl
|
||||
libCom/makeStatSymTbl.pl
|
||||
sequencer/makeVersion.pl
|
||||
|
||||
WIN32 also uses
|
||||
|
||||
@@ -1,54 +1,87 @@
|
||||
Compiling EPICS on cygwin32 (Windows95/NT)
|
||||
------------------------------------------
|
||||
|
||||
Right now this port of EPICS base to cygwin32 R1.3.3 fails
|
||||
because cygwin does not yet support point-to-point interfaces.
|
||||
Right now this port of EPICS to cygwin32 it is possible to
|
||||
compile the EPICS base for the cygwin32 Host using Cygnus' beta19
|
||||
release of the GNU-win32 tools.
|
||||
|
||||
To build EPICS on Win95 or NT using cygwin32, we need
|
||||
|
||||
EPICS base distribution, R3.12.0.beta12 or later, available
|
||||
from http://aps.anl.gov/...
|
||||
The latest cygwin distribution, available from
|
||||
http://www.cygwin.com
|
||||
Cygnus's latest gnu-win32 distribution, available from
|
||||
http://www.cygnus.com/misc/gnu-win32/ (release b19 or later)
|
||||
Perl,version 5.003 or later, available from
|
||||
http://www.perl.org/CPAN/ports/win32/
|
||||
|
||||
Optional items
|
||||
CVS, version 1.9 or later, available from
|
||||
http:/download.cyclic.com
|
||||
windows-nt - cvs-1.9.10.tar.gz
|
||||
patch.exe
|
||||
win32gnu.dll
|
||||
vim ( Vi IMproved), version 4.5 or later, available from
|
||||
http://www.cygnus.com/misc/gnu-win32/
|
||||
|
||||
|
||||
BUILD INSTRUCTIONS
|
||||
------------------
|
||||
|
||||
|
||||
1) Install the cygwin binary release
|
||||
------------------------------------
|
||||
1) Install the gnu-win32 binary release
|
||||
---------------------------------------
|
||||
Download the whole release, cdk.exe, to get the developemnt tools
|
||||
|
||||
2) Install the epics base distribution
|
||||
First move out of the way any older versions of gnuwin32
|
||||
|
||||
Run cdk.exe and follow the install instructions.
|
||||
|
||||
Don't forget to create a \tmp dir and setup the \bin dir.
|
||||
(Create a \temp dir if you install cvs.)
|
||||
mkdir \tmp
|
||||
mkdir \temp
|
||||
mkdir \bin
|
||||
cd \bin
|
||||
copy C:\cygnus\b19\H-i386-cygwin32\bin\sh.exe sh.exe
|
||||
|
||||
Install the b19.1 bug fix update to the Cygwin32 library.
|
||||
|
||||
(Optional: Install the GNU-WIN32 compiler replacement from
|
||||
the ECGS project)
|
||||
|
||||
2) Install the perl distribution
|
||||
--------------------------------
|
||||
pw32i316.exe (Execute and follow instructions)
|
||||
|
||||
3) Install the epics base distribution
|
||||
--------------------------------------
|
||||
cp <dirname>\<basereleasename>.tar.gz .
|
||||
gunzip -d <basereleasename>.tar.gz
|
||||
tar xvf <basereleasename>.tar
|
||||
mkdir <epicsBaseReleaseDir>
|
||||
chdir <epicsBaseReleaseDir>
|
||||
cp <dirname>\<basereleasename>.gz .
|
||||
gunzip -d <basereleasename>.gz
|
||||
chmod +w -R *
|
||||
cd <epicsBaseDir>
|
||||
|
||||
3) Set environment variables and path using cygwin32.bat
|
||||
4) Set environment variables and path using cygwin32.bat
|
||||
-------------------------------------------------------------
|
||||
<edit <epicsBaseDir>/startup/cygwin32.bat changing paths if necessary>
|
||||
cd <epicsBaseDir>\startup
|
||||
edit cygwin32.bat
|
||||
<execute cygwin32.bat>
|
||||
cygwin
|
||||
<edit cygwin32.bat changing paths if necessary>
|
||||
cd <epicsBaseReleaseDir>\startup
|
||||
cygwin32.bat
|
||||
|
||||
4) Set site specific parms in epics config files
|
||||
------------------------------------------------
|
||||
cd <epicsBaseDir>\config
|
||||
5) Set site specific parms in epics base\config files
|
||||
-----------------------------------------------------
|
||||
cd <epicsBaseReleaseDir>\base\config
|
||||
<edit CONFIG_SITE* files>
|
||||
|
||||
5) Build epics base
|
||||
6) Build epics base
|
||||
-------------------
|
||||
cd <epicsBaseDir>
|
||||
cd <epicsBaseReleaseDir>\base
|
||||
make
|
||||
|
||||
6) Create an example EPICS application (<epicsBaseDir> needs drive letter)
|
||||
--------------------------------------------------------------------------
|
||||
7) Create an EPICS application area (note forward slashes on perl cmd)
|
||||
---------------------------------------------------------------------
|
||||
mkdir <epicsappdir>
|
||||
cd <epicsappdir>
|
||||
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -l
|
||||
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -t example example
|
||||
make
|
||||
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -l
|
||||
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -t example example
|
||||
|
||||
|
||||
|
||||
3127
RELEASE_NOTES.html
3127
RELEASE_NOTES.html
File diff suppressed because it is too large
Load Diff
11
SkeletonCOPYRIGHT_Combined
Normal file
11
SkeletonCOPYRIGHT_Combined
Normal file
@@ -0,0 +1,11 @@
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1991 Regents of the University of California,
|
||||
and the University of Chicago Board of Governors.
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_Combined file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
5
config.hkv2f.mk
Normal file
5
config.hkv2f.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
5
config.mv147.mk
Normal file
5
config.mv147.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
5
config.mv167.mk
Normal file
5
config.mv167.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
BUILD_TYPE = Vx
|
||||
|
||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
||||
src/sequencer src/util src/dbtools src/misc .
|
||||
13
config.sun4.mk
Normal file
13
config.sun4.mk
Normal file
@@ -0,0 +1,13 @@
|
||||
BUILD_TYPE = Unix
|
||||
DIRS = src/libCom \
|
||||
src/db \
|
||||
src/ca \
|
||||
src/toolsComm/antelope \
|
||||
src/toolsComm/flex \
|
||||
src/as \
|
||||
src/bld \
|
||||
src/dct \
|
||||
src/util \
|
||||
src/sequencer \
|
||||
src/dbtools \
|
||||
rec
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
@@ -1,261 +0,0 @@
|
||||
# CONFIG.Host.Borland
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Borland
|
||||
|
||||
BORLAND_LIB = $(BORLAND)\\lib
|
||||
BORLAND_INC = $(BORLAND)\\include
|
||||
BORLAND_BIN = $(BORLAND)\\bin
|
||||
|
||||
#
|
||||
#
|
||||
ANSI = ACC
|
||||
CPLUSPLUS = CCC
|
||||
|
||||
#
|
||||
# -q supress command line banner
|
||||
WINLINK = $(BORLAND_BIN)/ilink32 -q
|
||||
|
||||
# -l specifies default language
|
||||
# -fo Renames the output .RES file
|
||||
RCCMD = $(BORLAND_BIN)/brcc32 $(subst -I,-i,$(INCLUDES)) -l0x409 -fo$@ $<
|
||||
|
||||
ARCMD = $(BORLAND_BIN)/tlib $@
|
||||
|
||||
#
|
||||
# Configure Borland C compiler
|
||||
# -q suppress compiler identification banner
|
||||
# -tWM generate a 32-bit multi-threaded target
|
||||
# -tWD generate a .DLL executable
|
||||
# -a8 quad word alignment
|
||||
# -D_WIN32 macro defined to be consistant with Microsoft Visual C++
|
||||
# -D_RTLDLL macro defined to use Borland C++ RTL library
|
||||
CCLINKOPT = -q -tWM -tWD -a8 -D_WIN32 -D_RTLDLL
|
||||
ACC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
|
||||
|
||||
#
|
||||
# __STDC__=0 works but not as cleanly as with
|
||||
# Microsoft Visual C++.
|
||||
# The Borland header files use ifdef __STDC__
|
||||
# to disable many nice things. This is overridden
|
||||
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||
#
|
||||
ifdef NO_BORLAND_STDC
|
||||
ACC_ANSI = $(ACC)
|
||||
ACC_STRICT = $(ACC)
|
||||
else
|
||||
ACC_ANSI = $(ACC) -D__STDC__=0
|
||||
ACC_STRICT = $(ACC) -D__STDC__=0
|
||||
endif
|
||||
ACC_TRAD = $(ACC)
|
||||
|
||||
# -w display warnings on
|
||||
# -g0 no limit to warning messages
|
||||
# some warning message here are always disabled because they are
|
||||
# trivial and numerous
|
||||
# -w-8012 Comparing signed and unsigned values
|
||||
# -w-8060 Possibly incorrect assignment
|
||||
# -w-8071 Conversion may lose significant digits
|
||||
ACC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071
|
||||
# -w- display warnings off
|
||||
ACC_WARN_NO = -w-
|
||||
|
||||
#
|
||||
# -k- turn off standard stack frame
|
||||
# -H- turn off precompiled headers
|
||||
# -R- don't include browser info in .obj files
|
||||
# -O1 optimization for size
|
||||
# -v- turn off source debugging
|
||||
# -vi control expansion of inline functions
|
||||
ACC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||
|
||||
#
|
||||
ACC_OPT_NO =
|
||||
|
||||
|
||||
#
|
||||
# no special libs for static link
|
||||
#
|
||||
ACC_SLIBS_YES=
|
||||
ACC_SLIBS_NO=
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
#
|
||||
# __STDC__=0 works but not as cleanly as with
|
||||
# Microsoft Visual C++.
|
||||
# The Borland header files use ifdef __STDC__
|
||||
# to disable many nice things. This is overridden
|
||||
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||
#
|
||||
CCC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
|
||||
ifdef NO_BORLAND_STDC
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
else
|
||||
CCC_NORMAL = $(CCC) -D__STDC__=0
|
||||
CCC_STRICT = $(CCC) -D__STDC__=0
|
||||
endif
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
|
||||
# -w display warnings on
|
||||
# -g0 no limit to warning messages
|
||||
# -w-8012 Comparing signed and unsigned values
|
||||
# -w-8060 Possibly incorrect assignment
|
||||
# -w-8071 Conversion may lose significant digits
|
||||
CCC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071 -w-8008 -w-8027 -w-8066 -w-8080 -w-8004
|
||||
# -w- display warnings off
|
||||
CCC_WARN_NO = -w-
|
||||
|
||||
#
|
||||
# -k- turn off standard stack frame
|
||||
# -H- Turn off precompiled headers
|
||||
# -R- Don't include browser info in .obj files
|
||||
# -O1 optimization for size
|
||||
# -v- turn off source debugging
|
||||
# -vi control expansion of inline functions
|
||||
CCC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||
|
||||
#
|
||||
CCC_OPT_NO =
|
||||
|
||||
#
|
||||
# no special libs for static link
|
||||
#
|
||||
CCC_SLIBS_YES=
|
||||
CCC_SLIBS_NO=
|
||||
|
||||
PROD_VERSION=3.13
|
||||
# -c case sensitive linking
|
||||
# -C clear state before linking
|
||||
# -Gi generate import library
|
||||
# -Gn no state files
|
||||
# -Tpd targets a Windows .DLL file
|
||||
# -x no map
|
||||
# -w display warnings on
|
||||
LINK_OPT_FLAGS_YES = -c -C -Gi -Gn -Tpd -x -w
|
||||
LINK_OPT_FLAGS_NO = -c -C -Gi -Gn -Tpd -x -w-
|
||||
WIN32_DLLFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
|
||||
OPT_LDFLAGS =
|
||||
|
||||
ARCH_DEP_CFLAGS=
|
||||
|
||||
# to identify the general architecture class:
|
||||
# should be BSD, SYSV, WIN32, ...
|
||||
# is: WIN32, sun4, hpux, linux, ...
|
||||
#
|
||||
ARCH_CLASS=WIN32
|
||||
|
||||
# ifdef WIN32 looks better that ifeq ($(ARCH_CLASS),WIN32) ??
|
||||
WIN32=1
|
||||
BORLANDC=1
|
||||
|
||||
EXE=.exe
|
||||
OBJ=.obj
|
||||
RES=.res
|
||||
|
||||
# Problem: BorlandC does not recognize *.cc as C++ source,
|
||||
# we have to compile xx.cc using the flag -P xx.cc,
|
||||
SOURCE_CXXFLAG = -P -D__cplusplus
|
||||
|
||||
# Operating system flags
|
||||
OP_SYS_CFLAGS =
|
||||
|
||||
#
|
||||
# Borland specific include files
|
||||
#
|
||||
OP_SYS_INCLUDES = -I$(BORLAND_INC)
|
||||
#
|
||||
OP_SYS_LDLIBS =
|
||||
|
||||
#
|
||||
# specify dll .def file only if it exists
|
||||
#
|
||||
#DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(LIBRARY).def))
|
||||
DLL_DEF_FLAG = $(subst /,\\,$(wildcard ../$(LIBRARY).def))
|
||||
|
||||
# HOST_OPT_FLAGS is part of CFLAGS/CXXFLAGS,
|
||||
# which in turn are used in COMPILE.c[c]
|
||||
#
|
||||
# If we compile a .c, .cc into an $(OBJ),
|
||||
# we test if this object is part of the
|
||||
# library objects LIBOBJS.
|
||||
# If so, we define _WINDLL so that
|
||||
# e.g. include/shareLib.h works correctly.
|
||||
#
|
||||
HOST_OPT_FLAGS += $(subst $@, /_WINDLL, $(findstring $@,$(LIBOBJS)))
|
||||
|
||||
#
|
||||
# A WIN32 dll has three parts:
|
||||
# x.dll: the real dll (SHRLIBNAME)
|
||||
# x.lib: what you link to progs that use the dll (LIBNAME)
|
||||
# x.exp: what you need to build the dll (in no variable)
|
||||
#
|
||||
LINK.shrlib = $(WINLINK) $(WIN32_DLLFLAGS) -L$(BORLAND_LIB) -L$(BORLAND_LIB)\\Psdk c0d32.obj
|
||||
|
||||
# adjust names of libraries to build
|
||||
#
|
||||
# But: if there are no objects LIBOBJS to include
|
||||
# in this library (may be for e.g. base/src/libCompat
|
||||
# on some archs), don't define (and build) any library!
|
||||
SHRLIBNAME = $(LIBRARY).dll
|
||||
|
||||
#
|
||||
# Under WIN32 we have the unique situation where the DLL link creates the
|
||||
# DLL link library xxx.lib and we need to be very careful to avoid replacing
|
||||
# the xxx.lib created by the dll link with an xxx.lib created by $(AR).
|
||||
# Therefore, the object library is named xxxObj.lib
|
||||
#
|
||||
# SHARED_LIBRARIES is YES if we are building a DLL and NO if we aren't
|
||||
#
|
||||
DLL_LINK_LIBNAME_YES = $(LIBRARY).lib
|
||||
DLL_LINK_LIBNAME = $(DLL_LINK_LIBNAME_$(SHARED_LIBRARIES))
|
||||
|
||||
#ifeq ($(strip $(SHARED_LIBRARIES)),NO)
|
||||
#LIBNAME = $(LIBRARY).lib
|
||||
#else
|
||||
LIBNAME = $(LIBRARY)Obj.lib
|
||||
#endif
|
||||
|
||||
# dll install location
|
||||
INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||
|
||||
#--------------------------------------------------
|
||||
# Dependancy definitions
|
||||
OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build
|
||||
OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build
|
||||
OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD))
|
||||
|
||||
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),\
|
||||
$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib)$(OBJECT_LIB_EXT)))
|
||||
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||
|
||||
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||
|
||||
# by default the libraries used when linking the DLL are just
|
||||
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||
|
||||
#
|
||||
# EPICS libs that we need to link the DLL with
|
||||
# (it isnt necessary to rebuild the dll if these change)
|
||||
DLL_DEPLIBS = $(foreach lib,$(DLL_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||
|
||||
USR_LDLIBS = $(PRODNAME_DEPLIBS) $(PROD_DEPLIBS) $(USR_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib)
|
||||
|
||||
DLL_LDLIBS = $(DLL_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
|
||||
|
||||
#multithreaded import library
|
||||
LIBSUF=mti
|
||||
# -c case sensitive linking
|
||||
# -C clear state before linking
|
||||
# -Gn no state files
|
||||
# -Tpe targets a Windows .EXE file
|
||||
# -x no map
|
||||
# -w display warnings on
|
||||
LDFLAGS += -c -C -Gn -Tpe -x -w -L$(BORLAND_LIB) -L$(BORLAND_LIB)\\Psdk
|
||||
LINKSTARTUP = c0x32.obj
|
||||
LINKLIBS=import32.lib cw32$(LIBSUF).lib
|
||||
|
||||
LINK.c = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||
LINK.cc = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||
|
||||
@@ -22,15 +22,16 @@ ACC_ANSI = $(ACC)
|
||||
ACC_STRICT = $(ACC) -pedantic
|
||||
#ACC_STRICT = $(ACC) -ansi -pedantic -D_SVID_SOURCE
|
||||
ACC_TRAD = $(ACC)
|
||||
ACC_WARN_YES = -Wall
|
||||
ACC_WARN_YES =
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES = -static
|
||||
ACC_SFLAGS_YES = -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES = -fPIC
|
||||
#ACC_SHRLIB_CFLAGS_YES = -fPIC -D_BSD_SOURCE
|
||||
ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
||||
|
||||
|
||||
@@ -38,18 +39,16 @@ ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
||||
CCC = g++
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
#CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||
CCC_WARN_YES = -Wall
|
||||
CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||
CCC_WARN_YES =
|
||||
CCC_WARN_NO =
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES = -static
|
||||
CCC_SFLAGS_YES = -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -MM
|
||||
CCC_SHRLIB_CFLAGS_YES = -fPIC
|
||||
CCC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
||||
|
||||
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
|
||||
# in effect this overides orig def in CONFIG_COMMON :
|
||||
@@ -58,7 +57,7 @@ GCC_STRICT = $(GCC)
|
||||
G++_STRICT = $(G++) -Wtraditional
|
||||
|
||||
|
||||
#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
|
||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
|
||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
|
||||
ARCH_DEP_LDFLAGS =
|
||||
|
||||
|
||||
58
config/CONFIG.Host.LynxOS
Normal file
58
config/CONFIG.Host.LynxOS
Normal file
@@ -0,0 +1,58 @@
|
||||
# CONFIG.Host.LynxOS
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.LynxOS
|
||||
|
||||
ARCH_CLASS = LynxOS
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar -rc
|
||||
ARCMD = $(AR) $@
|
||||
RANLIB = ranlib -t
|
||||
|
||||
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
ACC_ANSI = $(ACC) -ansi -mposix -D_X86_
|
||||
ACC_STRICT = $(ACC) -ansi -mposix -D_X86_ -pedantic
|
||||
ACC_TRAD = $(ACC)
|
||||
ACC_WARN_YES = -Wall
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES = -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES =
|
||||
|
||||
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
CCC_NORMAL = $(CCC)
|
||||
CCC_STRICT = $(CCC)
|
||||
CCC_TEMPL_INST_FLAG = -pedantic -mposix -D_X86_ -DEXPL_TEMP
|
||||
CCC_WARN_YES = -Wall
|
||||
CCC_WARN_NO = -w
|
||||
CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES = -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -pedantic -mposix -D_X86_
|
||||
|
||||
|
||||
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
|
||||
# in effect this overides orig def in CONFIG_COMMON :
|
||||
# which is GCC_STRICT = $(GCC) -ansi -pedantic
|
||||
GCC_STRICT = $(GCC)
|
||||
G++_STRICT = $(G++) -Wtraditional -mposix -D_X86_ -DEXPL_TEMP
|
||||
|
||||
|
||||
|
||||
ARCH_DEP_CFLAGS = -DLynxOS -mposix -D_X86_
|
||||
ARCH_DEP_LDFLAGS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
# CONFIG.Host.UnixCommon
|
||||
#
|
||||
# Contains definitions common to all Unix archs
|
||||
#
|
||||
@@ -19,9 +19,9 @@ LIBNAME = $(LIBRARY:%=lib%.a)
|
||||
SHRLIB_SUFFIX = .so
|
||||
|
||||
SHRLIBNAME = lib$(LIBRARY)$(SHRLIB_SUFFIX)$(SHRLIB_VERSION:%=.%)
|
||||
SHRLIB_LDFLAGS = $($(ANSI)_SHRLIB_LDFLAGS_$(strip $(SHARED_LIBRARIES)))
|
||||
|
||||
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS) $(USR_LIBS))
|
||||
DLL_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(DLL_LIBS:%=-l%)
|
||||
DLL_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)
|
||||
|
||||
INSTALL_SHRLIB = $(INSTALL_LIB)
|
||||
|
||||
@@ -44,10 +44,11 @@ OBJ = .o
|
||||
|
||||
#--------------------------------------------------
|
||||
# Dependancy definitions
|
||||
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*))))
|
||||
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a))
|
||||
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
||||
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
||||
|
||||
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
||||
|
||||
#--------------------------------------------------
|
||||
# Determine ld flags
|
||||
@@ -59,11 +60,13 @@ USR_LDFLAGS += $(sort $(USR_DIRS:%=-L%))
|
||||
USR_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
|
||||
$(SYS_PROD_LIBS:%=-l%)
|
||||
|
||||
#USR_LDLIBS = $(PRODNAME_DEPLIBS:%=-L%) $(PROD_DEPLIBS:%=-L%) $(USR_DEPLIBS)\
|
||||
# $(USR_XLDLIBS)
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system definitions
|
||||
OP_SYS_INCLUDES =
|
||||
OP_SYS_CFLAGS = -DUNIX
|
||||
|
||||
OP_SYS_CFLAGS = -DUNIX
|
||||
OP_SYS_LDFLAGS =
|
||||
OP_SYS_LDLIBS = -lm
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.WIN32
|
||||
|
||||
# Use std path variables from ms
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
|
||||
#
|
||||
# You currently get Visual C++ even if you ask for GNU.
|
||||
#
|
||||
@@ -17,7 +20,7 @@ CPLUSPLUS = CCC
|
||||
MSVISC = c:\\Program\ Files\\DevStudio\\Vc
|
||||
WINLINK = link
|
||||
|
||||
RCCMD = rc -l 0x409 -i . -i .. -I$(INSTALL_INCLUDE)/os/$(OS_CLASS) -I$(INSTALL_INCLUDE) $(INSTALL_INCLUDES) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE) -fo $@ $<
|
||||
RCCMD = rc -l 0x409 -fo $@ $<
|
||||
|
||||
ARCMD = lib /nologo /verbose /out:$@
|
||||
|
||||
@@ -123,7 +126,7 @@ CCC_SFLAGS_NO= /MD$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
|
||||
#
|
||||
CCC_SLIBS_YES=
|
||||
CCC_SLIBS_NO=
|
||||
|
||||
|
||||
LINK_OPT_FLAGS_YES = /WARN:3 /incremental:no /opt:ref\
|
||||
/release $(PROD_VERSION:%=/version:%)
|
||||
LINK_OPT_FLAGS_NO = /WARN:3 /debug
|
||||
@@ -155,7 +158,7 @@ OP_SYS_CFLAGS =
|
||||
#
|
||||
# WIN32 specific include files
|
||||
#
|
||||
#OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32
|
||||
OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32
|
||||
|
||||
#
|
||||
# These are now added to the individual makefiles that use them in order to
|
||||
@@ -233,7 +236,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_L
|
||||
|
||||
# by default the libraries used when linking the DLL are just
|
||||
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
|
||||
|
||||
#
|
||||
# EPICS libs that we need to link the DLL with
|
||||
|
||||
@@ -39,8 +39,6 @@ CCC_SFLAGS_YES=
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_SHRLIB_CFLAGS_YES =
|
||||
CCC_SHRLIB_LDFLAGS_YES = -shared
|
||||
CCC_DEPENDS_FLAG =
|
||||
|
||||
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
|
||||
|
||||
@@ -24,11 +24,5 @@ SHARED_LIBRARIES=NO
|
||||
#==========================
|
||||
|
||||
ARCH_DEP_CFLAGS = -DCYGWIN32 -U_WIN32
|
||||
ARCH_DEP_LDLIBS =
|
||||
OP_SYS_LDLIBS =
|
||||
|
||||
# cygwin32 overrides to eliminate following warning message -
|
||||
# -fPIC ignored for target (all code is position independent)
|
||||
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||
G++_DEP_CFLAGS = -D_REENTRANT
|
||||
ARCH_DEP_LDLIBS = -lm
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ ARCH_CLASS = hp700
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
SHRLIB_SUFFIX = .sl
|
||||
|
||||
|
||||
AR = ar
|
||||
|
||||
# Configure OS vendor C compiler
|
||||
@@ -27,7 +27,6 @@ ACC_SLIBS_YES =
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES = +Z
|
||||
ACC_SHRLIB_LDFLAGS_YES = -b
|
||||
ACC_DEP_CFLAGS=+DAportable
|
||||
|
||||
# Configure OS vendor C++ compiler
|
||||
HPCC = cc
|
||||
@@ -44,17 +43,10 @@ HPCC_SLIBS_YES =
|
||||
HPCC_SLIBS_NO=
|
||||
HPCC_SHRLIB_CFLAGS_YES = +Z
|
||||
HPCC_SHRLIB_LDFLAGS_YES = -b
|
||||
HPCC_DEP_CFLAGS=+DAportable
|
||||
|
||||
#Old HP C++ compiler
|
||||
#CCC = CC
|
||||
#CCC_NORMAL = $(CCC) +p
|
||||
|
||||
#New HP C++ compiler
|
||||
CCC = aCC
|
||||
# avoid treating "future errors" as actual errors
|
||||
CCC_NORMAL = $(CCC) -AA -Aa +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
|
||||
CCC_STRICT = $(CCC) -AA -Aa +p
|
||||
CCC = CC
|
||||
CCC_NORMAL = $(CCC) +p
|
||||
CCC_STRICT = $(CCC) +p
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
CCC_WARN_YES = +w
|
||||
CCC_WARN_NO =
|
||||
@@ -64,20 +56,8 @@ CCC_SFLAGS_YES= -Wl,-a,archive
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_SHRLIB_CFLAGS_YES = +Z
|
||||
# shared libs will be found by searching environment variable SHLIB_PATH,
|
||||
# then by searching the specified path (see below)
|
||||
CCC_SHRLIB_LDFLAGS_YES = -b
|
||||
CCC_DEPENDS_FLAG = +m
|
||||
CCC_DEP_CFLAGS=+DAportable
|
||||
CCC_DEPENDS_FLAG =
|
||||
|
||||
# +DAportable causes portable object code to be created for execution
|
||||
# on different PA-Risc machines
|
||||
|
||||
empty:=
|
||||
space:= $(empty) $(empty)
|
||||
|
||||
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||
ARCH_DEP_CXXFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||
ARCH_DEP_LDLIBS =
|
||||
ARCH_DEP_LDFLAGS = -Wl,+b,$(subst $(space),:,$(DEFAULT_SHRLIB_SEARCH_PATH)),+s
|
||||
|
||||
|
||||
@@ -40,8 +40,6 @@ CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES =
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG =
|
||||
CCC_SHRLIB_CFLAGS_YES = -KPIC
|
||||
CCC_SHRLIB_LDFLAGS_YES = -shared
|
||||
|
||||
####KRCC = ??
|
||||
|
||||
|
||||
@@ -26,15 +26,14 @@ ACC = $(SPARCWORKS)/bin/cc
|
||||
ACC_ANSI = $(ACC) -Xa
|
||||
ACC_STRICT = $(ACC) -Xc -v
|
||||
ACC_TRAD = $(ACC) -Xs
|
||||
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
|
||||
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
ACC_WARN_YES =
|
||||
ACC_WARN_NO = -w
|
||||
ACC_OPT_YES = -O
|
||||
ACC_OPT_NO = -g
|
||||
ACC_SFLAGS_YES= -Bstatic
|
||||
ACC_SFLAGS_NO=
|
||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
ACC_SLIBS_NO=
|
||||
ACC_SHRLIB_CFLAGS_YES =
|
||||
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
@@ -43,7 +42,7 @@ ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
CCC = $(SPARCWORKS)/bin/CC
|
||||
CCC_NORMAL = $(CCC) +p
|
||||
CCC_STRICT = $(CCC) +p
|
||||
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||
CCC_TEMPL_INST_FLAG =
|
||||
CCC_WARN_YES = +w
|
||||
CCC_WARN_NO =
|
||||
@@ -51,16 +50,12 @@ CCC_OPT_YES = -O
|
||||
CCC_OPT_NO = -g
|
||||
CCC_SFLAGS_YES= -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
||||
CCC_SLIBS_NO=
|
||||
CCC_DEPENDS_FLAG = -xM1
|
||||
CCC_SHRLIB_CFLAGS_YES =
|
||||
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
|
||||
|
||||
ARCH_DEP_CFLAGS = -DSOLARIS
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS = -lsocket -lnsl
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# CONFIG.Host.solaris-x86
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.solaris-x86
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||
|
||||
# Solaris on x86
|
||||
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
# CONFIG.Host.solarisGnu
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
# Sites may override these definitions in CONFIG_SITE.Host.solarisGnu
|
||||
|
||||
ARCH_CLASS = solaris
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||
|
||||
AR = ar
|
||||
_AR = $(AR) $(ARFLAGS)
|
||||
G++_AR = $(_AR)
|
||||
CCC_AR = $(CCC) -xar -o
|
||||
ARCMD = $($(CPLUSPLUS)_AR) $@
|
||||
RANLIB =
|
||||
|
||||
#==========================
|
||||
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
|
||||
ANSI=GCC
|
||||
CPLUSPLUS=G++
|
||||
#==========================
|
||||
|
||||
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||
|
||||
# socket and nsl needed by libca.a
|
||||
ARCH_DEP_LDLIBS += -lsocket -lnsl
|
||||
|
||||
@@ -68,8 +68,6 @@ CCC_SFLAGS_YES= -Bstatic
|
||||
CCC_SFLAGS_NO=
|
||||
CCC_SLIBS_YES=
|
||||
CCC_SLIBS_NO=
|
||||
CCC_SHRLIB_CFLAGS_YES = -pic
|
||||
CCC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@
|
||||
CCC_DEPENDS_FLAG = -xM1
|
||||
|
||||
GCC_ANSI += -D__USE_FIXED_PROTOTYPES__
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
# This file contains definitions for Vx builds
|
||||
@@ -29,6 +20,7 @@ CXX = g++
|
||||
# the override definitions.
|
||||
|
||||
# Tornado directory definitions
|
||||
VX_CONFIG_DIR_YES =
|
||||
VX_INCLUDE_YES =
|
||||
VX_GNU_YES =
|
||||
VX_GNU_BIN_YES =
|
||||
@@ -36,12 +28,14 @@ VX_GNU_LIB_YES =
|
||||
|
||||
|
||||
# pre Torando directory definitions
|
||||
VX_CONFIG_DIR_NO =
|
||||
VX_INCLUDE_NO =
|
||||
VX_GNU_NO =
|
||||
VX_GNU_BIN_NO =
|
||||
|
||||
# directory definitions
|
||||
VX_DIR =
|
||||
VX_CONFIG_DIR =
|
||||
VX_INCLUDE =
|
||||
VX_GNU =
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
#
|
||||
# This file contains definitions for Vx builds
|
||||
@@ -22,33 +13,34 @@ OS_CLASS = vxWorks
|
||||
# can be overridden for specific host architectures
|
||||
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
||||
# the override definitions.
|
||||
|
||||
|
||||
# Tornado directory definitions
|
||||
VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
|
||||
VX_INCLUDE_YES = $(VX_DIR)/target/h
|
||||
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
|
||||
VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
VX_GNU_LIB_YES = $(VX_GNU)/lib
|
||||
|
||||
# pre Torando directory definitions
|
||||
VX_CONFIG_DIR_NO = $(VX_DIR)/config
|
||||
VX_INCLUDE_NO = $(VX_DIR)/h
|
||||
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
|
||||
|
||||
|
||||
# directory definitions
|
||||
VX_DIR = $(VX_DIR_$(TORNADO))
|
||||
VX_CONFIG_DIR = $(VX_CONFIG_DIR_$(TORNADO))
|
||||
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
|
||||
VX_GNU = $(VX_GNU_$(TORNADO))
|
||||
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
|
||||
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
|
||||
export GCC_EXEC_PREFIX = $(GNU_LIB)/gcc-lib/
|
||||
export WIND_BASE = $(VX_DIR)
|
||||
|
||||
#--------------------------------------------------
|
||||
# VxWorks command definitions
|
||||
|
||||
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
|
||||
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
|
||||
CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
|
||||
RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
|
||||
LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||
|
||||
@@ -93,11 +85,6 @@ ANSI = GCC
|
||||
CPLUSPLUS = $(CPLUSPLUS_$(TORNADO))
|
||||
LD_CXX = $(LD_$(CPLUSPLUS))
|
||||
|
||||
#--------------------------------------------------
|
||||
# Override flags in CONFIG_COMMON
|
||||
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||
G++_DEP_CFLAGS = -D_REENTRANT
|
||||
|
||||
#--------------------------------------------------
|
||||
# Operating system flags
|
||||
OP_SYS_INCLUDES = -I$(VX_INCLUDE)
|
||||
@@ -105,18 +92,12 @@ OP_SYS_CFLAGS = -DvxWorks -DV5_vxWorks -fno-builtin
|
||||
OP_SYS_LDFLAGS =
|
||||
OP_SYS_LDLIBS =
|
||||
|
||||
# Fix for vxWorks headers using macros defined in
|
||||
# vxWorks.h but not including vxWorks.h
|
||||
ifeq ($(TORNADO), YES)
|
||||
OP_SYS_CFLAGS += -include $(VX_INCLUDE)/vxWorks.h
|
||||
endif
|
||||
|
||||
#--------------------------------------------------
|
||||
# Optimization flag overrides
|
||||
GCC_OPT_YES = -O2 -fstrength-reduce
|
||||
GCC_OPT_NO = -g
|
||||
GCC_OPT_NO =
|
||||
G++_OPT_YES = -O2 -fstrength-reduce
|
||||
G++_OPT_NO = -g
|
||||
G++_OPT_NO =
|
||||
|
||||
OPT_CFLAGS = $($(ANSI)_OPT_$(VX_OPT))
|
||||
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(VX_OPT))
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68020
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68020 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68020
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68030
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68030
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
|
||||
@@ -11,5 +11,5 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
|
||||
ARCH_DEP_CFLAGS = -m68040 -msoft-float
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -msoft-float
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68060 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68040
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = mv2700
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
|
||||
ARCH_DEP_CFLAGS = -mcpu=604
|
||||
|
||||
@@ -11,6 +11,6 @@ CMPLR_SUFFIX = 68k
|
||||
ARCH_CLASS = 68k
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DNICPU030
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DCPU_FAMILY=MC680X0
|
||||
ARCH_DEP_CFLAGS = -m68030
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
@@ -1,16 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align -mlongcall
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
@@ -1,17 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = ppc
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = ppc
|
||||
|
||||
# Architecture specific build flags
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align -mlongcall
|
||||
|
||||
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# Created by Korobov for SBS PC6
|
||||
# CONFIG.Vx.sbs_pc6
|
||||
#
|
||||
# This file is maintained by the EPICS community.
|
||||
|
||||
# Vx GNU cross compiler suffix
|
||||
CMPLR_SUFFIX = 386
|
||||
|
||||
# For Vx directories of form:
|
||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||
ARCH_CLASS = sbs_pc6
|
||||
|
||||
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -DCPU_VARIANT=PENTIUM -D_X86_
|
||||
ARCH_DEP_CFLAGS = -mpentium
|
||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
@@ -58,3 +49,13 @@ endif
|
||||
|
||||
EPICS_BASE = $(INSTALL_LOCATION)
|
||||
|
||||
#
|
||||
# this speeds up the build by turning off implicit rules search
|
||||
# for EPICS Makefiles (which are not created from other files)
|
||||
.PHONY:: $(TOP)/config/CONFIG
|
||||
.PHONY:: $(TOP)/config/CONFIG.* $(TOP)/config/CONFIG_*
|
||||
.PHONY:: $(TOP)/config/RULES.* $(TOP)/config/RULES_* DEPENDS
|
||||
.PHONY:: $(HOME)/EPICS_CONFIG $(HOME)/EPICS_CONFIG.$(HOST_ARCH)
|
||||
.PHONY:: ../Makefile.Vx ../Makefile.Unix ../Makefile.Host Makefile
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
@@ -18,14 +9,11 @@
|
||||
|
||||
EPICS_VERSION=3
|
||||
EPICS_REVISION=13
|
||||
EPICS_MODIFICATION=10
|
||||
EPICS_MODIFICATION=1
|
||||
EPICS_UPDATE_NAME=
|
||||
EPICS_UPDATE_LEVEL=0
|
||||
EPICS_UPDATE_LEVEL=1
|
||||
|
||||
EPICS_LOCAL_NAME=B
|
||||
EPICS_LOCAL_VERSION=0
|
||||
|
||||
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}.$(EPICS_LOCAL_NAME)$(EPICS_LOCAL_VERSION)"
|
||||
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}"
|
||||
|
||||
CVS_DATE="\$$Date$$"
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
@@ -20,15 +11,15 @@
|
||||
|
||||
# CROSS1 will be defined only when CROSS_COMPILER_HOST_ARCHS is NOT defined
|
||||
CROSS1 = $(CROSS_COMPILER_TARGET_ARCHS$(word 1,$(CROSS_COMPILER_HOST_ARCHS)))
|
||||
|
||||
|
||||
# CROSS2 will be defined only when CROSS_COMPILER_HOST_ARCHS is defined
|
||||
# and HOST_ARCH is one of it's words
|
||||
CROSS2 = $(CROSS_COMPILER_TARGET_ARCHS$(filter-out 1,$(words $(filter $(HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS)))))
|
||||
|
||||
|
||||
BUILD_ARCHS = $(HOST_ARCH) $(CROSS1) $(CROSS2)
|
||||
|
||||
|
||||
INSTALL_LOCATION = $(TOP)
|
||||
|
||||
|
||||
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
|
||||
INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin
|
||||
|
||||
@@ -39,7 +30,6 @@ INSTALL_MAN = $(INSTALL_LOCATION)/man
|
||||
INSTALL_TEMPLATES = $(INSTALL_LOCATION)/templates
|
||||
INSTALL_DBD = $(INSTALL_LOCATION)/dbd
|
||||
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
|
||||
|
||||
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
|
||||
|
||||
@@ -48,8 +38,6 @@ OBJ = .
|
||||
RES = .
|
||||
|
||||
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(HOST_ARCH)
|
||||
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(HOST_ARCH)
|
||||
INSTALL_HOST_LIB = $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
|
||||
|
||||
|
||||
# private versions of lex/yacc from EPICS
|
||||
@@ -65,7 +53,6 @@ PERL=perl
|
||||
# install from EPICS
|
||||
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
|
||||
INSTALL_PRODUCT = $(INSTALL)
|
||||
INSTALL_LIBRARY = $(INSTALL)
|
||||
|
||||
# dbtools from EPICS
|
||||
|
||||
@@ -87,7 +74,6 @@ EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
|
||||
GCC_ANSI = $(GCC) -ansi
|
||||
GCC_STRICT = $(GCC) -ansi -pedantic
|
||||
GCC_TRAD = $(GCC) -traditional
|
||||
GCC_DEP_CFLAGS = -fPIC -D_REENTRANT
|
||||
GCC_WARN_YES = -Wall
|
||||
GCC_WARN_NO = -w
|
||||
GCC_OPT_YES = -O
|
||||
@@ -96,14 +82,13 @@ GCC_SFLAGS_YES = -static
|
||||
GCC_SFLAGS_NO =
|
||||
GCC_SLIBS_YES =
|
||||
GCC_SLIBS_NO =
|
||||
GCC_SHRLIB_CFLAGS_YES =
|
||||
GCC_SHRLIB_CFLAGS_YES = -fPIC
|
||||
GCC_SHRLIB_LDFLAGS_YES = -shared
|
||||
|
||||
G++_NORMAL = $(G++) -ansi -pedantic
|
||||
G++_STRICT = $(G++) -ansi -pedantic -Wtraditional
|
||||
G++_TRAD = $(G++) -traditional
|
||||
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||
G++_DEP_CFLAGS = -fPIC -D_REENTRANT
|
||||
G++_WARN_YES = -Wall \
|
||||
-Wmissing-prototypes -Woverloaded-virtual \
|
||||
-Wwrite-strings -Wconversion -Wstrict-prototypes\
|
||||
@@ -116,14 +101,14 @@ G++_SFLAGS_NO =
|
||||
G++_SLIBS_YES =
|
||||
G++_SLIBS_NO =
|
||||
G++_DEPENDS_FLAG = -MM
|
||||
G++_SHRLIB_CFLAGS_YES =
|
||||
G++_SHRLIB_CFLAGS_YES = -fPIC
|
||||
G++_SHRLIB_LDFLAGS_YES = -shared
|
||||
|
||||
#--------------------------------------------------
|
||||
# C compiler
|
||||
|
||||
CC = $($(ANSI)_$(CMPLR))
|
||||
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Vendor compiler dependent options
|
||||
VENDOR_DEP_CFLAGS = $($(ANSI)_DEP_CFLAGS)
|
||||
@@ -161,7 +146,6 @@ USR_CXXFLAGS =
|
||||
USR_LDFLAGS =
|
||||
USR_LDLIBS =
|
||||
USR_CPPFLAGS =
|
||||
USR_DBDFLAGS =
|
||||
|
||||
#--------------------------------------------------
|
||||
# Target specific options
|
||||
@@ -176,16 +160,15 @@ TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
|
||||
#--------------------------------------------------
|
||||
# Depends flag
|
||||
DEPENDS_FLAG = $($(CPLUSPLUS)_DEPENDS_FLAG)
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# C++ template flag option
|
||||
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# Epics includes (CONFIG.Vx will override OS_CLASS)
|
||||
OS_CLASS = $(ARCH_CLASS)
|
||||
EPICS_INCLUDES = -I$(INSTALL_INCLUDE) -I$(INSTALL_INCLUDE)/os/$(OS_CLASS)
|
||||
EPICS_DBDFLAGS = -I $(INSTALL_LOCATION)/dbd
|
||||
|
||||
#--------------------------------------------------
|
||||
# Warnings flags (CONFIG.Vx will override)
|
||||
@@ -197,18 +180,18 @@ WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(HOST_WARN))
|
||||
OPT_CFLAGS = $($(ANSI)_OPT_$(HOST_OPT))
|
||||
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(HOST_OPT))
|
||||
OPT_LDFLAGS =
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# Static build options
|
||||
STATIC_CFLAGS = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
|
||||
STATIC_CXXCFLAGS = $($(CPLUSPLUS)_SFLAGS_$(STATIC_BUILD))
|
||||
STATIC_LDFLAGS = $($(ANSI)_SLDFLAGS_$(STATIC_BUILD))
|
||||
STATIC_LDLIBS = $($(ANSI)_SLIBS_$(STATIC_BUILD))
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# ar definition default
|
||||
ARCMD = $(AR) $(ARFLAGS) $@
|
||||
|
||||
|
||||
#--------------------------------------------------
|
||||
# depends definition
|
||||
DEPENDS_RULE = -$(COMPILE.cc) $(DEPENDS_FLAG) $^ > DEPENDS
|
||||
@@ -217,7 +200,7 @@ DEPENDS_RULE = -$(COMPILE.cc) $(DEPENDS_FLAG) $^ > DEPENDS
|
||||
|
||||
# Include files
|
||||
|
||||
INCLUDES = -I. -I.. $(USR_INCLUDES) $(EPICS_INCLUDES) $(TARGET_INCLUDES) $(OP_SYS_INCLUDES)
|
||||
INCLUDES = -I. -I.. $(USR_INCLUDES) $(TARGET_INCLUDES) $(EPICS_INCLUDES) $(OP_SYS_INCLUDES)
|
||||
|
||||
CFLAGS = $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
|
||||
$(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VENDOR_DEP_CFLAGS) $(STATIC_CFLAGS)\
|
||||
@@ -237,11 +220,9 @@ CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)
|
||||
|
||||
CPPSNCFLAGS = $(INCLUDES)
|
||||
|
||||
DBDFLAGS = -I . -I .. $(USR_DBDFLAGS) $(EPICS_DBDFLAGS)
|
||||
|
||||
# Build compile line here
|
||||
COMPILE.c = $(CC) $(CPPFLAGS) $(CFLAGS) -c $(SOURCE_FLAG)
|
||||
COMPILE.cc = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SOURCE_CXXFLAG)
|
||||
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c $(SOURCE_FLAG)
|
||||
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(SOURCE_CXXFLAG)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
# Author: Andrew Johnson
|
||||
# Date: 20 April 1995
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
# CONFIG_HOST_ARCH.Borland
|
||||
#
|
||||
|
||||
EXE=.exe
|
||||
|
||||
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
|
||||
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
|
||||
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
|
||||
FN =$(PERL) $(EPICS_BASE_HOST_BIN)/fullName.pl
|
||||
CHMOD=echo
|
||||
ECHO=echo
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
# Does not work if using cygwin make
|
||||
# because HOME is always defined
|
||||
ifndef HOME
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = x86-linux
|
||||
WIND_HOST_TYPE = Linux
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# CONFIG_HOST_ARCH.solaris-x86
|
||||
# CONFIG_HOST_ARCH.LynxOS
|
||||
#
|
||||
# Override values in CONFIG.Vx
|
||||
# Override values in CONFIG.LynxOS
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = x86-solaris2
|
||||
WIND_HOST_TYPE = LynxOS
|
||||
|
||||
@@ -10,11 +10,3 @@ MKDIR = mkdir
|
||||
RMDIR = rm -rf
|
||||
CHMOD = "/bin/chmod"
|
||||
|
||||
# Set LD_LIBRARY_PATH for shared library builds
|
||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||
export LD_LIBRARY_PATH := $(INSTALL_HOST_LIB):$(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
|
||||
else
|
||||
export LD_LIBRARY_PATH := $(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -13,9 +13,6 @@ ECHO=echo
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
|
||||
# Does not work if using cygwin make
|
||||
# because HOME is always defined
|
||||
ifndef HOME
|
||||
# Use std path variables from ms
|
||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||
endif
|
||||
|
||||
|
||||
@@ -9,5 +9,5 @@ EXE=.exe
|
||||
|
||||
TORNADO=YES
|
||||
|
||||
WIND_HOST_TYPE = x86-win32
|
||||
WIND_HOST_TYPE = cygwin32
|
||||
|
||||
|
||||
@@ -5,4 +5,5 @@
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = parisc-hpux10
|
||||
WIND_HOST_TYPE = hp700
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# CONFIG_HOST_ARCH.solarisGnu
|
||||
#
|
||||
# Override values in CONFIG.Vx
|
||||
|
||||
# Include definitions common to all Unix archs
|
||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||
|
||||
WIND_HOST_TYPE = sun4-solaris2
|
||||
|
||||
@@ -13,17 +13,14 @@
|
||||
# i.e.: the arch running DCT/getrel/etc.
|
||||
#
|
||||
# Currently Supporting:
|
||||
# Borland
|
||||
# sun4
|
||||
# hp700
|
||||
# alpha
|
||||
# solaris
|
||||
# sgi
|
||||
# Linux
|
||||
# WIN32
|
||||
# alpha
|
||||
# cygwin32
|
||||
# hp700
|
||||
# sgi
|
||||
# solaris
|
||||
# solarisGnu (GNU compiler)
|
||||
# solaris-x86
|
||||
# sun4
|
||||
# LynxOS
|
||||
#
|
||||
# HOST_ARCH now an environment variable
|
||||
# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch)
|
||||
@@ -34,27 +31,17 @@ endif
|
||||
# The architectures to build EPICS for
|
||||
#
|
||||
# Currently Supporting:
|
||||
# frc40
|
||||
# frc5ce
|
||||
# hkbaja47
|
||||
# hkv2f
|
||||
# mv147
|
||||
# mv1604
|
||||
# mv167
|
||||
# mv162
|
||||
# mv162lc
|
||||
# mv167
|
||||
# mv177
|
||||
# mv2700
|
||||
# niCpu030
|
||||
# pc486
|
||||
# ppc603
|
||||
# ppc604
|
||||
# ppc603_long (over 32MB)
|
||||
# ppc604_long (over 32MB)
|
||||
# sbs_pc6
|
||||
# vxipc
|
||||
# mv147
|
||||
# hkv2f
|
||||
# niCpu030
|
||||
# pc486
|
||||
# frc5ce
|
||||
# hkbaja47
|
||||
#
|
||||
CROSS_COMPILER_TARGET_ARCHS=
|
||||
CROSS_COMPILER_TARGET_ARCHS=mv167
|
||||
|
||||
|
||||
# If only a subset of the host architectures perform
|
||||
@@ -70,8 +57,7 @@ TORNADO=YES
|
||||
|
||||
# VxWorks directory for TORNADO=YES
|
||||
#VX_DIR_YES=c:\\Tornado
|
||||
VX_DIR_YES = /usr/local/vw/tornado202p1
|
||||
|
||||
VX_DIR_YES = /usr/local/vw/tornado101
|
||||
|
||||
# VxWorks directory for TORNADO=NO
|
||||
#VX_DIR_NO=$(VW)
|
||||
@@ -114,10 +100,6 @@ CMPLR=STRICT
|
||||
# Individual Makefiles may override
|
||||
CXXCMPLR=STRICT
|
||||
|
||||
# Build should install all include files first?
|
||||
# must be either YES or NO
|
||||
MAKE_INC_TARGET_FIRST=NO
|
||||
|
||||
# Build shared libraries?
|
||||
# (archive libraries will also be built)
|
||||
# must be either YES or NO
|
||||
@@ -126,7 +108,7 @@ MAKE_INC_TARGET_FIRST=NO
|
||||
# NOTE WIN32: YES results in a DLL. CONFIG_SITE.Host.WIN32
|
||||
# distribution file contains YES override
|
||||
#
|
||||
# NOTE solaris,Linux, and sun4: If YES then LD_LIBRARY_PATH must
|
||||
# NOTE solaris and sun4: If YES then LD_LIBRARY_PATH must
|
||||
# include fullpathname $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
|
||||
# for both the base build and when invoking base executables
|
||||
SHARED_LIBRARIES=NO
|
||||
|
||||
@@ -3,8 +3,13 @@
|
||||
#
|
||||
# Site Specific Configuration Information
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
SHARED_LIBRARIES = YES
|
||||
|
||||
BORLAND=C:\\Borland\\bcc55
|
||||
# APS overrides of definitions
|
||||
|
||||
GCC = gcc
|
||||
G++ = g++
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
ACC = gcc
|
||||
PLUSPLUS = g++
|
||||
CXX = g++
|
||||
@@ -1,26 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Site Specific Configuration Information
|
||||
# Only the local epics system manager should modify this file
|
||||
|
||||
# by default, build and use shared libraries
|
||||
SHARED_LIBRARIES=YES
|
||||
|
||||
# where we expect to find shared libraries if not found elsewhere
|
||||
#DEFAULT_SHRLIB_SEARCH_PATH = /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)/lib/hp700
|
||||
DEFAULT_SHRLIB_SEARCH_PATH = /cs/lib/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL):$(INSTALL_LIB)
|
||||
|
||||
#No special action should be required to build or use shared libraries.
|
||||
#However, when a new shared library is built using the above configuration,
|
||||
#it should be copied into the location specified by DEFAULT_SHRLIB_SEARCH_PATH
|
||||
#which in this specific case is: /cs/lib/R3.13.1.1/
|
||||
|
||||
# cal added this so that libraries can be built with position
|
||||
# independent code even if shared libraries aren't being built
|
||||
ifeq ($(RELOCATABLE), YES)
|
||||
ARCH_DEP_CFLAGS += +Z
|
||||
ARCH_DEP_CXXFLAGS += +Z
|
||||
endif
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
|
||||
# APS overrides of definitions
|
||||
|
||||
#GCC = /opt/gnu/bin/gcc
|
||||
#G++ = /opt/gnu/bin/g++
|
||||
GCC = /opt/gnu/bin/gcc
|
||||
G++ = /opt/gnu/bin/g++
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file contains overrides for Vx builds
|
||||
|
||||
# The definitions VX_DIR, VX_GNU, GNU_DIR, GNU_LIB, etc.
|
||||
# can be overridden for specific Linux-target architecture
|
||||
# combinations by creating a CONFIG_SITE.Vx.Linux.<T_A>
|
||||
# file with the override definitions.
|
||||
|
||||
## ---- jba overrides for cross compiler
|
||||
## VX_DIR needed for "export WIND_BASE = $(VX_DIR)"
|
||||
#VX_DIR_YES = /home/phoebus/JBA/gnu
|
||||
#VX_GNU_YES = $(VX_DIR)
|
||||
#VX_INCLUDE_YES = $(VX_GNU)/$(GNU_TARGET)/include
|
||||
#
|
||||
#CMPLR_PREFIX= $(GNU_TARGET)-
|
||||
#CMPLR_SUFFIX=
|
||||
#GCC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX)
|
||||
#CPP = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
|
||||
#RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
|
||||
#LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||
#G++ = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||
#LD_G++ = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||
#NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)
|
||||
## ---- end jba overrides
|
||||
|
||||
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(HOST_ARCH).$(T_A)
|
||||
@@ -1,14 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file contains overrides for Vx builds
|
||||
|
||||
## ---- jba overrides for cross compiler
|
||||
#GNU_TARGET=m68k-wrs-vxworks
|
||||
## ---- end jba overrides
|
||||
|
||||
# ORNL SNS overrides for cross compilers
|
||||
#VX_DIR_YES = /opt/tornado20/
|
||||
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
|
||||
#VX_GNU_YES = /usr/local/crossgcc/m68k/
|
||||
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
#VX_GNU_LIB_YES = /usr/local/crossgcc/m68k/lib/gcc-lib/m68k-wrs-vxworks/2.95.2
|
||||
@@ -1,10 +0,0 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file contains overrides for Vx builds
|
||||
|
||||
# ORNL SNS overrides for cross compilers
|
||||
#VX_DIR_YES = /opt/tornado20/
|
||||
#VX_INCLUDE_YES = /usr/local/crossgcc/ppc/powerpc-wrs-vxworks/sys-include
|
||||
#VX_GNU_YES = /usr/local/crossgcc/ppc/
|
||||
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||
#VX_GNU_LIB_YES = /usr/local/crossgcc/ppc/lib/gcc-lib/powerpc-wrs-vxworks/2.95.2
|
||||
@@ -1,3 +0,0 @@
|
||||
|
||||
# APS override of tornado directory for ppc
|
||||
#VX_DIR_YES = /usr/local/vw/tornado101ppc2
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
# $Id$
|
||||
#
|
||||
# Rules for making things specified in Makefile.Host
|
||||
#
|
||||
# Some rules for filename-massage are system specific
|
||||
# and have "ifdefs" here instead of using definitions
|
||||
# from CONFIG.Host.$(ARCH_CLASS) - sorry about this,
|
||||
@@ -38,9 +31,10 @@
|
||||
vpath %.h $(USER_VPATH)
|
||||
vpath %.c $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.cc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.cpp $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.jar $(USER_VPATH) ..
|
||||
# This prevents base/src/include/*.h from being installed. Why??
|
||||
#vpath %.h ../os/$(ARCH_CLASS) ../os/generic ..
|
||||
vpath %.h $(USER_VPATH)
|
||||
|
||||
# check for add-on CFLAGS and CXXFLAGS
|
||||
#
|
||||
@@ -230,13 +224,12 @@ ifdef PROD
|
||||
PROD := $(addsuffix $(EXE), $(PROD))
|
||||
endif
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# if we are not building base add base includes and dbd dirs
|
||||
#---------------------------------------------------------------
|
||||
# if we are not building base add base includes and ld dirs
|
||||
# (convenience for extensions and applications)
|
||||
ifneq ($(EPICS_BASE),$(TOP))
|
||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE)
|
||||
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
|
||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -245,6 +238,10 @@ endif
|
||||
# create names (lists) for installed things
|
||||
# ----------------------------------------------------
|
||||
|
||||
# each list starts with the destination directory name(s)
|
||||
# to make sure it's there
|
||||
|
||||
|
||||
INCREC +=$(RECTYPES) $(MENUS)
|
||||
|
||||
INSTALL_PROD= $(PROD:%= $(INSTALL_BIN)/%)
|
||||
@@ -291,10 +288,12 @@ endif
|
||||
endif
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# always use c++ linker
|
||||
# must use c++ linker if linking to shared libs with c++ code
|
||||
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
|
||||
ifneq ($(strip $(CPLUSPLUS)),)
|
||||
LINK.c = $(LINK.cc)
|
||||
endif # CPLUSPLUS
|
||||
endif # LIBTYPE
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Version number for base shared libraries (and win32 products)
|
||||
@@ -312,20 +311,18 @@ endif # EPICS_BASE
|
||||
ifdef LIBRARY
|
||||
ifdef LIBOBJS
|
||||
LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS)
|
||||
|
||||
LIBNAME_RCS=$(foreach lib, $(basename $(LIBRARY)), $(RCS) $($(lib)_RCS) $($(lib)_RCS_$(ARCH_CLASS)))
|
||||
LIBNAME_RESS=$(addsuffix $(RES), $(basename $(LIBNAME_RCS)))
|
||||
CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
||||
CXXFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
||||
|
||||
# check if shared libraries requested
|
||||
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
|
||||
|
||||
CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
||||
CXXFLAGS += $($(CPLUSPLUS)_SHRLIB_CFLAGS_YES)
|
||||
SHRLIB_LDFLAGS = $($(CPLUSPLUS)_SHRLIB_LDFLAGS_YES)
|
||||
|
||||
PROD_VERSION =$(SHRLIB_VERSION)
|
||||
# always use c++ linker
|
||||
ifeq ($(findstring cc,$(suffix $(LIBSRCS))),cc)
|
||||
SHRLIB_LINKER = $(CXX)
|
||||
else
|
||||
SHRLIB_LINKER = $(CC)
|
||||
endif
|
||||
LIBTARGETS += $(SHRLIBNAME) $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS)
|
||||
|
||||
endif # SHARED_LIBRARIES=YES
|
||||
@@ -334,21 +331,18 @@ endif # LIBOBJS
|
||||
endif # LIBRARY
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Main targets
|
||||
|
||||
all:: install
|
||||
|
||||
build:: inc
|
||||
|
||||
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) $(INSTALLS) \
|
||||
$(MENUS) $(RECTYPES) $(BPTS)
|
||||
ifdef DBDEXPAND
|
||||
build:: $(DBDNAME)
|
||||
endif
|
||||
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) \
|
||||
$(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
||||
|
||||
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
||||
|
||||
rebuild:: clean install
|
||||
|
||||
install:: buildInstall
|
||||
install:: inc buildInstall
|
||||
|
||||
buildInstall :: build $(TARGETS) \
|
||||
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
|
||||
@@ -363,11 +357,8 @@ buildInstall :: build $(TARGETS) \
|
||||
|
||||
clean::
|
||||
@echo "Cleaning"
|
||||
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \
|
||||
*$(RES) $(TARGETS) *.dbd $(MENUS) $(RECTYPES) $(BPTS)
|
||||
ifdef DBDEXPAND
|
||||
@$(RM) $(DBDNAME)
|
||||
endif
|
||||
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) *$(RES) $(TARGETS) \
|
||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Products
|
||||
@@ -378,6 +369,7 @@ ifdef PROD
|
||||
|
||||
COND_PROD_SRCS=$(foreach prod, $(basename $(PROD)), $($(prod)_SRCS))
|
||||
COND_PROD_RCS=$(foreach prod, $(basename $(PROD)), $($(prod)_RCS) $($(prod)_RCS_$(ARCH_CLASS)))
|
||||
COND_PROD_LIBS=$(foreach prod, $(basename $(PROD)), $($(prod)_LIBS))
|
||||
|
||||
ifdef PRODNAME
|
||||
|
||||
@@ -389,14 +381,6 @@ PRODNAME_SRCS += $(PRODNAME_SRCS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(PRODNAME_OBJS_$(ARCH_CLASS))),)
|
||||
PRODNAME_OBJS += $(subst -nil-,,$(PRODNAME_OBJS_$(ARCH_CLASS)))
|
||||
else
|
||||
ifdef PRODNAME_OBJS_DEFAULT
|
||||
PRODNAME_OBJS += $(PRODNAME_OBJS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(PRODNAME_RCS_$(ARCH_CLASS))),)
|
||||
PRODNAME_RCS += $(subst -nil-,,$(PRODNAME_RCS_$(ARCH_CLASS)))
|
||||
else
|
||||
@@ -415,20 +399,13 @@ else
|
||||
PRODNAME_LINKER = $(LINK.c)
|
||||
endif
|
||||
|
||||
PRODNAME_OBJS+=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
||||
PRODNAME_RESS+=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
||||
PRODNAME_OBJS=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
||||
PRODNAME_RESS=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
||||
|
||||
ifdef BORLANDC
|
||||
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||
@$(RM) $@
|
||||
$(PRODNAME_LINKER) $(PRODNAME_OBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS)),, $(PRODNAME_RESS)
|
||||
|
||||
else
|
||||
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||
@$(RM) $@
|
||||
$(PRODNAME_LINKER) $(PRODNAME_OBJS) $(PRODNAME_RESS) $(LDLIBS)
|
||||
|
||||
endif
|
||||
endif # ifdef PRODNAME_SRCS
|
||||
|
||||
else # PRODNAME not defined
|
||||
@@ -451,7 +428,7 @@ PROD_MAKE_COMMAND=$(MAKE) $@\
|
||||
PRODNAME_RCS_$(ARCH_CLASS)="$($(basename $@)_RCS_$(ARCH_CLASS))"\
|
||||
PRODNAME_LIBS="$($(basename $@)_LIBS)"
|
||||
|
||||
$(PROD): $(SRCS) $(PROD_OBJS) $(COND_PROD_SRCS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS)
|
||||
$(PROD): $(PROD_OBJS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS)
|
||||
@$(PROD_MAKE_COMMAND)
|
||||
|
||||
endif
|
||||
@@ -463,12 +440,12 @@ endif #ifdef PROD
|
||||
# Java classes and packages
|
||||
#
|
||||
|
||||
ifdef JAVA
|
||||
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
|
||||
|
||||
DIRECTORY_TARGETS += $(INSTALL_JAVA)
|
||||
ifdef PACKAGE
|
||||
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
|
||||
endif
|
||||
endif
|
||||
|
||||
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
|
||||
|
||||
@@ -477,47 +454,32 @@ TESTCLASSES += $(subst .java,.class,$(TESTJAVA))
|
||||
INSTALL_CLASSES =$(CLASSES:%=$(INSTALL_JAVA)/$(PACKAGE)/%)
|
||||
INSTALL_JAR =$(JAR:%=$(INSTALL_JAVA)/%)
|
||||
|
||||
ifeq ($(strip $(JAVADOC)),YES)
|
||||
DIRECTORY_TARGETS += $(INSTALL_HTML)
|
||||
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/%.html)
|
||||
ifdef PACKAGE
|
||||
DIRECTORY_TARGETS += $(INSTALL_HTML)/$(PACKAGE)
|
||||
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/$(PACKAGE)/$(PACKAGE)/%.html)
|
||||
endif
|
||||
endif
|
||||
|
||||
JAR_OPTIONS = cvf
|
||||
ifdef MANIFEST
|
||||
JAR_OPTIONS = cvmf
|
||||
endif
|
||||
#JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
||||
JAR_DEPFILES += $(JAR_INPUT)
|
||||
JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
||||
|
||||
$(DIRECTORY_TARGETS) :
|
||||
$(MKDIR) $@
|
||||
|
||||
build:: $(TESTCLASSES) $(JAR)
|
||||
|
||||
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
||||
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR)
|
||||
|
||||
clean::
|
||||
@$(RM) $(TESTCLASSES) $(JAR) $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||
@$(RM) $(TESTCLASSES) $(JAR)
|
||||
|
||||
%.class:%.java
|
||||
@echo Creating java class file $@
|
||||
$(RM) $@
|
||||
$(JAVACCMD) $<
|
||||
|
||||
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
||||
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
||||
@echo Creating java class file $@
|
||||
@$(RM) $@
|
||||
$(JAVACCMD) -d $(INSTALL_JAVA) $<
|
||||
|
||||
$(INSTALL_JAVADOC):$(JAVA)
|
||||
@echo Creating javadoc html files $@
|
||||
@$(RM) $@
|
||||
$(JAVADOCCMD) -d $(INSTALL_HTML)/$(PACKAGE) $(PACKAGE)
|
||||
|
||||
$(JAR):%.jar: $(JAR_DEPFILES)
|
||||
@echo Creating java jar file $@
|
||||
@$(RM) $@
|
||||
@@ -525,12 +487,7 @@ $(JAR):%.jar: $(JAR_DEPFILES)
|
||||
|
||||
$(INSTALL_JAVA)/%.jar: %.jar
|
||||
@echo "Installing jar file $@"
|
||||
@$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
$(PACKAGE)_%.h:$(INSTALL_JAVA)/$(PACKAGE)/%.class
|
||||
$(JAVAHCMD) $(PACKAGE).$*
|
||||
|
||||
.PRECIOUS: $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||
$(INSTALL) -d -m 644 $< $(@D)
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#---------------------------------------------------------------
|
||||
@@ -548,57 +505,26 @@ $(PACKAGE)_%.h:$(INSTALL_JAVA)/$(PACKAGE)/%.class
|
||||
# The order of the following rules is
|
||||
# VERY IMPORTANT !!!!
|
||||
|
||||
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)
|
||||
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS)
|
||||
$(RM) DEPENDS
|
||||
ifneq ($(strip $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)),)
|
||||
touch DEPENDS
|
||||
$(DEPENDS_RULE)
|
||||
endif
|
||||
|
||||
ifdef BORLANDC
|
||||
%$(EXE): %.c
|
||||
@$(RM) $@
|
||||
$(COMPILE.c) $<
|
||||
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||
|
||||
%$(EXE): %.cc
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||
|
||||
%$(EXE): %.cpp
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||
|
||||
%$(EXE): %.C
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||
|
||||
else
|
||||
|
||||
%$(EXE): %.c
|
||||
@$(RM) $@
|
||||
$(COMPILE.c) $<
|
||||
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||
|
||||
%$(EXE): %.cc
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||
|
||||
%$(EXE): %.cpp
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||
|
||||
%$(EXE): %.C
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||
|
||||
endif
|
||||
|
||||
%$(OBJ): %.c
|
||||
@$(RM) $@
|
||||
$(COMPILE.c) $<
|
||||
@@ -607,10 +533,6 @@ endif
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
|
||||
%$(OBJ): %.cpp
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
|
||||
%$(OBJ): %.C
|
||||
@$(RM) $@
|
||||
$(COMPILE.cc) $<
|
||||
@@ -650,12 +572,12 @@ endif
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<"
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
ln -s $< $*.st
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||
@$(RM) $*.st
|
||||
|
||||
|
||||
# Capfast Rules:
|
||||
%.db: %.edf
|
||||
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
||||
@@ -663,7 +585,7 @@ endif
|
||||
%.db: ../%.edf
|
||||
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
||||
|
||||
%.edf: ../%.sch $(DEPSCHS)
|
||||
%.edf: ../%.sch
|
||||
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
|
||||
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
|
||||
|
||||
@@ -691,63 +613,38 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
DBDFLAGS = $(USER_DBDFLAGS)
|
||||
endif
|
||||
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo Expanding dbd
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
@echo expanding dbd
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
|
||||
|
||||
ifneq (,$(wildcard ../base.dbd))
|
||||
$(DBDNAME): ../base.dbd
|
||||
endif
|
||||
endif
|
||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS)
|
||||
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS)
|
||||
|
||||
ifdef BORLANDC
|
||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
$(LINK.shrlib) $(LIBOBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(DLL_LDLIBS)), $(DLL_DEF_FLAG), $(LIBNAME_RESS)
|
||||
|
||||
else
|
||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) $(LIBNAME_RESS)
|
||||
|
||||
endif
|
||||
ifdef BORLANDC
|
||||
# rule for lib (archive of object files) creation
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
$(RM) $@
|
||||
$(ARCMD) $(foreach lib,$(LIBOBJS),+$(lib))
|
||||
|
||||
else
|
||||
# rule for lib (archive of object files) creation
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
$(RM) $@
|
||||
@@ -756,8 +653,6 @@ ifdef RANLIB
|
||||
$(RANLIB) $@;
|
||||
endif # RANLIB
|
||||
|
||||
endif
|
||||
|
||||
$(INSTALL_BIN)/%: ../os/$(ARCH_CLASS)/%
|
||||
@echo "Installing os-specific script $@"
|
||||
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
|
||||
@@ -772,21 +667,21 @@ $(INSTALL_BIN)/%: ../%
|
||||
|
||||
$(INSTALL_LIB)/%.a: %.a
|
||||
@echo "Installing library $@"
|
||||
@$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB)
|
||||
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
|
||||
ifdef RANLIB
|
||||
$(RANLIB) $(RANLIBFLAGS) $@
|
||||
endif # RANLIB
|
||||
|
||||
$(INSTALL_LIB)/%.lib: %.lib
|
||||
@echo "Installing library $@"
|
||||
@$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB)
|
||||
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
|
||||
|
||||
$(INSTALL_SHRLIB)/lib%: lib%
|
||||
@echo "Installing library $@"
|
||||
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
@$(INSTALL) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||
ifdef SHRLIB_VERSION
|
||||
$(RM) $(subst .$(SHRLIB_VERSION),,$@)
|
||||
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
|
||||
@$(RM) $(@:%.$(SHRLIB_VERSION)=%)
|
||||
ln -s $< $(@:%.$(SHRLIB_VERSION)=%)
|
||||
endif # SHRLIB_VERSION
|
||||
|
||||
$(INSTALL_TCLLIB)/%: %
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
|
||||
INCREC +=$(RECTYPES) $(MENUS)
|
||||
@@ -66,7 +57,7 @@ buildInstall :: build \
|
||||
$(INSTALL_MAN) $(INSTALL_MANS) $(INSTALL_HTMLS) \
|
||||
$(INSTALL_DOC) $(INSTALL_DOCS) $(INSTALL_TEMPLATES) \
|
||||
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATE) \
|
||||
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
|
||||
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
|
||||
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
|
||||
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
|
||||
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
|
||||
@@ -148,8 +139,8 @@ $(TARGETS) $(PROD): $(DEPLIBS)
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<"
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
|
||||
|
||||
@@ -188,46 +179,34 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
DBDFLAGS = $(USER_DBDFLAGS)
|
||||
endif
|
||||
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo expanding dbd
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
|
||||
ifneq (,$(wildcard ../base.dbd))
|
||||
$(DBDNAME): ../base.dbd
|
||||
endif
|
||||
endif
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand $(USER_DBDFLAGS) $< > $@
|
||||
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
@echo Building library $@
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# $Id$
|
||||
|
||||
ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),)
|
||||
@@ -16,7 +7,7 @@ ifdef LIBOBJS_DEFAULT
|
||||
LIBOBJS+=$(LIBOBJS_DEFAULT)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
INCREC +=$(RECTYPES) $(MENUS)
|
||||
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
|
||||
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
|
||||
@@ -42,33 +33,26 @@ INSTALL_DBDNAME = $(DBDNAME:%= $(INSTALL_DBD)/%)
|
||||
|
||||
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# if we are not building base add base includes and dbd dirs
|
||||
# (convenience for extensions and applications)
|
||||
# if we are not building base add base includes
|
||||
#
|
||||
ifneq ($(EPICS_BASE),$(TOP))
|
||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
||||
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
|
||||
endif
|
||||
endif
|
||||
|
||||
all:: install
|
||||
|
||||
build:: inc
|
||||
|
||||
rebuild:: clean install
|
||||
|
||||
pre_build::
|
||||
|
||||
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
|
||||
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD)
|
||||
ifdef DBDEXPAND
|
||||
build:: $(DBDNAME)
|
||||
endif
|
||||
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD) $(DBDNAME)
|
||||
|
||||
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
||||
|
||||
install:: buildInstall
|
||||
|
||||
install:: inc buildInstall
|
||||
|
||||
buildInstall :: build $(INSTALL_INCREC)\
|
||||
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
|
||||
@@ -85,14 +69,13 @@ endif
|
||||
|
||||
depends:: $(SRCS.c) $(SRCS.cc)
|
||||
$(RM) DEPENDS
|
||||
ifneq ($(strip $(SRCS.c) $(SRCS.cc)),)
|
||||
touch DEPENDS
|
||||
$(DEPENDS_RULE)
|
||||
endif
|
||||
|
||||
clean::
|
||||
@echo "Cleaning"
|
||||
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
|
||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
|
||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
||||
|
||||
# The order of the following dependencies is
|
||||
# VERY IMPORTANT !!!!
|
||||
@@ -154,13 +137,13 @@ endif
|
||||
%.c: ../%.st
|
||||
@echo "preprocessing $*.st"
|
||||
@$(RM) $*.i
|
||||
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< > $*.i
|
||||
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< $*.i
|
||||
@echo "converting $*.i"
|
||||
@$(RM) $@
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||
|
||||
%.c: ../%.stt
|
||||
@echo "converting $<"
|
||||
%.c: %.stt
|
||||
@echo "converting $<
|
||||
ln -s $< $*.st
|
||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||
@$(RM) $*.st
|
||||
@@ -203,42 +186,34 @@ $(INSTALL_DBD)/%: ../%
|
||||
|
||||
%Record.h: %Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
%Record.h: ../%Record.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||
$(DBDFLAGS) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
menu%.h: menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
|
||||
menu%.h: ../menu%.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
||||
|
||||
bpt%.dbd: bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
|
||||
bpt%.dbd: ../bpt%.data
|
||||
$(RM) $@
|
||||
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
||||
|
||||
# Patch for old applications
|
||||
ifdef USER_DBDFLAGS
|
||||
DBDFLAGS = $(USER_DBDFLAGS)
|
||||
endif
|
||||
|
||||
ifdef DBDEXPAND
|
||||
$(DBDNAME): ../$(DBDEXPAND)
|
||||
@echo Expanding dbd
|
||||
@$(RM) $@ $@-new
|
||||
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||
@$(MV) $@-new $@
|
||||
endif
|
||||
@echo expanding dbd
|
||||
@$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
|
||||
|
||||
$(LIBNAME): $(LIBOBJS)
|
||||
@echo Building library $@
|
||||
@@ -309,13 +284,7 @@ $(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
|
||||
ifneq (,$(wildcard ../baseLIBOBJS))
|
||||
$(LIBNAME): ../baseLIBOBJS
|
||||
endif
|
||||
|
||||
ifneq (,$(wildcard ../base.dbd))
|
||||
$(DBDNAME): ../base.dbd $(RECTYPES:%.h=../%.dbd)
|
||||
else
|
||||
$(DBDNAME): $(RECTYPES:%.h=../%.dbd)
|
||||
endif
|
||||
|
||||
#=====> ???? the following line causes a rebuild every time
|
||||
#=====> $(LIBNAME): ../Makefile.Vx
|
||||
$(DBDNAME): ../base.dbd $(RECTYPES:%.h=../%.dbd)
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
@@ -1,47 +1,38 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
|
||||
ARCHS += $(BUILD_ARCHS) host cross
|
||||
ACTIONS += clean inc depends build install buildInstall
|
||||
ACTIONS += clean inc depends buildInstall
|
||||
|
||||
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
|
||||
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
|
||||
actionArchPart = $(subst $(dirPart)$(DIVIDER), ,$@)
|
||||
|
||||
dirActionArchTargets = $(foreach dir, $(DIRS), \
|
||||
$(foreach action, $(ACTIONS),\
|
||||
$(foreach action, $(ACTIONS) install,\
|
||||
$(foreach arch, $(ARCHS), \
|
||||
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
|
||||
dirArchTargets += $(foreach dir, $(DIRS), \
|
||||
$(foreach arch, $(ARCHS),\
|
||||
$(dir)$(DIVIDER)$(arch)))
|
||||
dirActionTargets += $(foreach dir, $(DIRS), \
|
||||
$(foreach action, $(ACTIONS),\
|
||||
$(foreach action, $(ACTIONS) install,\
|
||||
$(dir)$(DIVIDER)$(action)))
|
||||
actionArchTargets = $(foreach action, $(ACTIONS),\
|
||||
actionArchTargets = $(foreach action, $(ACTIONS) install,\
|
||||
$(foreach arch, $(ARCHS), \
|
||||
$(action)$(DIVIDER)$(arch)))
|
||||
ifeq ($(MAKE_INC_TARGET_FIRST),YES)
|
||||
all install :: inc buildInstall
|
||||
$(ARCHS) $(installArchTargets) :: inc
|
||||
else
|
||||
all install :: buildInstall
|
||||
endif
|
||||
|
||||
installArchTargets = $(foreach action, install,\
|
||||
$(foreach arch, $(ARCHS), \
|
||||
$(action)$(DIVIDER)$(arch)))
|
||||
|
||||
all install :: inc buildInstall
|
||||
|
||||
rebuild:: clean all
|
||||
|
||||
$(ARCHS) $(installArchTargets) :: inc
|
||||
|
||||
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
|
||||
$(MAKE) -C $(dirPart) $(actionArchPart)
|
||||
|
||||
@@ -49,9 +40,11 @@ $(ARCHS) $(ACTIONS) $(actionArchTargets) ::%: \
|
||||
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
|
||||
|
||||
|
||||
.PHONY :: $(DIRS) all rebuild
|
||||
.PHONY :: $(DIRS) all install rebuild
|
||||
.PHONY :: $(ARCHS) $(ACTIONS)
|
||||
.PHONY :: $(dirActionTargets) $(dirArchTargets)
|
||||
.PHONY :: $(dirActionArchTargets)
|
||||
.PHONY :: $(actionArchTargets)
|
||||
.PHONY :: $(installArchTargets)
|
||||
|
||||
|
||||
|
||||
@@ -1,39 +1,16 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
include $(TOP)/config/RULES_DIRS
|
||||
|
||||
uninstall$(DIVIDER)%: uninstallDirs
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$*
|
||||
|
||||
cleandirs:
|
||||
@echo " " #stops "nothing to be done for cleandirs" message
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||
endif
|
||||
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
|
||||
@$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||
endif
|
||||
|
||||
distclean: clean uninstall
|
||||
uninstall$(DIVIDER)%::
|
||||
@$(RMDIR) rec.bak rec
|
||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* \
|
||||
$(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) \
|
||||
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES)
|
||||
|
||||
uninstall:: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
|
||||
@$(MAKE) -f Makefile cleandirs
|
||||
|
||||
uninstallDirs:
|
||||
@$(RMDIR) rec.bak rec
|
||||
@$(RMDIR) $(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
|
||||
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES)
|
||||
|
||||
tar:
|
||||
@DIRNAME=$(notdir $(shell pwd)); \
|
||||
@@ -69,5 +46,6 @@ help:
|
||||
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
||||
@echo " xxxRecord.o"
|
||||
|
||||
.PHONY :: uninstall tar help cleandirs distclean uninstallDirs
|
||||
.PHONY :: uninstall tar help
|
||||
.PHONY :: $(addprefix uninstall$(DIVIDER), $(BUILDARCHS))
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# Makefile.Host for base/src/sample
|
||||
#
|
||||
#
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
36
src/as/As.rc
36
src/as/As.rc
@@ -1,36 +0,0 @@
|
||||
#include <Winver.h>
|
||||
#include "epicsVersion.h"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION BASE_VERSION,BASE_REVISION,BASE_MODIFICATION,BASE_UPDATE_LEVEL
|
||||
PRODUCTVERSION BASE_VERSION,BASE_REVISION,BASE_MODIFICATION,BASE_UPDATE_LEVEL
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_UNKNOWN
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments","Access Security Library for EPICS\0"
|
||||
VALUE "CompanyName", "The EPICS collaboration\0"
|
||||
VALUE "FileDescription", "Access Security Library\0"
|
||||
VALUE "FileVersion", BASE_VERSION_STRING "\0"
|
||||
VALUE "InternalName", "as\0"
|
||||
VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
|
||||
VALUE "OriginalFilename", "as.dll\0"
|
||||
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
|
||||
VALUE "ProductVersion", BASE_VERSION_STRING "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
TOP=../..
|
||||
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
USR_CFLAGS += -D_NO_PROTO
|
||||
|
||||
INC := asDbLib.h asLib.h
|
||||
|
||||
# build lib As from asLib.c:
|
||||
#
|
||||
LIBSRCS := asLib.c
|
||||
@@ -23,12 +16,9 @@ LIBRARY := As
|
||||
#
|
||||
SYS_PROD_LIBS_DEFAULT := m
|
||||
SYS_PROD_LIBS_WIN32 := -nil-
|
||||
PROD_LIBS := As Db Com
|
||||
PROD_LIBS := As Com Db Com
|
||||
|
||||
PROD := ascheck
|
||||
ascheck_SRCS=ascheck.c
|
||||
|
||||
As_RCS_WIN32 = As.rc
|
||||
|
||||
include $(TOP)/config/RULES.Host
|
||||
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
USR_CFLAGS = -DACCESS_SECURITY -D_NO_PROTO
|
||||
|
||||
SRCS.c = ../asDbLib.c ../asCa.c ../asTrapWrite.c asLib.c
|
||||
LIBOBJS = asDbLib.o asCa.o asTrapWrite.o asLib.o
|
||||
SRCS.c = ../asDbLib.c ../asCa.c asLib.c
|
||||
LIBOBJS = asDbLib.o asCa.o asLib.o
|
||||
LIBNAME = asLibrary
|
||||
|
||||
include $(TOP)/config/RULES.Vx
|
||||
|
||||
@@ -1,15 +1,22 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/asCa.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 10-15-93 */
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
/*
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 03-22-94 mrk Initial Implementation
|
||||
*/
|
||||
|
||||
/*This module is separate from asDbLib because CA uses old database access*/
|
||||
#include <vxWorks.h>
|
||||
@@ -45,19 +52,6 @@ typedef struct {
|
||||
chid chid;
|
||||
} CAPVT;
|
||||
|
||||
static void exceptionCallback(struct exception_handler_args args)
|
||||
{
|
||||
chid chid = args.chid;
|
||||
long stat = args.stat; /* Channel access status code*/
|
||||
const char *channel;
|
||||
static char *noname = "unknown";
|
||||
|
||||
channel = (chid ? ca_name(chid) : noname);
|
||||
|
||||
errlogPrintf("asCa:exceptionCallback stat %s channel %s\n",
|
||||
ca_message(stat),channel);
|
||||
}
|
||||
|
||||
/*connectCallback only handles disconnects*/
|
||||
LOCAL void connectCallback(struct connection_handler_args arg)
|
||||
{
|
||||
@@ -141,8 +135,6 @@ LOCAL void asCaTask(void)
|
||||
|
||||
taskwdInsert(taskIdSelf(),NULL,NULL);
|
||||
SEVCHK(ca_task_initialize(),"ca_task_initialize");
|
||||
SEVCHK(ca_add_exception_event(exceptionCallback,NULL),
|
||||
"ca_add_exception_event");
|
||||
while(TRUE) {
|
||||
if(semTake(asCaTaskAddChannels,WAIT_FOREVER)!=OK) {
|
||||
epicsPrintf("asCa semTake error for asCaTaskClearChannels\n");
|
||||
@@ -242,44 +234,3 @@ void asCaStop(void)
|
||||
if(asCaDebug) printf("asCaStop done\n");
|
||||
semGive(asCaTaskLock);
|
||||
}
|
||||
|
||||
int ascar(int level)
|
||||
{
|
||||
ASG *pasg;
|
||||
int n=0,nbad=0;
|
||||
enum channel_state state;
|
||||
|
||||
if(!pasbase) {
|
||||
printf("access security not started\n");
|
||||
return(0);
|
||||
}
|
||||
pasg = (ASG *)ellFirst(&pasbase->asgList);
|
||||
while(pasg) {
|
||||
ASGINP *pasginp;
|
||||
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
|
||||
while(pasginp) {
|
||||
CAPVT *pcapvt = (CAPVT *)pasginp->capvt;
|
||||
chid chid = pcapvt->chid;
|
||||
pcapvt = pasginp->capvt;
|
||||
++n;
|
||||
state = ca_state(chid);
|
||||
if(state!=cs_conn) ++nbad;
|
||||
if(level>1 || (level==1 && state!=cs_conn)) {
|
||||
printf("connected:");
|
||||
if(state==cs_never_conn) printf("never ");
|
||||
else if(state==cs_prev_conn) printf("prev ");
|
||||
else if(state==cs_conn) printf("yes ");
|
||||
else if(state==cs_closed) printf("closed");
|
||||
else printf("unknown");
|
||||
printf(" read:%s write:%s",
|
||||
(ca_read_access(chid) ? "yes" : "no "),
|
||||
(ca_write_access(chid) ? "yes" : "no "));
|
||||
printf(" %s %s\n", ca_name(chid),ca_host_name(chid));
|
||||
}
|
||||
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
|
||||
}
|
||||
pasg = (ASG *)ellNext((ELLNODE *)pasg);
|
||||
}
|
||||
printf("%d channels %d not connected\n",n,nbad);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,22 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/asDbLib.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 02-11-94*/
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
|
||||
/*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 02-11-94 mrk Initial Implementation
|
||||
*/
|
||||
|
||||
#include <vxWorks.h>
|
||||
#include <taskLib.h>
|
||||
@@ -107,11 +114,7 @@ static long asInitCommon(void)
|
||||
firstTime = FALSE;
|
||||
if(!pacf) return(0); /*access security will NEVER be turned on*/
|
||||
} else {
|
||||
if(!asActive) {
|
||||
printf("Access security is NOT enabled."
|
||||
" Was asSetFilename specified before iocInit?\n");
|
||||
return(S_asLib_asNotActive);
|
||||
}
|
||||
if(!asActive) return(S_asLib_asNotActive);
|
||||
if(pacf) {
|
||||
asCaStop();
|
||||
} else { /*Just leave everything as is */
|
||||
@@ -128,6 +131,9 @@ static long asInitCommon(void)
|
||||
|
||||
int asInit(void)
|
||||
{
|
||||
|
||||
/*If no access configuration file defined return success*/
|
||||
if(!pacf) return(0);
|
||||
return(asInitCommon());
|
||||
}
|
||||
|
||||
|
||||
45
src/as/asDbLib.h
Normal file
45
src/as/asDbLib.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/* share/epicsH/dbAsLib.h */
|
||||
/* $Id$ */
|
||||
/* Author: Marty Kraimer Date: 02-23-94*/
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
|
||||
/*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 02-23-94 mrk Initial Implementation
|
||||
*/
|
||||
|
||||
#ifndef INCdbAsLibh
|
||||
#define INCdbAsLibh
|
||||
#include <asLib.h>
|
||||
#include <callback.h>
|
||||
|
||||
typedef struct {
|
||||
CALLBACK callback;
|
||||
long status;
|
||||
} ASDBCALLBACK;
|
||||
|
||||
int asSetFilename(char *acf);
|
||||
int asSetSubstitutions(char *substitutions);
|
||||
int asInit(void);
|
||||
int asInitAsyn(ASDBCALLBACK *pcallback);
|
||||
int asDbGetAsl( void *paddr);
|
||||
ASMEMBERPVT asDbGetMemberPvt( void *paddr);
|
||||
int asdbdump( void);
|
||||
int aspuag(char *uagname);
|
||||
int asphag(char *hagname);
|
||||
int asprules(char *asgname);
|
||||
int aspmem(char *asgname,int clients);
|
||||
void asCaStart(void);
|
||||
void asCaStop(void);
|
||||
|
||||
#endif /*INCdbAsLibh*/
|
||||
192
src/as/asLib.h
Normal file
192
src/as/asLib.h
Normal file
@@ -0,0 +1,192 @@
|
||||
/* $Id$ */
|
||||
/* Author: Marty Kraimer Date: 09-27-93*/
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
|
||||
/*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 09-27-93 mrk Initial Implementation
|
||||
*/
|
||||
#ifndef INCasLibh
|
||||
#define INCasLibh
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errMdef.h>
|
||||
#include <ellLib.h>
|
||||
|
||||
typedef struct asgMember *ASMEMBERPVT;
|
||||
typedef struct asgClient *ASCLIENTPVT;
|
||||
typedef int (*ASINPUTFUNCPTR)(char *buf,int max_size);
|
||||
typedef enum{
|
||||
asClientCOAR /*Change of access rights*/
|
||||
/*For now this is all*/
|
||||
} asClientStatus;
|
||||
|
||||
typedef void (*ASCLIENTCALLBACK) (ASCLIENTPVT,asClientStatus);
|
||||
/* The following routines are macros with the following syntax
|
||||
long asCheckGet(ASCLIENTPVT asClientPvt);
|
||||
long asCheckPut(ASCLIENTPVT asClientPvt);
|
||||
*/
|
||||
#define asCheckGet(asClientPvt)\
|
||||
(asActive ?\
|
||||
((asClientPvt)->access>=asREAD ? TRUE : FALSE)\
|
||||
: TRUE)
|
||||
#define asCheckPut(asClientPvt)\
|
||||
(asActive ?\
|
||||
((asClientPvt)->access>=asWRITE ? TRUE : FALSE)\
|
||||
: TRUE)
|
||||
|
||||
epicsShareFunc int epicsShareAPI asInit(void);
|
||||
epicsShareFunc long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction);
|
||||
epicsShareFunc long epicsShareAPI asInitFile(const char *filename,const char *substitutions);
|
||||
epicsShareFunc long epicsShareAPI asInitFP(FILE *fp,const char *substitutions);
|
||||
/*caller must provide permanent storage for asgName*/
|
||||
epicsShareFunc long epicsShareAPI asAddMember(ASMEMBERPVT *asMemberPvt,char *asgName);
|
||||
epicsShareFunc long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt);
|
||||
/*caller must provide permanent storage for newAsgName*/
|
||||
epicsShareFunc long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,char *newAsgName);
|
||||
epicsShareFunc void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt);
|
||||
epicsShareFunc void epicsShareAPI asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt);
|
||||
/*client must provide permanent storage for user and host*/
|
||||
epicsShareFunc long epicsShareAPI asAddClient(ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt,
|
||||
int asl,char *user,char *host);
|
||||
/*client must provide permanent storage for user and host*/
|
||||
epicsShareFunc long epicsShareAPI asChangeClient(ASCLIENTPVT asClientPvt,int asl,char *user,char *host);
|
||||
epicsShareFunc long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt);
|
||||
epicsShareFunc void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt);
|
||||
epicsShareFunc void epicsShareAPI asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt);
|
||||
epicsShareFunc long epicsShareAPI asRegisterClientCallback(ASCLIENTPVT asClientPvt,
|
||||
ASCLIENTCALLBACK pcallback);
|
||||
epicsShareFunc long epicsShareAPI asComputeAllAsg(void);
|
||||
/* following declared below after ASG is declared
|
||||
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
|
||||
*/
|
||||
epicsShareFunc long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt);
|
||||
epicsShareFunc int epicsShareAPI asDump(void (*memcallback)(ASMEMBERPVT),
|
||||
void (*clientcallback)(ASCLIENTPVT),int verbose);
|
||||
epicsShareFunc int epicsShareAPI asDumpUag(char *uagname);
|
||||
epicsShareFunc int epicsShareAPI asDumpHag(char *hagname);
|
||||
epicsShareFunc int epicsShareAPI asDumpRules(char *asgname);
|
||||
epicsShareFunc int epicsShareAPI asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int clients);
|
||||
epicsShareFunc int epicsShareAPI asDumpHash(void);
|
||||
|
||||
#define S_asLib_clientsExist (M_asLib| 1) /*Client Exists*/
|
||||
#define S_asLib_noUag (M_asLib| 2) /*User Access Group does not exist*/
|
||||
#define S_asLib_noHag (M_asLib| 3) /*Host Access Group does not exist*/
|
||||
#define S_asLib_noAccess (M_asLib| 4) /*access security: no access allowed*/
|
||||
#define S_asLib_noModify (M_asLib| 5) /*access security: no modification allowed*/
|
||||
#define S_asLib_badConfig (M_asLib| 6) /*access security: bad configuration file*/
|
||||
#define S_asLib_badCalc (M_asLib| 7) /*access security: bad calculation espression*/
|
||||
#define S_asLib_dupAsg (M_asLib| 8) /*Duplicate Access Security Group */
|
||||
#define S_asLib_InitFailed (M_asLib| 9) /*access security: Init failed*/
|
||||
#define S_asLib_asNotActive (M_asLib|10) /*access security is not active*/
|
||||
#define S_asLib_badMember (M_asLib|11) /*access security: bad ASMEMBERPVT*/
|
||||
#define S_asLib_badClient (M_asLib|12) /*access security: bad ASCLIENTPVT*/
|
||||
#define S_asLib_badAsg (M_asLib|13) /*access security: bad ASG*/
|
||||
#define S_asLib_noMemory (M_asLib|14) /*access security: no Memory */
|
||||
|
||||
/*Private declarations */
|
||||
#define ASMAXINP 12
|
||||
extern int asActive;
|
||||
/* definition of access rights*/
|
||||
typedef enum{asNOACCESS,asREAD,asWRITE} asAccessRights;
|
||||
|
||||
/*Base pointers for access security*/
|
||||
typedef struct asBase{
|
||||
ELLLIST uagList;
|
||||
ELLLIST hagList;
|
||||
ELLLIST asgList;
|
||||
void *phash;
|
||||
} ASBASE;
|
||||
/*Defs for User Access Groups*/
|
||||
typedef struct{
|
||||
ELLNODE node;
|
||||
char *user;
|
||||
} UAGNAME;
|
||||
typedef struct uag{
|
||||
ELLNODE node;
|
||||
char *name;
|
||||
ELLLIST list; /*list of UAGNAME*/
|
||||
} UAG;
|
||||
/*Defs for Host Access Groups*/
|
||||
typedef struct{
|
||||
ELLNODE node;
|
||||
char *host;
|
||||
} HAGNAME;
|
||||
typedef struct hag{
|
||||
ELLNODE node;
|
||||
char *name;
|
||||
ELLLIST list; /*list of HAGNAME*/
|
||||
} HAG;
|
||||
/*Defs for Access SecurityGroups*/
|
||||
typedef struct {
|
||||
ELLNODE node;
|
||||
UAG *puag;
|
||||
}ASGUAG;
|
||||
typedef struct {
|
||||
ELLNODE node;
|
||||
HAG *phag;
|
||||
}ASGHAG;
|
||||
typedef struct{
|
||||
ELLNODE node;
|
||||
asAccessRights access;
|
||||
int level;
|
||||
int inpUsed; /*mask for which inputs are used*/
|
||||
int result; /*Result of calc converted to TRUE/FALSE*/
|
||||
char *calc;
|
||||
void *rpcl;
|
||||
ELLLIST uagList; /*List of ASGUAG*/
|
||||
ELLLIST hagList; /*List of ASGHAG*/
|
||||
} ASGRULE;
|
||||
typedef struct{
|
||||
ELLNODE node;
|
||||
char *inp;
|
||||
void *capvt;
|
||||
struct asg *pasg;
|
||||
int inpIndex;
|
||||
}ASGINP;
|
||||
|
||||
typedef struct asg{
|
||||
ELLNODE node;
|
||||
char *name;
|
||||
ELLLIST inpList;
|
||||
ELLLIST ruleList;
|
||||
ELLLIST memberList;
|
||||
double *pavalue; /*pointer to array of input values*/
|
||||
int inpBad; /*mask for which inputs are bad*/
|
||||
int inpChanged; /*mask showing inputs that have changed*/
|
||||
} ASG;
|
||||
typedef struct asgMember {
|
||||
ELLNODE node;
|
||||
ASG *pasg;
|
||||
ELLLIST clientList;
|
||||
char *asgName;
|
||||
void *userPvt;
|
||||
} ASGMEMBER;
|
||||
typedef struct asgClient {
|
||||
ELLNODE node;
|
||||
ASGMEMBER *pasgMember;
|
||||
char *user;
|
||||
char *host;
|
||||
void *userPvt;
|
||||
ASCLIENTCALLBACK pcallback;
|
||||
int level;
|
||||
asAccessRights access;
|
||||
} ASGCLIENT;
|
||||
|
||||
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
|
||||
/*following is "friend" function*/
|
||||
void * asCalloc(size_t nobj,size_t size);
|
||||
|
||||
#endif /*INCasLibh*/
|
||||
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
%{
|
||||
static int yyerror();
|
||||
static int yy_start;
|
||||
@@ -25,7 +16,7 @@ static ASGRULE *yyAsgRule=NULL;
|
||||
%token tokenUAG tokenHAG tokenASG tokenRULE tokenCALC
|
||||
%token <Str> tokenINP
|
||||
%token <Int> tokenINTEGER
|
||||
%token <Str> tokenSTRING
|
||||
%token <Str> tokenNAME tokenSTRING
|
||||
|
||||
%union
|
||||
{
|
||||
@@ -48,7 +39,7 @@ asconfig_item: tokenUAG uag_head uag_body
|
||||
| tokenASG asg_head
|
||||
;
|
||||
|
||||
uag_head: '(' tokenSTRING ')'
|
||||
uag_head: '(' tokenNAME ')'
|
||||
{
|
||||
yyUag = asUagAdd($2);
|
||||
if(!yyUag) yyerror("");
|
||||
@@ -66,15 +57,19 @@ uag_user_list: uag_user_list ',' uag_user_list_name
|
||||
| uag_user_list_name
|
||||
;
|
||||
|
||||
uag_user_list_name: tokenSTRING
|
||||
uag_user_list_name: tokenNAME
|
||||
{
|
||||
if (asUagAddUser(yyUag,$1))
|
||||
long status;
|
||||
|
||||
status = asUagAddUser(yyUag,$1);
|
||||
if(status) {
|
||||
yyerror($1);
|
||||
}
|
||||
free((void *)$1);
|
||||
}
|
||||
;
|
||||
|
||||
hag_head: '(' tokenSTRING ')'
|
||||
hag_head: '(' tokenNAME ')'
|
||||
{
|
||||
yyHag = asHagAdd($2);
|
||||
if(!yyHag) yyerror("");
|
||||
@@ -89,15 +84,19 @@ hag_user_list: hag_user_list ',' hag_user_list_name
|
||||
| hag_user_list_name
|
||||
;
|
||||
|
||||
hag_user_list_name: tokenSTRING
|
||||
hag_user_list_name: tokenNAME
|
||||
{
|
||||
if (asHagAddHost(yyHag,$1))
|
||||
long status;
|
||||
|
||||
status = asHagAddHost(yyHag,$1);
|
||||
if(status) {
|
||||
yyerror("");
|
||||
}
|
||||
free((void *)$1);
|
||||
}
|
||||
;
|
||||
|
||||
asg_head: '(' tokenSTRING ')'
|
||||
asg_head: '(' tokenNAME ')'
|
||||
{
|
||||
yyAsg = asAsgAdd($2);
|
||||
if(!yyAsg) yyerror("");
|
||||
@@ -117,21 +116,23 @@ asg_body_item: inp_config | rule_config
|
||||
|
||||
inp_config: tokenINP '(' inp_body ')'
|
||||
{
|
||||
if (asAsgAddInp(yyAsg,$<Str>3,$<Int>1))
|
||||
long status;
|
||||
|
||||
status = asAsgAddInp(yyAsg,$<Str>3,$<Int>1);
|
||||
if(status) {
|
||||
yyerror("");
|
||||
}
|
||||
free((void *)$<Str>3);
|
||||
}
|
||||
;
|
||||
|
||||
inp_body: tokenSTRING
|
||||
inp_body: tokenNAME
|
||||
;
|
||||
|
||||
rule_config: tokenRULE rule_head rule_body
|
||||
| tokenRULE rule_head
|
||||
|
||||
rule_head: rule_head_manditory rule_head_options
|
||||
|
||||
rule_head_manditory: '(' tokenINTEGER ',' tokenSTRING
|
||||
rule_head: '(' tokenINTEGER ',' tokenNAME ')'
|
||||
{
|
||||
asAccessRights rights;
|
||||
|
||||
@@ -150,21 +151,6 @@ rule_head_manditory: '(' tokenINTEGER ',' tokenSTRING
|
||||
}
|
||||
;
|
||||
|
||||
rule_head_options: ')'
|
||||
| rule_log_options
|
||||
|
||||
rule_log_options: ',' tokenSTRING ')'
|
||||
{
|
||||
if((strcmp($2,"TRAPWRITE")==0)) {
|
||||
long status;
|
||||
status = asAsgAddRuleOptions(yyAsgRule,AS_TRAP_WRITE);
|
||||
if(status) yyerror("");
|
||||
} else if((strcmp($2,"NOTRAPWRITE")!=0)) {
|
||||
yyerror("Illegal access type");
|
||||
}
|
||||
free((void *)$2);
|
||||
}
|
||||
;
|
||||
|
||||
rule_body: '{' rule_list '}'
|
||||
;
|
||||
@@ -177,8 +163,12 @@ rule_list_item: tokenUAG '(' rule_uag_list ')'
|
||||
| tokenHAG '(' rule_hag_list ')'
|
||||
| tokenCALC '(' tokenSTRING ')'
|
||||
{
|
||||
if (asAsgRuleCalc(yyAsgRule,$3))
|
||||
yyerror("access security CALC failure");
|
||||
long status;
|
||||
|
||||
status = asAsgRuleCalc(yyAsgRule,$3);
|
||||
if(status){
|
||||
yyerror("access security CALC failure");
|
||||
}
|
||||
free((void *)$3);
|
||||
}
|
||||
;
|
||||
@@ -187,10 +177,14 @@ rule_uag_list: rule_uag_list ',' rule_uag_list_name
|
||||
| rule_uag_list_name
|
||||
;
|
||||
|
||||
rule_uag_list_name: tokenSTRING
|
||||
rule_uag_list_name: tokenNAME
|
||||
{
|
||||
if (asAsgRuleUagAdd(yyAsgRule,$1))
|
||||
yyerror("");
|
||||
long status;
|
||||
|
||||
status = asAsgRuleUagAdd(yyAsgRule,$1);
|
||||
if(status) {
|
||||
yyerror("");
|
||||
}
|
||||
free((void *)$1);
|
||||
}
|
||||
;
|
||||
@@ -199,10 +193,14 @@ rule_hag_list: rule_hag_list ',' rule_hag_list_name
|
||||
| rule_hag_list_name
|
||||
;
|
||||
|
||||
rule_hag_list_name: tokenSTRING
|
||||
rule_hag_list_name: tokenNAME
|
||||
{
|
||||
if (asAsgRuleHagAdd(yyAsgRule,$1))
|
||||
yyerror("");
|
||||
long status;
|
||||
|
||||
status = asAsgRuleHagAdd(yyAsgRule,$1);
|
||||
if(status) {
|
||||
yyerror("");
|
||||
}
|
||||
free((void *)$1);
|
||||
}
|
||||
;
|
||||
@@ -227,7 +225,7 @@ static int myParse(ASINPUTFUNCPTR inputfunction)
|
||||
if (!FirstFlag) {
|
||||
line_num=1;
|
||||
yyFailed = FALSE;
|
||||
yyreset();
|
||||
yyreset(NULL);
|
||||
yyrestart(NULL);
|
||||
}
|
||||
FirstFlag = 0;
|
||||
|
||||
@@ -1,15 +1,23 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/asLibRoutines.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 10-15-93 */
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 10-15-93 mrk Initial Implementation
|
||||
*/
|
||||
|
||||
#ifdef vxWorks
|
||||
#include <vxWorks.h>
|
||||
@@ -69,7 +77,6 @@ static long asHagAddHost(HAG *phag,char *host);
|
||||
static ASG *asAsgAdd(char *asgName);
|
||||
static long asAsgAddInp(ASG *pasg,char *inp,int inpIndex);
|
||||
static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level);
|
||||
static long asAsgAddRuleOptions(ASGRULE *pasgrule,int trapMask);
|
||||
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name);
|
||||
static long asAsgRuleHagAdd(ASGRULE *pasgrule,char *name);
|
||||
static long asAsgRuleCalc(ASGRULE *pasgrule,char *calc);
|
||||
@@ -470,7 +477,6 @@ long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt)
|
||||
/*The dump routines do not lock. Thus they may get inconsistant data.*/
|
||||
/*HOWEVER if they did lock and a user interrupts one of then then BAD BAD*/
|
||||
static char *asAccessName[] = {"NONE","READ","WRITE"};
|
||||
static char *asTrapOption[] = {"NOTRAPWRITE","TRAPWRITE"};
|
||||
static char *asLevelName[] = {"ASL0","ASL1"};
|
||||
int epicsShareAPI asDump(
|
||||
void (*memcallback)(struct asgMember *),
|
||||
@@ -547,9 +553,8 @@ int epicsShareAPI asDump(
|
||||
while(pasgrule) {
|
||||
int print_end_brace;
|
||||
|
||||
printf("\tRULE(%d,%s,%s)",
|
||||
pasgrule->level,asAccessName[pasgrule->access],
|
||||
asTrapOption[pasgrule->trapMask]);
|
||||
printf("\tRULE(%d,%s)",
|
||||
pasgrule->level,asAccessName[pasgrule->access]);
|
||||
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
||||
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
||||
if(pasguag || pasghag || pasgrule->calc) {
|
||||
@@ -599,9 +604,7 @@ int epicsShareAPI asDump(
|
||||
else
|
||||
printf(" Illegal Level %d",pasgclient->level);
|
||||
if(pasgclient->access>=0 && pasgclient->access<=2)
|
||||
printf(" %s %s",
|
||||
asAccessName[pasgclient->access],
|
||||
asTrapOption[pasgclient->trapMask]);
|
||||
printf(" %s",asAccessName[pasgclient->access]);
|
||||
else
|
||||
printf(" Illegal Access %d",pasgclient->access);
|
||||
if(clientcallback) clientcallback(pasgclient);
|
||||
@@ -707,9 +710,8 @@ int epicsShareAPI asDumpRules(char *asgname)
|
||||
while(pasgrule) {
|
||||
int print_end_brace;
|
||||
|
||||
printf("\tRULE(%d,%s,%s)",
|
||||
pasgrule->level,asAccessName[pasgrule->access],
|
||||
asTrapOption[pasgrule->trapMask]);
|
||||
printf("\tRULE(%d,%s)",
|
||||
pasgrule->level,asAccessName[pasgrule->access]);
|
||||
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
||||
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
||||
if(pasguag || pasghag || pasgrule->calc) {
|
||||
@@ -781,9 +783,7 @@ int epicsShareAPI asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int c
|
||||
else
|
||||
printf(" Illegal Level %d",pasgclient->level);
|
||||
if(pasgclient->access>=0 && pasgclient->access<=2)
|
||||
printf(" %s %s",
|
||||
asAccessName[pasgclient->access],
|
||||
asTrapOption[pasgclient->trapMask]);
|
||||
printf(" %s",asAccessName[pasgclient->access]);
|
||||
else
|
||||
printf(" Illegal Access %d",pasgclient->access);
|
||||
printf("\n");
|
||||
@@ -909,7 +909,6 @@ static long asComputeAsgPvt(ASG *pasg)
|
||||
static long asComputePvt(ASCLIENTPVT asClientPvt)
|
||||
{
|
||||
asAccessRights access=asNOACCESS;
|
||||
int trapMask=0;
|
||||
ASGCLIENT *pasgclient = asClientPvt;
|
||||
ASGMEMBER *pasgMember;
|
||||
ASG *pasg;
|
||||
@@ -962,15 +961,12 @@ check_hag:
|
||||
}
|
||||
check_calc:
|
||||
if(!pasgrule->calc
|
||||
|| (!(pasg->inpBad & pasgrule->inpUsed) && (pasgrule->result==1))) {
|
||||
|| (!(pasg->inpBad & pasgrule->inpUsed) && (pasgrule->result==1)))
|
||||
access = pasgrule->access;
|
||||
trapMask = pasgrule->trapMask;
|
||||
}
|
||||
next_rule:
|
||||
pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule);
|
||||
}
|
||||
pasgclient->access = access;
|
||||
pasgclient->trapMask = trapMask;
|
||||
if(pasgclient->pcallback && oldaccess!=access) {
|
||||
(*pasgclient->pcallback)(pasgclient,asClientCOAR);
|
||||
}
|
||||
@@ -1209,7 +1205,6 @@ static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level)
|
||||
if(!pasg) return(0);
|
||||
pasgrule = asCalloc(1,sizeof(ASGRULE));
|
||||
pasgrule->access = access;
|
||||
pasgrule->trapMask = 0;
|
||||
pasgrule->level = level;
|
||||
ellInit(&pasgrule->uagList);
|
||||
ellInit(&pasgrule->hagList);
|
||||
@@ -1217,16 +1212,6 @@ static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level)
|
||||
return(pasgrule);
|
||||
}
|
||||
|
||||
static long asAsgAddRuleOptions(ASGRULE *pasgrule,int trapMask)
|
||||
{
|
||||
if(!pasgrule) {
|
||||
errMessage(S_asLib_badConfig," Access Security internal failure");
|
||||
return(0);
|
||||
}
|
||||
pasgrule->trapMask = trapMask;
|
||||
return(0);
|
||||
}
|
||||
|
||||
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name)
|
||||
{
|
||||
ASGUAG *pasguag;
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
integer [0-9]
|
||||
name [a-zA-Z0-9_\-:\.\[\]<>;]
|
||||
notquote [^\"]
|
||||
@@ -48,7 +39,7 @@ INP[A-L] {/* If A-L is changed then ASMAXINP must also be changed*/
|
||||
{name}+ { /*unquoted string*/
|
||||
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
|
||||
strcpy(yylval.Str,yytext);
|
||||
return(tokenSTRING);
|
||||
return(tokenNAME);
|
||||
}
|
||||
|
||||
\"{string}*\" { /*quoted string*/
|
||||
|
||||
@@ -1,165 +0,0 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/*asTrapWrite.c */
|
||||
/* Author: Marty Kraimer Date: 07NOV2000 */
|
||||
|
||||
/* Matthias Clausen and Vladis Korobov at DESY
|
||||
* implemented the first logging of Channel Access Puts
|
||||
* This implementation uses many ideas from their implementation
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "callback.h"
|
||||
#include "freeList.h"
|
||||
#include "asLib.h"
|
||||
#include "asTrapWrite.h"
|
||||
#include "semLib.h"
|
||||
#include "ellLib.h"
|
||||
|
||||
typedef struct listenerPvt {
|
||||
ELLNODE node;
|
||||
struct listener *plistener;
|
||||
void *userPvt;
|
||||
}listenerPvt;
|
||||
|
||||
typedef struct listener{
|
||||
ELLNODE node;
|
||||
asTrapWriteListener func;
|
||||
}listener;
|
||||
|
||||
typedef struct writeMessage {
|
||||
ELLNODE node;
|
||||
asTrapWriteMessage message;
|
||||
ELLLIST listenerPvtList;
|
||||
}writeMessage;
|
||||
|
||||
|
||||
typedef struct asTrapWritePvt
|
||||
{
|
||||
ELLLIST listenerList;
|
||||
ELLLIST writeMessageList;
|
||||
void *freeListWriteMessage;
|
||||
void *freeListListenerPvt;
|
||||
SEM_ID lock;
|
||||
}asTrapWritePvt;
|
||||
|
||||
static asTrapWritePvt *pasTrapWritePvt = 0;
|
||||
|
||||
static void asTrapWriteInit(void)
|
||||
{
|
||||
pasTrapWritePvt = calloc(1,sizeof(asTrapWritePvt));
|
||||
ellInit(&pasTrapWritePvt->listenerList);
|
||||
ellInit(&pasTrapWritePvt->writeMessageList);
|
||||
freeListInitPvt(
|
||||
&pasTrapWritePvt->freeListWriteMessage,sizeof(writeMessage),20);
|
||||
freeListInitPvt(
|
||||
&pasTrapWritePvt->freeListListenerPvt,sizeof(listenerPvt),20);
|
||||
pasTrapWritePvt->lock = semMCreate(
|
||||
SEM_DELETE_SAFE|SEM_INVERSION_SAFE|SEM_Q_PRIORITY);
|
||||
}
|
||||
|
||||
asTrapWriteId epicsShareAPI asTrapWriteRegisterListener(
|
||||
asTrapWriteListener func)
|
||||
{
|
||||
listener *plistener;
|
||||
if(pasTrapWritePvt==0) asTrapWriteInit();
|
||||
plistener = calloc(1,sizeof(listener));
|
||||
plistener->func = func;
|
||||
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||
ellAdd(&pasTrapWritePvt->listenerList,&plistener->node);
|
||||
semGive(pasTrapWritePvt->lock);
|
||||
return((asTrapWriteId)plistener);
|
||||
}
|
||||
|
||||
void epicsShareAPI asTrapWriteUnregisterListener(asTrapWriteId id)
|
||||
{
|
||||
listener *plistener = (listener *)id;
|
||||
writeMessage *pwriteMessage;
|
||||
|
||||
if(pasTrapWritePvt==0) return;
|
||||
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||
pwriteMessage = (writeMessage *)ellFirst(&pasTrapWritePvt->writeMessageList);
|
||||
while(pwriteMessage) {
|
||||
listenerPvt *plistenerPvt
|
||||
= (listenerPvt *)ellFirst(&pwriteMessage->listenerPvtList);
|
||||
while(plistenerPvt) {
|
||||
listenerPvt *pnext
|
||||
= (listenerPvt *)ellNext(&plistenerPvt->node);
|
||||
if(plistenerPvt->plistener == plistener) {
|
||||
ellDelete(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||
freeListFree(pasTrapWritePvt->freeListListenerPvt,(void *)plistenerPvt);
|
||||
}
|
||||
plistenerPvt = pnext;
|
||||
}
|
||||
pwriteMessage = (writeMessage *)ellNext(&pwriteMessage->node);
|
||||
}
|
||||
ellDelete(&pasTrapWritePvt->listenerList,&plistener->node);
|
||||
free((void *)plistener);
|
||||
semGive(pasTrapWritePvt->lock);
|
||||
}
|
||||
|
||||
void * epicsShareAPI asTrapWriteBeforeWrite(
|
||||
char *userid,char *hostid,void *addr)
|
||||
{
|
||||
writeMessage *pwriteMessage;
|
||||
listener *plistener;
|
||||
listenerPvt *plistenerPvt;
|
||||
|
||||
if(pasTrapWritePvt==0) return(0);
|
||||
if(ellCount(&pasTrapWritePvt->listenerList)<=0) return 0;
|
||||
pwriteMessage = (writeMessage *)freeListCalloc(
|
||||
pasTrapWritePvt->freeListWriteMessage);
|
||||
pwriteMessage->message.userid = userid;
|
||||
pwriteMessage->message.hostid = hostid;
|
||||
pwriteMessage->message.serverSpecific = addr;
|
||||
ellInit(&pwriteMessage->listenerPvtList);
|
||||
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||
ellAdd(&pasTrapWritePvt->writeMessageList,&pwriteMessage->node);
|
||||
plistener = (listener *)ellFirst(&pasTrapWritePvt->listenerList);
|
||||
while(plistener) {
|
||||
plistenerPvt = (listenerPvt *)freeListCalloc(
|
||||
pasTrapWritePvt->freeListListenerPvt);
|
||||
plistenerPvt->plistener = plistener;
|
||||
pwriteMessage->message.userPvt = 0;
|
||||
(*plistener->func)(&pwriteMessage->message,0);
|
||||
plistenerPvt->userPvt = pwriteMessage->message.userPvt;
|
||||
ellAdd(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||
plistener = (listener *)ellNext(&plistener->node);
|
||||
}
|
||||
semGive(pasTrapWritePvt->lock);
|
||||
return((void *)pwriteMessage);
|
||||
}
|
||||
|
||||
void epicsShareAPI asTrapWriteAfterWrite(void *pvt)
|
||||
{
|
||||
writeMessage *pwriteMessage = (writeMessage *)pvt;
|
||||
listenerPvt *plistenerPvt;
|
||||
|
||||
if(pwriteMessage==0 || pasTrapWritePvt==0) return;
|
||||
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||
plistenerPvt = (listenerPvt *)ellFirst(&pwriteMessage->listenerPvtList);
|
||||
while(plistenerPvt) {
|
||||
listenerPvt *pnext = (listenerPvt *)ellNext(&plistenerPvt->node);
|
||||
listener *plistener;
|
||||
plistener = plistenerPvt->plistener;
|
||||
pwriteMessage->message.userPvt = plistenerPvt->userPvt;
|
||||
(*plistener->func)(&pwriteMessage->message,1);
|
||||
ellDelete(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||
freeListFree(pasTrapWritePvt->freeListListenerPvt,(void *)plistenerPvt);
|
||||
plistenerPvt = pnext;
|
||||
}
|
||||
ellDelete(&pasTrapWritePvt->writeMessageList,&pwriteMessage->node);
|
||||
freeListFree(pasTrapWritePvt->freeListWriteMessage,(void *)pwriteMessage);
|
||||
semGive(pasTrapWritePvt->lock);
|
||||
}
|
||||
@@ -1,15 +1,21 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* share/src/as/ascheck.c */
|
||||
/* share/src/as $Id$ */
|
||||
/* Author: Marty Kraimer Date: 03-24-94 */
|
||||
/*****************************************************************
|
||||
COPYRIGHT NOTIFICATION
|
||||
*****************************************************************
|
||||
|
||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
||||
|
||||
This software was developed under a United States Government license
|
||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
||||
of this distribution.
|
||||
**********************************************************************/
|
||||
|
||||
/* Modification Log:
|
||||
* -----------------
|
||||
* .01 03-24-94 mrk Initial Implementation
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
TOP=../..
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* $Id$ */
|
||||
|
||||
/* cvtBpt.c - Convert using breakpoint table
|
||||
@@ -15,6 +6,31 @@
|
||||
* Date: 04OCT95
|
||||
* This is adaptation of old bldCvtTable
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* 01 04OCT95 mrk Taken from old bldCvtTable
|
||||
*/
|
||||
#include <vxWorks.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -1,18 +1,35 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* $Id$
|
||||
* Breakpoint Tables
|
||||
*
|
||||
* Author: Marty Kraimer
|
||||
* Date: 11-7-90
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 05-18-92 rcz removed extern
|
||||
* .02 05-18-92 rcz new database access
|
||||
* .03 08-19-92 jba add prototypes for cvtRawToEngBpt,cvtEngToRawBpt
|
||||
*/
|
||||
|
||||
#ifndef INCcvtTableh
|
||||
|
||||
@@ -1,16 +1,32 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* $Id$
|
||||
* Author: Marty Kraimer
|
||||
* Date: 9/28/95
|
||||
* Replacement for old bldCvtTable
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 28SEP95 mrk Replace old bldCvtTable
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
menu(menuConvert) {
|
||||
choice(menuConvertNO_CONVERSION,"NO CONVERSION")
|
||||
choice(menuConvertLINEAR,"LINEAR")
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
TOP=../..
|
||||
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
# Makefile.Host
|
||||
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
CMPLR = STRICT
|
||||
|
||||
#
|
||||
# includes to install from this subproject
|
||||
#
|
||||
INC += cadef.h
|
||||
INC += caerr.h
|
||||
INC += caeventmask.h
|
||||
INC += caProto.h
|
||||
|
||||
#
|
||||
@@ -44,20 +39,23 @@ LIBSRCS += repeater.c
|
||||
#
|
||||
LIBRARY := ca
|
||||
|
||||
ca_RCS_WIN32 = ca.rc
|
||||
|
||||
# build LIBRARY as a DLL on WIN32, other systems may ignore this
|
||||
LIBTYPE := SHARED
|
||||
|
||||
PROD := caRepeater
|
||||
caRepeater_SRCS=caRepeater.c
|
||||
|
||||
# libs needed to build [TEST]PRODUCT
|
||||
PROD_LIBS := ca Com
|
||||
SYS_PROD_LIBS_WIN32 := ws2_32 user32 advapi32
|
||||
|
||||
TESTPROD := catime acctst caEventRate
|
||||
TESTPROD := catime acctst
|
||||
|
||||
include $(TOP)/config/RULES.Host
|
||||
|
||||
pcatime : catime.o $(PRODDEPLIBS)
|
||||
$(PURIFY) $(LINK.c) catime.o $(LDLIBS)
|
||||
|
||||
pacctst : acctst.o $(PRODDEPLIBS)
|
||||
$(PURIFY) $(LINK.c) acctst.o $(LDLIBS)
|
||||
|
||||
# EOF Makefile.Host
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
#*************************************************************************
|
||||
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
TOP = ../../..
|
||||
include $(TOP)/config/CONFIG_BASE
|
||||
|
||||
@@ -19,7 +10,7 @@ SRCS.c = \
|
||||
LIBOBJS = \
|
||||
iocinf.o access.o test_event.o service.o flow_control.o \
|
||||
repeater.o conn.o syncgrp.o if_depen.o bsd_depen.o vxWorks_depen.o \
|
||||
catime.o convert.o
|
||||
convert.o
|
||||
|
||||
LIBNAME = caLib
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
|
||||
static char *sccsId = "@(#)V5_vxWorks_patch.c 1.2\t7/27/92";
|
||||
|
||||
|
||||
213
src/ca/access.c
213
src/ca/access.c
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/* $Id$ */
|
||||
/************************************************************************/
|
||||
/* */
|
||||
@@ -108,42 +99,6 @@
|
||||
/************************************************************************/
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.107.2.10 2002/05/28 18:41:41 jhill
|
||||
* fixed ellFree cause malloc and free to be in different win32 dlls
|
||||
*
|
||||
* Revision 1.107.2.9 2002/03/14 01:13:57 jhill
|
||||
* fixed put notify shutdown during channel delete
|
||||
*
|
||||
* Revision 1.107.2.8 2002/03/08 00:25:08 jhill
|
||||
* fixed bug where the db_put_field in the local event callback stub was supplied
|
||||
* with a destination that was the database field. In situations where the dbAccess
|
||||
* db_access field types were different the database was damaged.
|
||||
*
|
||||
* Revision 1.107.2.7 2001/09/18 12:17:48 mrk
|
||||
* increased stack size for cac_recv_task from 4096 to 8192
|
||||
*
|
||||
* Revision 1.107.2.6 2000/11/30 22:07:50 jhill
|
||||
* changes from Ken Evans
|
||||
*
|
||||
* Revision 1.107.2.5 2000/08/29 20:03:04 jhill
|
||||
* fixed alignment bug check on hosts that have 64 bit longs
|
||||
*
|
||||
* Revision 1.107.2.4 2000/06/28 15:48:43 mrk
|
||||
* remove blank from task name
|
||||
*
|
||||
* Revision 1.107.2.3 2000/06/28 15:41:15 jhill
|
||||
* changed "m_type" to "m_dataType" in order to avoid collision
|
||||
* with MACRO supplied by WRS's Tornado II product
|
||||
*
|
||||
* Revision 1.107.2.2 1999/09/02 21:16:40 jhill
|
||||
* fixed missing paramter to checkConnWatchDogs() func
|
||||
*
|
||||
* Revision 1.107.2.1 1999/07/15 20:23:57 jhill
|
||||
* fixed bug where client disconnects while waiting to send TCP
|
||||
*
|
||||
* Revision 1.107 1998/10/27 00:43:27 jhill
|
||||
* eliminated warning
|
||||
*
|
||||
* Revision 1.106 1998/09/25 00:20:56 jhill
|
||||
* fixed warnings
|
||||
*
|
||||
@@ -438,7 +393,6 @@ const void *pext
|
||||
* ring buffer size.
|
||||
*/
|
||||
if (msgsize>piiu->send.max_msg) {
|
||||
UNLOCK;
|
||||
return ECA_TOLARGE;
|
||||
}
|
||||
|
||||
@@ -453,16 +407,6 @@ const void *pext
|
||||
if (piiu->state==iiu_connected) {
|
||||
(*piiu->sendBytes)(piiu);
|
||||
}
|
||||
|
||||
/*
|
||||
* if connection drops request
|
||||
* cant be completed
|
||||
*/
|
||||
if (piiu->state!=iiu_connected) {
|
||||
UNLOCK;
|
||||
return ECA_DISCONNCHID;
|
||||
}
|
||||
|
||||
bytesAvailable =
|
||||
cacRingBufferWriteSize(&piiu->send, contig);
|
||||
|
||||
@@ -487,20 +431,19 @@ const void *pext
|
||||
|
||||
UNLOCK;
|
||||
|
||||
LD_CA_TIME (cac_fetch_poll_period(), &itimeout);
|
||||
cac_mux_io (&itimeout, FALSE);
|
||||
|
||||
LOCK;
|
||||
|
||||
/*
|
||||
* if connection drops request
|
||||
* cant be completed
|
||||
*/
|
||||
if (piiu->state!=iiu_connected) {
|
||||
UNLOCK;
|
||||
return ECA_DISCONNCHID;
|
||||
}
|
||||
|
||||
LD_CA_TIME (cac_fetch_poll_period(), &itimeout);
|
||||
cac_mux_io (&itimeout);
|
||||
|
||||
LOCK;
|
||||
|
||||
bytesAvailable = cacRingBufferWriteSize(
|
||||
&piiu->send, contig);
|
||||
}
|
||||
@@ -763,12 +706,11 @@ int ca_os_independent_init (void)
|
||||
* init broadcasted search counters
|
||||
* (current time must be initialized before calling this)
|
||||
*/
|
||||
ca_static->ca_search_tries_congest_thresh = UINT_MAX;
|
||||
ca_static->ca_search_responses = 0u;
|
||||
ca_static->ca_search_tries = 0u;
|
||||
ca_static->ca_search_retry_seq_no = 0u;
|
||||
ca_static->ca_seq_no_at_list_begin = 0u;
|
||||
ca_static->ca_frames_per_try = INITIALTRIESPERFRAME;
|
||||
ca_static->ca_frames_per_try = TRIESPERFRAME;
|
||||
ca_static->ca_conn_next_retry = ca_static->currentTime;
|
||||
cacSetRetryInterval (0u);
|
||||
|
||||
@@ -853,7 +795,7 @@ void cac_create_udp_fd()
|
||||
if(status<0)
|
||||
genLocalExcep (ECA_INTERNAL,NULL);
|
||||
|
||||
strcpy(name,"RD_");
|
||||
strcpy(name,"RD ");
|
||||
strncat(
|
||||
name,
|
||||
taskName(VXTHISTASKID),
|
||||
@@ -863,7 +805,7 @@ void cac_create_udp_fd()
|
||||
name,
|
||||
pri+1,
|
||||
VX_FP_TASK,
|
||||
8192,
|
||||
4096,
|
||||
(FUNCPTR)cac_recv_task,
|
||||
(int)taskIdCurrent,
|
||||
0,
|
||||
@@ -982,7 +924,7 @@ void ca_process_exit()
|
||||
/*
|
||||
* free address list
|
||||
*/
|
||||
ellFreeCA(&piiu->destAddr);
|
||||
ellFree(&piiu->destAddr);
|
||||
|
||||
piiu = (struct ioc_in_use *) piiu->node.next;
|
||||
}
|
||||
@@ -994,10 +936,10 @@ void ca_process_exit()
|
||||
caIOBlockListFree (&ca_static->ca_pend_write_list, NULL, FALSE, ECA_INTERNAL);
|
||||
|
||||
/* remove any pending io event blocks */
|
||||
ellFreeCA(&ca_static->ca_ioeventlist);
|
||||
ellFree(&ca_static->ca_ioeventlist);
|
||||
|
||||
/* remove put convert block free list */
|
||||
ellFreeCA(&ca_static->putCvrtBuf);
|
||||
ellFree(&ca_static->putCvrtBuf);
|
||||
|
||||
/* reclaim sync group resources */
|
||||
ca_sg_shutdown(ca_static);
|
||||
@@ -1006,13 +948,13 @@ void ca_process_exit()
|
||||
freeListCleanup(ca_static->ca_ioBlockFreeListPVT);
|
||||
|
||||
/* free select context lists */
|
||||
ellFreeCA(&ca_static->fdInfoFreeList);
|
||||
ellFreeCA(&ca_static->fdInfoList);
|
||||
ellFree(&ca_static->fdInfoFreeList);
|
||||
ellFree(&ca_static->fdInfoList);
|
||||
|
||||
/*
|
||||
* remove IOCs in use
|
||||
*/
|
||||
ellFreeCA(&ca_static->ca_iiuList);
|
||||
ellFree(&ca_static->ca_iiuList);
|
||||
|
||||
/*
|
||||
* free user name string
|
||||
@@ -1258,7 +1200,7 @@ int reply_type
|
||||
|
||||
mptr->m_cmmd = htons (CA_PROTO_SEARCH);
|
||||
mptr->m_available = chix->cid;
|
||||
mptr->m_dataType = reply_type;
|
||||
mptr->m_type = reply_type;
|
||||
mptr->m_count = htons (CA_MINOR_VERSION);
|
||||
mptr->m_cid = chix->cid;
|
||||
|
||||
@@ -1589,7 +1531,7 @@ LOCAL int issue_get_callback(evid monix, ca_uint16_t cmmd)
|
||||
|
||||
/* msg header only on db read notify req */
|
||||
hdr.m_cmmd = htons (cmmd);
|
||||
hdr.m_dataType = htons ((ca_uint16_t)monix->type);
|
||||
hdr.m_type = htons ((ca_uint16_t)monix->type);
|
||||
hdr.m_count = htons (count);
|
||||
hdr.m_available = monix->id;
|
||||
hdr.m_postsize = 0;
|
||||
@@ -1713,7 +1655,6 @@ const void *usrarg
|
||||
ppn->dbPutNotify.pbuffer = (ppn+1);
|
||||
}
|
||||
ppn->busy = TRUE;
|
||||
ppn->onExtraLaborQueue = FALSE;
|
||||
ppn->caUserCallback = pfunc;
|
||||
ppn->caUserArg = (void *) usrarg;
|
||||
ppn->dbPutNotify.nRequest = count;
|
||||
@@ -1813,7 +1754,6 @@ LOCAL void ca_put_notify_action(PUTNOTIFY *ppn)
|
||||
* one client on another client).
|
||||
*/
|
||||
semTake(pcas->ca_putNotifyLock, WAIT_FOREVER);
|
||||
pcapn->onExtraLaborQueue = TRUE;
|
||||
ellAdd(&pcas->ca_putNotifyQue, &pcapn->node);
|
||||
semGive(pcas->ca_putNotifyLock);
|
||||
|
||||
@@ -1969,11 +1909,11 @@ const void *pvalue
|
||||
while (TRUE) {
|
||||
switch (type) {
|
||||
case DBR_LONG:
|
||||
*(dbr_long_t *)pdest = htonl (*(dbr_long_t *)pvalue);
|
||||
*(long *)pdest = htonl (*(dbr_long_t *)pvalue);
|
||||
break;
|
||||
|
||||
case DBR_CHAR:
|
||||
*(dbr_char_t *)pdest = *(dbr_char_t *)pvalue;
|
||||
*(char *)pdest = *(dbr_char_t *)pvalue;
|
||||
break;
|
||||
|
||||
case DBR_ENUM:
|
||||
@@ -1983,7 +1923,7 @@ const void *pvalue
|
||||
# if DBR_INT != DBR_SHORT
|
||||
case DBR_INT:
|
||||
# endif /*DBR_INT != DBR_SHORT*/
|
||||
*(dbr_short_t *)pdest = htons (*(dbr_short_t *)pvalue);
|
||||
*(short *)pdest = htons (*(dbr_short_t *)pvalue);
|
||||
break;
|
||||
|
||||
case DBR_FLOAT:
|
||||
@@ -2019,7 +1959,7 @@ const void *pvalue
|
||||
# endif /*CONVERSION_REQUIRED*/
|
||||
|
||||
hdr.m_cmmd = htons(cmd);
|
||||
hdr.m_dataType = htons((ca_uint16_t)type);
|
||||
hdr.m_type = htons((ca_uint16_t)type);
|
||||
hdr.m_count = htons((ca_uint16_t)count);
|
||||
hdr.m_cid = chix->id.sid;
|
||||
hdr.m_available = id;
|
||||
@@ -2369,7 +2309,7 @@ int ca_request_event(evid monix)
|
||||
/* msg header */
|
||||
msg.m_header.m_cmmd = htons(CA_PROTO_EVENT_ADD);
|
||||
msg.m_header.m_available = monix->id;
|
||||
msg.m_header.m_dataType = htons((ca_uint16_t)monix->type);
|
||||
msg.m_header.m_type = htons((ca_uint16_t)monix->type);
|
||||
msg.m_header.m_count = htons(count);
|
||||
msg.m_header.m_cid = chix->id.sid;
|
||||
msg.m_header.m_postsize = sizeof(msg.m_info);
|
||||
@@ -2427,46 +2367,53 @@ db_field_log *pfl
|
||||
count = monix->count;
|
||||
}
|
||||
|
||||
size = dbr_size_n(monix->type,count);
|
||||
if(monix->type == paddr->dbr_field_type){
|
||||
pval = paddr->pfield;
|
||||
status = OK;
|
||||
}
|
||||
else{
|
||||
size = dbr_size_n(monix->type,count);
|
||||
|
||||
if( size <= sizeof(valbuf) ){
|
||||
pval = (void *) &valbuf;
|
||||
}
|
||||
else{
|
||||
|
||||
/*
|
||||
* find a preallocated block which fits
|
||||
* (stored with largest block first)
|
||||
*/
|
||||
LOCK;
|
||||
pbuf = (struct tmp_buff *)
|
||||
lcl_buff_list.node.next;
|
||||
if(pbuf && pbuf->size >= size){
|
||||
ellDelete(
|
||||
&lcl_buff_list,
|
||||
&pbuf->node);
|
||||
}else
|
||||
pbuf = NULL;
|
||||
UNLOCK;
|
||||
|
||||
/*
|
||||
* test again so malloc is not inside LOCKED
|
||||
* section
|
||||
*/
|
||||
if(!pbuf){
|
||||
pbuf = (struct tmp_buff *)
|
||||
malloc(sizeof(*pbuf)+size);
|
||||
if(!pbuf){
|
||||
ca_printf("%s: No Mem, Event Discarded\n",
|
||||
__FILE__);
|
||||
return;
|
||||
}
|
||||
pbuf->size = size;
|
||||
if( size <= sizeof(valbuf) ){
|
||||
pval = (void *) &valbuf;
|
||||
}
|
||||
else{
|
||||
|
||||
/*
|
||||
* find a preallocated block which fits
|
||||
* (stored with largest block first)
|
||||
*/
|
||||
LOCK;
|
||||
pbuf = (struct tmp_buff *)
|
||||
lcl_buff_list.node.next;
|
||||
if(pbuf && pbuf->size >= size){
|
||||
ellDelete(
|
||||
&lcl_buff_list,
|
||||
&pbuf->node);
|
||||
}else
|
||||
pbuf = NULL;
|
||||
UNLOCK;
|
||||
|
||||
/*
|
||||
* test again so malloc is not inside LOCKED
|
||||
* section
|
||||
*/
|
||||
if(!pbuf){
|
||||
pbuf = (struct tmp_buff *)
|
||||
malloc(sizeof(*pbuf)+size);
|
||||
if(!pbuf){
|
||||
ca_printf("%s: No Mem, Event Discarded\n",
|
||||
__FILE__);
|
||||
return;
|
||||
}
|
||||
pbuf->size = size;
|
||||
}
|
||||
pval = (void *) (pbuf+1);
|
||||
}
|
||||
pval = (void *) (pbuf+1);
|
||||
}
|
||||
|
||||
status = db_get_field( paddr,
|
||||
|
||||
|
||||
status = db_get_field( paddr,
|
||||
monix->type,
|
||||
pval,
|
||||
count,
|
||||
@@ -2603,7 +2550,7 @@ int epicsShareAPI ca_clear_event (evid monix)
|
||||
/* msg header */
|
||||
hdr.m_cmmd = htons(CA_PROTO_EVENT_CANCEL);
|
||||
hdr.m_available = pMon->id;
|
||||
hdr.m_dataType = htons(chix->privType);
|
||||
hdr.m_type = htons(chix->privType);
|
||||
hdr.m_count = htons(chix->privCount);
|
||||
hdr.m_cid = chix->id.sid;
|
||||
hdr.m_postsize = 0;
|
||||
@@ -2712,16 +2659,6 @@ int epicsShareAPI ca_clear_channel (chid pChan)
|
||||
if(ppn->busy){
|
||||
dbNotifyCancel(&ppn->dbPutNotify);
|
||||
}
|
||||
|
||||
semTake (ca_static->ca_putNotifyLock, WAIT_FOREVER);
|
||||
if ( ppn->onExtraLaborQueue ) {
|
||||
ellDelete( &ca_static->ca_putNotifyQue, &ppn->node );
|
||||
}
|
||||
semGive (ca_static->ca_putNotifyLock);
|
||||
|
||||
status = db_flush_extra_labor_event (ca_static->ca_evuser );
|
||||
assert ( status == OK );
|
||||
|
||||
free(ppn);
|
||||
}
|
||||
|
||||
@@ -2766,7 +2703,7 @@ int epicsShareAPI ca_clear_channel (chid pChan)
|
||||
hdr.m_cmmd = htons(CA_PROTO_CLEAR_CHANNEL);
|
||||
hdr.m_available = pChan->cid;
|
||||
hdr.m_cid = pChan->id.sid;
|
||||
hdr.m_dataType = htons(0);
|
||||
hdr.m_type = htons(0);
|
||||
hdr.m_count = htons(0);
|
||||
hdr.m_postsize = 0;
|
||||
|
||||
@@ -2872,7 +2809,7 @@ int epicsShareAPI ca_pend (ca_real timeout, int early)
|
||||
* force the flush
|
||||
*/
|
||||
CLR_CA_TIME (&tmo);
|
||||
cac_mux_io(&tmo, TRUE);
|
||||
cac_mux_io(&tmo);
|
||||
return ECA_NORMAL;
|
||||
}
|
||||
|
||||
@@ -2881,7 +2818,7 @@ int epicsShareAPI ca_pend (ca_real timeout, int early)
|
||||
* force the flush
|
||||
*/
|
||||
CLR_CA_TIME (&tmo);
|
||||
cac_mux_io(&tmo, TRUE);
|
||||
cac_mux_io(&tmo);
|
||||
return ECA_TIMEOUT;
|
||||
}
|
||||
|
||||
@@ -2895,7 +2832,7 @@ int epicsShareAPI ca_pend (ca_real timeout, int early)
|
||||
* force the flush
|
||||
*/
|
||||
CLR_CA_TIME (&tmo);
|
||||
cac_mux_io(&tmo, TRUE);
|
||||
cac_mux_io(&tmo);
|
||||
return ECA_NORMAL;
|
||||
}
|
||||
if(timeout == 0.0){
|
||||
@@ -3099,7 +3036,7 @@ int epicsShareAPI ca_flush_io()
|
||||
*/
|
||||
ca_static->ca_flush_pending = TRUE;
|
||||
CLR_CA_TIME (&timeout);
|
||||
cac_mux_io (&timeout, TRUE);
|
||||
cac_mux_io (&timeout);
|
||||
|
||||
return ECA_NORMAL;
|
||||
}
|
||||
@@ -3324,7 +3261,7 @@ int echo_request(struct ioc_in_use *piiu, ca_time *pCurrentTime)
|
||||
int status;
|
||||
|
||||
hdr.m_cmmd = htons(CA_PROTO_ECHO);
|
||||
hdr.m_dataType = htons(0);
|
||||
hdr.m_type = htons(0);
|
||||
hdr.m_count = htons(0);
|
||||
hdr.m_cid = htons(0);
|
||||
hdr.m_available = htons(0);
|
||||
@@ -3358,7 +3295,7 @@ void noop_msg(struct ioc_in_use *piiu)
|
||||
int status;
|
||||
|
||||
hdr.m_cmmd = htons(CA_PROTO_NOOP);
|
||||
hdr.m_dataType = htons(0);
|
||||
hdr.m_type = htons(0);
|
||||
hdr.m_count = htons(0);
|
||||
hdr.m_cid = htons(0);
|
||||
hdr.m_available = htons(0);
|
||||
@@ -3733,7 +3670,7 @@ int ca_channel_status(int tid)
|
||||
* ca_replace_printf_handler ()
|
||||
*/
|
||||
int epicsShareAPI ca_replace_printf_handler (
|
||||
int (epicsShareAPIV *ca_printf_func)(const char *pformat, va_list args)
|
||||
int (*ca_printf_func)(const char *pformat, va_list args)
|
||||
)
|
||||
{
|
||||
INITCHK;
|
||||
@@ -3757,7 +3694,7 @@ int (epicsShareAPIV *ca_printf_func)(const char *pformat, va_list args)
|
||||
*/
|
||||
int epicsShareAPI ca_printf(char *pformat, ...)
|
||||
{
|
||||
int ( epicsShareAPIV *ca_printf_func )(const char *pformat, va_list args);
|
||||
int (*ca_printf_func)(const char *pformat, va_list args);
|
||||
va_list theArgs;
|
||||
int status;
|
||||
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
* EPICS BASE Versions 3.13.7
|
||||
* and higher are distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* CA test/debug routine
|
||||
@@ -16,13 +7,6 @@ static char *sccsId = "@(#) $Id$";
|
||||
|
||||
/*
|
||||
* $Log$
|
||||
* Revision 1.56.2.1 2000/06/28 15:41:17 jhill
|
||||
* changed "m_type" to "m_dataType" in order to avoid collision
|
||||
* with MACRO supplied by WRS's Tornado II product
|
||||
*
|
||||
* Revision 1.56 1998/10/27 00:47:28 jhill
|
||||
* fixed warnings
|
||||
*
|
||||
* Revision 1.55 1998/09/24 21:11:38 jhill
|
||||
* verify that conn is dropped when channel count goes to zero
|
||||
*
|
||||
@@ -1261,6 +1245,8 @@ void test_sync_groups(chid chix)
|
||||
printf("done\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* multiple_sg_requests()
|
||||
*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user