Compare commits

..

35 Commits

Author SHA1 Message Date
Janet B. Anderson
56fee671fe epics_R3_13_1_1 1999-01-11 15:38:57 +00:00
Marty Kraimer
4c7cfd7b2f added description of -i to help 1999-01-11 14:20:09 +00:00
Janet B. Anderson
28cdb2b5e1 Bug fix for warning and opt flags in Vx builds. 1999-01-07 23:14:16 +00:00
Janet B. Anderson
f006ec6a8e Don't copy vxWorks and vxWorks.sym into base. 1999-01-07 21:50:08 +00:00
Janet B. Anderson
f468f0e33c Changes from Mark Rivers. 1999-01-06 22:21:59 +00:00
Janet B. Anderson
3cfd9a79f5 Fixed VX_GNU_NO definition. 1999-01-06 22:10:43 +00:00
Janet B. Anderson
0c0b5d44ba Added $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) to clean rule. 1999-01-06 22:04:37 +00:00
Janet B. Anderson
95a399e4a2 Now only create package dir if package is defined. 1999-01-06 21:58:51 +00:00
Janet B. Anderson
4daf75e295 Added vendor compiler dependent options ( -KPIC -D_REENTRANT for solaris) 1999-01-06 21:52:47 +00:00
Janet B. Anderson
0ef60ec09a Added CPPSNCFLAGS to cpp step of state notation language rule 1999-01-06 21:37:23 +00:00
Janet B. Anderson
42bd805108 Created ARCH_DEP_CPPFLAGS for Vx build. 1999-01-06 21:34:55 +00:00
Janet B. Anderson
5e7ec2be6c Bug fix - added space after link definition. 1999-01-06 19:48:22 +00:00
Janet B. Anderson
2c1609e2ed perl now must be in user's path. 1999-01-06 19:43:12 +00:00
Janet B. Anderson
4d0785b899 Release string now contains update name/level only if non blank/non zero. 1999-01-06 19:35:54 +00:00
Marty Kraimer
1fc97eb429 reinitialize eoff in special 1999-01-06 19:14:21 +00:00
Marty Kraimer
54f3de4b0d cosmetic change 1999-01-06 19:11:00 +00:00
Marty Kraimer
4907dfd43d remove defining storage twice 1999-01-06 19:10:06 +00:00
Marty Kraimer
14414ab86f If dbPutNotify called dbProcess and dbProcess returned an error the notify completion callback was called twice. 1999-01-06 18:59:20 +00:00
Marty Kraimer
08761bebff remove restriction that table names must be alphanumeric 1999-01-06 18:54:26 +00:00
Ralph Lange
6619c06109 Bugfix .DEPENDS -> DEPENDS 1999-01-06 16:50:48 +00:00
Jeff Hill
5ba5209891 changes from Salikova 1998-12-21 20:59:30 +00:00
Jeff Hill
5d4eddf424 fixed typo 1998-12-21 17:50:01 +00:00
Jeff Hill
1982c777be Include the next resource id allocated in casr diagnostic 1998-12-21 17:49:05 +00:00
Jeff Hill
842f9e33cf drvEpvxi.h 1998-12-21 17:46:36 +00:00
Jeff Hill
d4f44b9bc9 fixed warning 1998-12-21 17:39:02 +00:00
Jeff Hill
d2acbb21b5 improved the portability of devLib 1998-12-19 01:32:35 +00:00
Jeff Hill
4ab910abd1 renamed createPV() to pvAttach() 1998-12-19 00:04:53 +00:00
Jeff Hill
6f8e2cd675 Changed the remove() function in tsSLList class because users were
confused by it. The name is now removeNextItem() and it is now a private
member of class tsSLNode.
1998-12-18 19:02:47 +00:00
Jeff Hill
9658302528 fixed warning 1998-12-18 18:58:20 +00:00
Janet B. Anderson
1b8da9848e Removed duplicate line. 1998-12-14 17:08:11 +00:00
Jeff Hill
4f983714c7 doc 1998-12-07 23:21:53 +00:00
Jeff Hill
31d5dee317 removed inline frm evt msk alloc 1998-12-01 23:32:15 +00:00
Jeff Hill
e1bc747104 Use EPICS_CA_BEACON_PERIOD 1998-12-01 18:54:45 +00:00
Jeff Hill
82d119fcef fixed warning 1998-11-23 23:51:04 +00:00
Jeff Hill
2ef8e387e0 added build date to corerelease() 1998-11-23 23:49:29 +00:00
1326 changed files with 181782 additions and 21938 deletions

21
COPYRIGHT_Combined Normal file
View 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
***********************************************************************/

View 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
View File

@@ -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.
________________________________________________________________________

View File

@@ -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

View File

@@ -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
View File

@@ -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

View File

@@ -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

View File

@@ -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

File diff suppressed because it is too large Load Diff

View 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
View 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 .

1
config.mk Normal file
View File

@@ -0,0 +1 @@
BUILD_ARCHS=sun4 mv167 mv147

5
config.mv147.mk Normal file
View 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
View 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
View 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

View File

@@ -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$
#

View File

@@ -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)

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 = ??

View File

@@ -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

View File

@@ -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_

View File

@@ -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

View File

@@ -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__

View File

@@ -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 =

View File

@@ -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))

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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$$"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -9,5 +9,5 @@ EXE=.exe
TORNADO=YES
WIND_HOST_TYPE = x86-win32
WIND_HOST_TYPE = cygwin32

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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++

View File

@@ -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

View File

@@ -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++

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +0,0 @@
# APS override of tornado directory for ppc
#VX_DIR_YES = /usr/local/vw/tornado101ppc2

View File

@@ -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$
#

View File

@@ -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$
#

View File

@@ -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)/%: %

View File

@@ -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 $@

View File

@@ -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)

View File

@@ -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$
#

View File

@@ -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)

View File

@@ -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))

View File

@@ -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
#
#

View File

@@ -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$
#

View File

@@ -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

View File

@@ -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=../..

View File

@@ -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

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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
View 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
View 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*/

View File

@@ -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;

View File

@@ -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;

View File

@@ -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*/

View File

@@ -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);
}

View File

@@ -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>

View File

@@ -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=../..

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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")

View File

@@ -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=../..

View File

@@ -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

View File

@@ -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

View File

@@ -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";

View File

@@ -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;

View File

@@ -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