Compare commits

..

516 Commits

Author SHA1 Message Date
89dbcc1ccc avoid crash in vxWorks 6 when SNL name is long 2022-03-01 17:54:29 +01:00
3915c844ef disable compiler optimization section-anchors which caused problems in some SNL code 2022-03-01 14:47:48 +01:00
b8f2e72469 using (unnecessary) internal task flags fails in VxWorks 6 2022-03-01 14:44:34 +01:00
208dde05ed fix for SL6: make has no undefine 2022-02-17 16:55:55 +01:00
e7b0e072ce VxWorks 6.9 returns EISCONN when using sendto() with addr on TCP 2022-02-10 17:17:29 +01:00
75aa484a28 use git commit in version string if possible 2022-02-09 11:52:26 +01:00
afea9794a3 fix require VxWorks 6.9 compiler flags 2022-02-09 11:06:54 +01:00
911045f381 install header needed by iocmon module 2022-02-09 10:58:46 +01:00
f5df23b41f allow muitiple preprocessor lines at beginning of file 2022-02-09 10:57:48 +01:00
7198988be9 install headers needed by misc module 2022-02-07 11:07:24 +01:00
a536645042 don't build shared host libraries to avoid installing compatibility breaking libraries 2022-02-04 09:36:06 +01:00
542e9a79cf disable (unneeded) software incompatible with newer compilers 2022-02-04 09:36:06 +01:00
bfc70acdee Add cross compilation for VxWorks 6.9 2022-02-04 09:36:06 +01:00
6fcdcb625e make sure to build for 32 bit only as EPICS 3.13 is not 64 bit safe 2022-02-04 09:36:06 +01:00
3e11de6700 PSI preprocess rule 2022-02-04 09:36:06 +01:00
8add5e6d99 PSI config 2022-02-04 09:36:06 +01:00
zimoch
25eb8981d1 allow for variable system clock 2022-02-04 09:36:05 +01:00
zimoch
cdbeac4c8c SLS version of aai and aao. Main difference: record allocates buffer for array 2022-02-04 09:36:05 +01:00
Andrew Johnson
72fdd8bc2e Oops, off-by-one error... 2009-12-23 00:07:31 +00:00
Jeff Hill
414cb8d62c installed this fille which is needed by the VAXC compiler 2009-08-19 18:46:54 +00:00
Jeff Hill
e0106fd010 fixed vaxc compile error 2009-08-19 18:32:33 +00:00
Jeff Hill
0d0aa7de73 fixed vaxc compile error 2009-08-19 16:36:51 +00:00
Jeff Hill
6285f33fda fixed vms build syntax error 2009-08-19 14:58:11 +00:00
Andrew Johnson
e22fbab104 Changed DBF_DEVICE fix to use Marty's version. 2008-05-06 15:01:08 +00:00
Andrew Johnson
a184041ea0 US DST Rules changed in 2007... 2007-02-22 22:06:04 +00:00
Andrew Johnson
37c1049e47 Fixed off-by-one buffer overflow in dbFindField(). 2006-05-12 15:42:06 +00:00
Ralph Lange
ec9686d945 A bunch of changes suggested by G. Pfeiffer and B. Franksen (BESSY):
- option to find() so it follow links
- use of strict
- handle comments correctly when parsing RELEASE
2005-09-15 12:15:28 +00:00
Marty Kraimer
7009ea2784 change NTP sync code 2005-04-18 13:43:53 +00:00
Marty Kraimer
b307ef1746 drvTS changes 2005-04-18 13:41:42 +00:00
Andrew Johnson
e5461a72b0 Fix from Dirk Zimoch. 2004-06-03 23:12:35 +00:00
Janet B. Anderson
e54a016e9c Changing file back to R3-13-9 version. 2004-04-15 16:42:47 +00:00
Janet B. Anderson
5dc8213385 R3.13.10 2004-04-15 13:36:02 +00:00
Janet B. Anderson
6ce3e959ee Removed T22 definition. 2004-04-14 20:55:26 +00:00
Janet B. Anderson
731e413fe6 Put -nostdinc flag back. 2004-04-14 20:53:45 +00:00
Janet B. Anderson
f3086ac02f Added T22 to remove the switch -nostdinc from the compile line. 2004-04-14 20:26:12 +00:00
Andrew Johnson
bcaa5e05c3 Updates on my changes and some other fixes. 2004-04-13 23:11:54 +00:00
Ralph Lange
43028c644e Comment change. 2004-04-08 14:38:21 +00:00
Janet B. Anderson
5eabcef78c Added comments about INSTALL_LOCATION_APP 2004-04-07 14:19:12 +00:00
Janet B. Anderson
168e33b7b4 Added code to remove trailing white space and carriage return. 2004-04-06 17:53:41 +00:00
Andrew Johnson
51a1314f31 Should be using the tornado202p1 cross-compiler tools at APS. 2004-04-05 22:38:52 +00:00
Andrew Johnson
9fc20984ec Reorganized so the order in base.dbd and baseLIBOBJS files match.
Removed some drivers/devices which are no longer in base.
2004-04-05 22:15:02 +00:00
Andrew Johnson
565ec952fe Xycom Xy010 is prehistoric.
Bitbus driver was unbundled some time back.
The drvBitBus*.h files are needed for building drvGpib, and have been
updated to the latest unbundled versions.
2004-04-05 21:51:15 +00:00
Andrew Johnson
5bbf333ad3 createSoftLinks.sh was ancient history. 2004-04-05 21:45:01 +00:00
Andrew Johnson
9a99e447a8 Removed ancient devices that are no longer used. 2004-04-05 21:44:18 +00:00
Marty Kraimer
f3dfc7f4e9 conversion of double to float 2004-04-05 12:48:30 +00:00
Marty Kraimer
265597698e safeDoubleToFloat: handle 0.0 as special case 2004-04-05 12:36:34 +00:00
Marty Kraimer
64d9557d17 buf fix for seq_ca 2004-04-02 17:09:48 +00:00
Marty Kraimer
fcc317ccdf The sequencer did not properly keep track of number of channels connected.
It now checks if it is actually connected/disconnect before it increments/decrements the counts.
2004-04-02 17:09:23 +00:00
Andrew Johnson
15072fb71c Removed devBBInteract.c, use unbundled version. 2004-04-01 23:20:40 +00:00
Andrew Johnson
8828487ee7 Duplicate, also found in camacDev subdirectory. 2004-04-01 23:11:55 +00:00
Andrew Johnson
7304b138a2 drvVmic2534.c doesn't compile, so removed. 2004-04-01 23:10:10 +00:00
Ralph Lange
bff391d85c Enable '+=' extension of DEFAULT_SHRLIB_SEARCH_PATH 2004-03-23 11:09:06 +00:00
Ralph Lange
2619a00eee Minor fix for aCC 2004-03-18 17:38:08 +00:00
Janet B. Anderson
459cfe4cc6 Removed -nostdinc flag for Tornado 2.2 builds. 2004-03-17 21:59:29 +00:00
Janet B. Anderson
0dfef26c23 Set ANSI=GCC and CPLUSPLUS=G++ and removed extra definitions. 2004-03-17 21:33:45 +00:00
Janet B. Anderson
eaaeb78f3d Changed definition of WIND_HOST_TYPE to x86-linux. 2004-03-17 21:23:19 +00:00
Marty Kraimer
6f8ff1ea68 remove devXxDg535Gpib 2004-02-20 19:01:37 +00:00
Marty Kraimer
5942ff01c5 this is in share and has also been converted to 3.14 2004-02-20 18:59:35 +00:00
Marty Kraimer
13b19bade4 check for access security not started 2004-02-17 13:11:57 +00:00
Marty Kraimer
57a87ac96d The fields ZRST,...,FFST are now special(SPC_MOD) 2004-02-10 15:18:49 +00:00
Marty Kraimer
0b2771c5f4 make size of CALC 40 instead of 36 2004-02-10 15:15:37 +00:00
Marty Kraimer
5f2e18a009 access security changes 2004-02-10 15:04:12 +00:00
Marty Kraimer
16ac672973 add ascar 2004-02-10 14:52:46 +00:00
Marty Kraimer
797f2ae524 add copyright notice 2004-02-10 14:52:39 +00:00
Jeff Hill
8004aeb729 fixed release numbers 2004-02-05 23:30:22 +00:00
Jeff Hill
9835753cb6 added ca patch descriptions 2004-02-05 23:28:50 +00:00
Jeff Hill
4e1fd091ea fixed enobuf causes stuck send thread 2004-02-05 21:12:09 +00:00
Jeff Hill
7ad5347f7f getopt header install 2004-01-29 17:29:51 +00:00
Jeff Hill
74824c5ff2 added share lib slock 2004-01-29 01:44:22 +00:00
Andrew Johnson
1bda6aff08 Added getopt.c for WIN32 2004-01-28 23:40:35 +00:00
Andrew Johnson
461cac2e1d BSD version of getopt.c plus a suitable header file.
Not tested, but should build on Win32 - might need decorations though.
2004-01-28 23:38:17 +00:00
Janet B. Anderson
081a96160f Put shell command in line 1 2004-01-22 21:55:09 +00:00
Janet B. Anderson
886759cffa Fixed tab and comment spelling. 2004-01-22 21:54:05 +00:00
Janet B. Anderson
4abc96759d Fixed comment. 2004-01-22 20:55:34 +00:00
Andrew Johnson
e083f41963 Changed to the EPICS Open license as agreed with ANL Legal. 2004-01-09 16:00:48 +00:00
Janet B. Anderson
04998e378b Fixed bugs in .stt rule. 2003-12-12 15:44:53 +00:00
Janet B. Anderson
a97876092e Changed cvsroot from /net/phoebus to /usr/local. 2003-12-11 14:51:49 +00:00
Jeff Hill
56c7e2401f never use raw fork() to spawn the repeater 2003-11-26 00:19:24 +00:00
Andrew Johnson
a1cbc57cc0 These files contain GPL code, and not compatible with the EPICS Base license. I
don't care if this removal breaks the WIN32 port of EPICS, we can't legally
distribute this code as part of Base.  Someone will have to rewrite the getopt
functionality, or grab a version that is not GPL licensed (try BSD).
2003-09-16 17:58:20 +00:00
Andrew Johnson
2a5a175196 Removed WIN32 getopt.* (GPL) 2003-09-16 17:56:21 +00:00
Ralph Lange
319328d6fe aCC (native HPUX) does not define __STDC__ but __STDCPP__ (which is probably correct). 2003-08-22 11:30:43 +00:00
Ralph Lange
fd16d1bb65 aCC (native HPUX) wants some templated inlines to be defined in the declaration. 2003-08-22 11:28:02 +00:00
Janet B. Anderson
21ff7e5613 Create javalib and javalib/<package> directories only if JAVA is defined. 2003-08-20 16:30:04 +00:00
Janet B. Anderson
0940a35086 R3.13.9 2003-08-20 14:59:08 +00:00
Jeff Hill
f8f2b44c6c added notes on search message minimum period reset values 2003-08-19 21:33:56 +00:00
Andrew Johnson
0e182d8c1a dbExpand fix. 2003-08-18 21:29:00 +00:00
Andrew Johnson
4f659b6581 Fixed warning, main returns int (ANSI-C). 2003-08-18 21:19:32 +00:00
Andrew Johnson
bc03c1cca9 Don't create .dbd file if dbExpand fails. 2003-08-18 20:57:43 +00:00
Andrew Johnson
39cfb6b05a Only give exit status of 0=OK if we really mean it (Mantis bug #26) 2003-08-18 20:55:46 +00:00
Andrew Johnson
9cd9257c4a Brought in the enhanced vxStats device support in use at APS for >1 year. 2003-08-15 21:59:04 +00:00
Andrew Johnson
71d1b80224 Don't create the java install directory until something actually needs it! 2003-08-15 20:00:32 +00:00
Jeff Hill
0e47da7e57 fixed redundant logFdAdd deadlock message 2003-08-06 21:59:56 +00:00
Marty Kraimer
092746d36a more bug changes 2003-08-06 18:18:40 +00:00
Marty Kraimer
d55d54d235 more bug changes 2003-08-06 18:13:54 +00:00
Marty Kraimer
2d08f5abac put notify did not act properly if a record had disp=TRUE. 2003-08-06 18:12:40 +00:00
Marty Kraimer
54cc4cec31 A bug in dbGetLink resulted in nRequest not being given the value 0 if the
link is a constant link. This in turn caused the waveform record to always
set NORD=NELEM.
2003-08-06 18:11:57 +00:00
Marty Kraimer
0e0c2c7ac3 remove warning message 2003-08-06 18:04:40 +00:00
Marty Kraimer
9d1e7f7da4 Remove some dead code. Clean up code for handling A24 DMA memory. 2003-08-06 18:02:27 +00:00
Marty Kraimer
5a5a0fd0cc "event task" changed tp "event_task". 2003-08-06 17:56:36 +00:00
Marty Kraimer
9805e6a8e9 Suppress duplicate console message from logMsg 2003-08-06 17:54:26 +00:00
Marty Kraimer
fe55b04449 macParseDefns did not check for handle==NULL. The documentation for
macParseDefns was not correct.
2003-08-06 17:52:50 +00:00
Marty Kraimer
09733655f8 If a dbGetLink failed on one of the input links, dbGetLink
was not called for the remaining links. Now it is.
2003-08-06 15:15:18 +00:00
Marty Kraimer
9cbf577382 ellRemove=>ellDelete 2003-08-06 15:10:36 +00:00
Jeff Hill
94b408425b removed unused var 2003-07-30 22:00:49 +00:00
Jeff Hill
7347132973 fixed for scope 2003-07-30 21:59:27 +00:00
Jeff Hill
87c3103022 set close-on-exec flag 2003-07-30 21:49:45 +00:00
Jeff Hill
b11d547699 set close-on-exec flag 2003-07-30 21:32:36 +00:00
Janet B. Anderson
73c303192d Fixed sscanf format specification. 2003-07-29 20:55:41 +00:00
Jeff Hill
4cb08f797a removed logFdAdd from logClient 2003-07-26 00:28:30 +00:00
Jeff Hill
459cdc0829 removed logFdAdd from logClient 2003-07-26 00:13:34 +00:00
Jeff Hill
551e87f15d removed logFdAdd from logClient 2003-07-25 23:41:58 +00:00
Jeff Hill
e628e95d2c dont assert fail if getsockname returns bad status 2003-07-15 16:22:08 +00:00
Jeff Hill
68120ccb74 doc bug fix for assert fail when getpeername or getsockname return failure status 2003-07-15 16:21:27 +00:00
Jeff Hill
47b044d257 fixed client removal order bug 2003-07-02 20:55:31 +00:00
Jeff Hill
78ad1feec8 run the beacon thread one click higher in priority than the udp input
thread's priority. This should keep beacons regular when there is
a heavy search load because all ofthe hosts are connecting at once
2003-06-13 00:29:50 +00:00
Jeff Hill
ba6b7f6e21 set retry number to 4 when there is a beacon anomaly or when a
channel disconnects. This starts the searcch delay at .4 seconds
instead of at 0.25 seconds.
2003-06-13 00:27:27 +00:00
Jeff Hill
5c162ad7c3 installed 2003-05-13 20:38:57 +00:00
Jeff Hill
64fc54cbaa cleaned up junk 2003-05-13 20:37:17 +00:00
cvs2svn
a570a5c17f This commit was manufactured by cvs2svn to create branch 'B3.13'. 2003-05-01 23:18:33 +00:00
Janet B. Anderson
0048405ec0 Changes for OS X. 2003-05-01 13:51:25 +00:00
Andrew Johnson
c7c74a8aab Added scanPeriod() routine to convert a menuScan value into its period. 2003-04-02 20:47:21 +00:00
Janet B. Anderson
e1bfd021c1 Modified DBEXPAND rule. 2003-03-25 23:13:22 +00:00
Janet B. Anderson
ec827cb25f Bug fixes for sequencer *.stt build. 2003-03-13 17:02:22 +00:00
Marty Kraimer
b1dc7d2848 Use Andrew's changes as basis for bug Rin Sluiter found 2003-02-10 14:54:16 +00:00
Marty Kraimer
1994e47492 changes for calls to recfrom 2003-02-10 14:32:42 +00:00
Janet B. Anderson
ef610d2784 R3.13.8 2003-02-04 19:59:44 +00:00
Jeff Hill
7a85d0f66c updated for R3.13.8 2003-02-04 17:58:47 +00:00
Marty Kraimer
432d454e28 changes for 3.13.8 2003-02-04 17:04:21 +00:00
Janet B. Anderson
ebfd8538bc Removed some comment lines. 2003-02-03 21:29:18 +00:00
Janet B. Anderson
d6be272269 Updated version of java jdk. 2003-02-03 16:54:51 +00:00
Jeff Hill
f3ee15a96b fixed missing loop termination in db_cancel_event() when the event
queue is completely full
2003-01-28 17:56:15 +00:00
Janet B. Anderson
f690464dc0 Comented out GCC and G++ definitions. 2002-12-09 20:51:42 +00:00
Janet B. Anderson
3b1c83ed6b Added javadoc definitions and rules. Made other changes. 2002-12-06 17:52:56 +00:00
Janet B. Anderson
70d8342312 Set no cross targets as default. Changed tornado20 to tornado202. 2002-12-06 17:51:42 +00:00
Janet B. Anderson
71e3ea1a07 Solaris config file updates. 2002-12-06 17:50:42 +00:00
Janet B. Anderson
1450bdd32d Added comments for new targets. 2002-12-05 20:50:19 +00:00
Janet B. Anderson
92b552bf52 Added solarisGnu target for solaris builds with GNU compiler. 2002-12-05 20:47:54 +00:00
Janet B. Anderson
948d3e5f15 Added ppc60*_long targets. 2002-12-05 20:44:27 +00:00
Janet B. Anderson
5547db3bf0 Removed references to X11 libraries. 2002-12-05 20:41:47 +00:00
Jeff Hill
91755f9cfd fixed ca_msg_text[] not seen outside win32 dll 2002-11-13 20:15:46 +00:00
Jeff Hill
95670b8dc5 added missing epicsShareDef (should impact only the VAX) 2002-11-12 16:56:18 +00:00
Janet B. Anderson
b8ceff8342 Added comment line about -mlongcall cflag. 2002-10-22 22:27:47 +00:00
Janet B. Anderson
0e268963b7 Ignore LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 2002-10-18 21:47:01 +00:00
Janet B. Anderson
2c9f78350a Remove only build created .dbd files. 2002-10-18 15:57:32 +00:00
Janet B. Anderson
b18f2118f2 Allow arch_class specific prodname_objs. 2002-09-16 22:09:11 +00:00
Janet B. Anderson
9794d68fcb Added comment about supporting sbs_pc6. 2002-09-16 22:05:27 +00:00
Janet B. Anderson
f33b1d6989 Fixed line break. 2002-09-16 22:03:47 +00:00
Jeff Hill
a335ff38a2 installed 2002-09-10 15:37:26 +00:00
Jeff Hill
c4f2c23246 attempt to fix GNU builds correctly for all versions of solaris 2002-07-25 23:35:56 +00:00
Janet B. Anderson
34b24889cc R3.13.7 2002-07-25 17:27:00 +00:00
Janet B. Anderson
4f383d1bca Updates for R3.13.7. 2002-07-24 20:27:53 +00:00
Janet B. Anderson
9257e2b295 Changed makeStatSymTbl.pl to makeStatTbl.pl 2002-07-24 20:27:11 +00:00
Janet B. Anderson
c66e10e725 Changes for R3.13.7 2002-07-24 20:26:22 +00:00
Janet B. Anderson
5b2af16fad Moved epics/startup files to base/startup directory. 2002-07-24 18:39:15 +00:00
cvs2svn
fd289990db This commit was manufactured by cvs2svn to create branch 'B3.13'. 2002-07-24 18:39:14 +00:00
Janet B. Anderson
5600501e7b Removed log messages. 2002-07-24 14:47:43 +00:00
Jeff Hill
01f16118ac provide noop casCoreClient::eventSignal() to be called if they post events
while in the casStrmClient destructor
2002-07-24 00:26:10 +00:00
Jeff Hill
e68384b7e2 use specified port if it isnt provided in the interface address list 2002-07-22 16:53:58 +00:00
Marty Kraimer
325548b80f UDF how has a promptgroup.
This allows database configuration tools to mset UDF false.
2002-07-22 13:11:29 +00:00
Marty Kraimer
b8600aab3e add a couple. Fix conflicts. 2002-07-22 13:08:07 +00:00
Marty Kraimer
fc39d4f879 Field VAL now has a cvt_dbaddr method.
If no state strings are defined then the field type is declared USHORT.
2002-07-22 13:05:23 +00:00
Janet B. Anderson
9800be7c04 Removed old copyright comments. 2002-07-15 22:01:28 +00:00
Janet B. Anderson
7b250b9ec9 Removed Log history comments. 2002-07-15 21:51:02 +00:00
Janet B. Anderson
7aa6a39955 Moved shell command to top line. 2002-07-12 22:31:30 +00:00
Janet B. Anderson
1a59789871 Updated license comments. 2002-07-12 22:19:52 +00:00
cvs2svn
522e46036d This commit was manufactured by cvs2svn to create branch 'B3.13'. 2002-07-12 21:35:44 +00:00
Janet B. Anderson
053cfb39df Commented out pid record, symb and devPtSoft. 2002-07-11 19:36:25 +00:00
Jeff Hill
8195098e49 doc ca put callback bug in R3.13.6 2002-06-24 15:44:00 +00:00
Janet B. Anderson
2ad833fd1f Changed dir to EPICS_BASE_HOST_BIN. 2002-06-12 14:21:09 +00:00
Jeff Hill
69d504a657 fixed race condition occuring when a put notify is canceled by a ca clear channel
at the same instant that it completes
2002-05-29 15:07:31 +00:00
Jeff Hill
d5c5baad83 fixed race condition occuring when a put notify is canceled by a ca clear channel
at the same instant that it completes
2002-05-28 23:49:31 +00:00
Jeff Hill
795cb4c46d fixed ellFree cause malloc and free to be in different win32 dlls 2002-05-28 18:42:32 +00:00
Jeff Hill
5d8742632b fixed isinf() implementation 2002-05-28 18:37:34 +00:00
Marty Kraimer
979ce1be90 remove printf 2002-05-17 16:02:35 +00:00
Marty Kraimer
5c3da28b5e Change croteria for setting eoff=egul 2002-05-17 16:02:02 +00:00
Marty Kraimer
e3f52845d0 better diagnostic message 2002-05-17 15:56:49 +00:00
Marty Kraimer
2bd00b3e41 fix CA puts to disabled record 2002-05-17 15:53:56 +00:00
Marty Kraimer
06a0fa1708 better code for isinf 2002-05-17 15:47:50 +00:00
Marty Kraimer
3c76d41b70 support special_linconv for ai and ao 2002-05-17 15:43:37 +00:00
Janet B. Anderson
ad81dee1a1 Fix for static builds. 2002-05-06 20:16:00 +00:00
Andrew Johnson
a4ca46b051 Added cache handling so the NI-1014 works on MC68060-based boards. 2002-04-17 21:56:48 +00:00
Marty Kraimer
b94329db3f support nan and inf 2002-04-11 15:51:14 +00:00
Marty Kraimer
6d427b7b8b epicsMath.h support isnan and isinf 2002-04-11 15:50:27 +00:00
Marty Kraimer
5aff3b2d44 allow for nan and inf 2002-04-11 15:49:24 +00:00
Marty Kraimer
9ada9d9630 Several change for R3.13.7 2002-04-08 15:07:20 +00:00
Marty Kraimer
2cbee21119 It was possible for calcPerform to return a nan (not a number) 2002-04-08 15:03:06 +00:00
Marty Kraimer
cd6f33ef27 nsev not sevr must be checked 2002-04-08 14:55:13 +00:00
Marty Kraimer
4434ba4d6e TPRO did not work if dbProcess called recursively by different tasks 2002-04-08 14:41:00 +00:00
Marty Kraimer
69ffb18e7a dbb failed while taking recursive lock 2002-04-08 14:39:08 +00:00
Marty Kraimer
347fed2bad Fix failure for TSconfigure(0,0,0,0,0,0,1) 2002-04-08 14:38:09 +00:00
Jeff Hill
365243a2b0 set SOLARIS macro to the solaris version 2002-03-27 23:35:09 +00:00
Jeff Hill
355d2b0f42 made osiSocklen_t switch on the solaris os version 2002-03-27 23:29:53 +00:00
Jeff Hill
6a663c83c5 made osiSocklen_t switch on the solaris os version 2002-03-27 00:52:51 +00:00
Jeff Hill
57476bb56a made osiSocklen_t switch on the solaris os version 2002-03-27 00:26:32 +00:00
Jeff Hill
b99c4d2f6c removed declaration for gethostname 2002-03-26 23:05:52 +00:00
Jeff Hill
ca76aa0524 removed c++ style comment (ifdefed out for C but still a source of warnings) 2002-03-25 23:37:14 +00:00
Marty Kraimer
dcf48cea38 putNotify bug 2002-03-15 15:30:59 +00:00
Marty Kraimer
a2fad6e62e when moving restart list remove new owner from it 2002-03-15 15:24:31 +00:00
Janet B. Anderson
2054e9299a Modified comments containing jba overrides. 2002-03-14 22:39:45 +00:00
Jeff Hill
6a3ddb3076 more descriptions of CA problems 2002-03-14 16:58:29 +00:00
Jeff Hill
094a79fcd0 fixed put notify shutdown during channel delete 2002-03-14 01:13:58 +00:00
Jeff Hill
a29cf1b411 cosmetic 2002-03-13 22:10:16 +00:00
Jeff Hill
36a977becd improved put notify cleanup when client terminates 2002-03-13 22:07:58 +00:00
Jeff Hill
73f35c8167 improved put notify cleanup when client hangs up 2002-03-13 22:04:52 +00:00
Jeff Hill
47bbac99ce better message 2002-03-13 21:58:15 +00:00
Jeff Hill
e6850d62db fixed put notify cleanup during shutdown 2002-03-13 18:32:36 +00:00
Janet B. Anderson
567b220ea7 epics_R3_13_6 2002-03-13 14:44:06 +00:00
Marty Kraimer
ab090ce4ea print strerror(errno) 2002-03-13 13:14:47 +00:00
Jeff Hill
b8553b00d8 fixed dangling extra labor after extra labor flush 2002-03-12 23:48:36 +00:00
Marty Kraimer
27f82a6284 add notes for R3.13.6 2002-03-11 13:23:47 +00:00
Jeff Hill
af570b2b23 updated release notes with info describing fixes for CA related problems 2002-03-08 21:32:31 +00:00
Marty Kraimer
87bfe60ee7 All existing manipulations of UDF in process() are removed and one udf is set FALSE when the raw value is successfully read. 2002-03-08 15:26:19 +00:00
Marty Kraimer
a778863602 In do_sel udf is not set false at the beginning. If selm has an invalid value recGblSetSevr(psel,SOFT_ALARM,MAJOR_ALARM) is called. 2002-03-08 15:25:43 +00:00
Marty Kraimer
3916d4e459 change authors 2002-03-08 15:22:12 +00:00
Marty Kraimer
aecaf46c53 IrqVector must be multiple of 4 2002-03-08 15:21:30 +00:00
Marty Kraimer
a33f03c6ea initialProcess is now called before interruptAccept 2002-03-08 15:19:14 +00:00
Marty Kraimer
866a410f23 fix ellList errors 2002-03-08 15:18:26 +00:00
Marty Kraimer
f67bdb4668 double 0 to float conversion was incorrect 2002-03-08 14:59:01 +00:00
Marty Kraimer
8973bbdc3a some changes for R3.13.6 2002-03-08 13:38:01 +00:00
Jeff Hill
0fb4075a62 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.
2002-03-08 00:25:08 +00:00
Jeff Hill
bedbab8965 check for floating point in correct place 2002-03-08 00:16:27 +00:00
Jeff Hill
a82f4c4c43 dont allow canceled events to use up queue pad for first event 2002-03-08 00:15:51 +00:00
Janet B. Anderson
3ee0ea750a Added touch.pl for WIN32 builds (needed for newest cygwin make). 2002-03-07 23:21:01 +00:00
Janet B. Anderson
717384dbdb Define HOME if not alread defined. 2002-02-15 15:33:59 +00:00
Janet B. Anderson
a06a26bf2d Changed subst to patsubst in the DLL_LIBS definition. 2002-02-14 23:36:42 +00:00
Jeff Hill
34e5e5432b workaround for CONNRESET error from disconnected socket on windows 2002-02-07 18:49:16 +00:00
Marty Kraimer
cc5791cbbd change stack size 2002-01-22 16:00:28 +00:00
Andrew Johnson
fb22efdc54 Applied PPC patch from APS local version R3.13.2-asd2 that got missed out
of R3.13.5
2002-01-15 21:58:03 +00:00
Marty Kraimer
b74047a296 see tech-talk message from Noboru Yamamoto Nov 2001 2002-01-07 14:49:15 +00:00
Janet B. Anderson
e573033c7e Removed unused references to VX_CONFIG_DIR. 2001-12-06 21:30:39 +00:00
Janet B. Anderson
d121fb00a7 Added comments for jba crosscompiler. 2001-12-06 21:24:40 +00:00
Marty Kraimer
b9b5e7f826 dbCaGetLink must return -1 when sevr = INVALID 2001-11-16 14:15:03 +00:00
Janet B. Anderson
2582f37da0 Fix for DLL_LIBS. 2001-10-11 21:22:56 +00:00
Janet B. Anderson
e1c108b14a Added basename. 2001-10-01 17:52:43 +00:00
Janet B. Anderson
fbf3e7630a Fix shared libraries build bug. 2001-09-21 18:22:44 +00:00
Jeff Hill
2d298e60c2 dont use bool - early compilers dont support it 2001-09-20 22:43:14 +00:00
Jeff Hill
fbabce651f dont deadlock if ca_clear_event() is in event cb 2001-09-20 17:44:27 +00:00
Janet B. Anderson
ea1d5039e8 Added SRCS for PRODs. 2001-09-19 14:44:01 +00:00
Janet B. Anderson
64cbf3ce00 Added SRCS for ascheck. 2001-09-19 14:42:43 +00:00
Janet B. Anderson
9a99bb114f Added SRCS for caRepeater. 2001-09-19 14:41:56 +00:00
Janet B. Anderson
a6a395861e SRCS needed for lib depends to work. 2001-09-19 14:17:58 +00:00
Janet B. Anderson
804f240d05 Updated for R3.13.5. 2001-09-19 14:14:15 +00:00
Janet B. Anderson
8a477f7f95 Updates for R3.13.5 2001-09-19 14:06:15 +00:00
Janet B. Anderson
8a93905515 Updates for R3.13.5 2001-09-18 22:05:47 +00:00
Janet B. Anderson
d401dcdfab R3.13.5 - update for win32 2001-09-18 18:11:11 +00:00
Marty Kraimer
d56ca7f02e changes for R3.13.5 2001-09-18 15:49:53 +00:00
Janet B. Anderson
b1725b380b R3.13.5 2001-09-18 14:58:15 +00:00
Marty Kraimer
70d0303f78 A link is made a constant if either strtod or strtol eats entire string.
Previously only strtod was used.
2001-09-18 12:52:21 +00:00
Marty Kraimer
5a83c766e8 If prompt is null it is now made a null string.
Last breakpoint interval is now given a value.
2001-09-18 12:48:11 +00:00
Marty Kraimer
f3b833912f recGblInitConstantLink uses %i instead of %u for unsigned types.
This is so that hex constants are accepted. %u does not accept hex.
2001-09-18 12:42:44 +00:00
Marty Kraimer
bdc546a8c3 Now uses osiSock for to handle implementation diffences. 2001-09-18 12:25:01 +00:00
Marty Kraimer
c02d807a3d increased stack size for cac_recv_task from 4096 to 8192 2001-09-18 12:17:48 +00:00
Andrew Johnson
5cba098b1b Replaced makeConfigAppInclude.pl and makeIocCdCommands.pl with
convertRelease.pl, added rules to do a checkRelease on build.
2001-09-14 19:39:17 +00:00
Marty Kraimer
ed5d521400 resolve conflicts with Jeffs commit 2001-09-10 13:07:11 +00:00
Jeff Hill
360fca950d removed ifdef on GNUC 2001-09-05 15:10:11 +00:00
Andrew Johnson
511e0f3ed6 Changes to get working on PowerPC - struct alignment issues mainly,
plus a problem with the maximum message length check...
Also removed lots of warnings, although this was a bit of a waste of time.
2001-08-30 21:16:48 +00:00
Jeff Hill
1959f42c41 fixed my dreadful spelling 2001-08-27 21:26:03 +00:00
Jeff Hill
f1d8472118 added CA server bug info 2001-08-27 21:20:44 +00:00
Jeff Hill
8d4adef787 fixed event clear while flow control is running deadlock 2001-08-27 20:38:46 +00:00
Janet B. Anderson
560e9d5bf2 Added SRCS.c and SRCS.cc to depends dependancies. 2001-08-27 18:57:10 +00:00
Janet B. Anderson
3eaa0b0e9c R3-13-5-beta-1 2001-08-27 18:54:45 +00:00
Janet B. Anderson
c78c305dde Added compiler -w warning options. 2001-08-27 18:52:25 +00:00
Janet B. Anderson
def5fcf7c2 Only execute depends command if there are source files. 2001-08-20 17:23:24 +00:00
Janet B. Anderson
c4a14a940d Added depends rule. 2001-08-20 16:36:50 +00:00
Janet B. Anderson
9d4540bf96 Added SRCS line - necessary for depends rule. 2001-08-20 16:24:37 +00:00
Andrew Johnson
55422049a5 Removed spurious menuLinr.dbd (LINR uses menuConvert found in src/bpt). 2001-08-17 22:30:59 +00:00
Andrew Johnson
41263e4136 Removed special_linconv() routines, ESLO and EOFF can be set manually. 2001-08-17 22:15:59 +00:00
Andrew Johnson
631f522d75 ESLO and EOFF are now design fields, usable when no device support
special_linconv() routine is provided (for Raw Soft support).
Value changes by device support also cause CA monitors to be posted.
2001-08-17 22:14:15 +00:00
Marty Kraimer
006c7eda64 VAL has promptgroup 2001-08-16 15:36:17 +00:00
Marty Kraimer
83420814a0 VAL has promptgroup; ESLO,EOFF user modifable 2001-08-16 15:35:55 +00:00
Marty Kraimer
ef15667182 change INVALID to MAJOR 2001-08-16 15:34:14 +00:00
Andrew Johnson
405fff7f58 Fixed comment about disabling VBTO on 68K boards. 2001-08-06 22:31:33 +00:00
Marty Kraimer
54fee9f016 change default precision from 0 to 6 2001-07-10 18:29:34 +00:00
Janet B. Anderson
9e451e8f32 Moved +DAportable to compiler dependant options. 2001-06-26 16:14:36 +00:00
Jeff Hill
11fb4abef3 accomodate ppc 2001-06-25 21:38:03 +00:00
Jeff Hill
6a8ad88933 this file should not be in R3.13. It is probably showing up
there due to persons directly manipulating files in CVS root?
2001-06-25 21:35:29 +00:00
Janet B. Anderson
7e9882e62d Don't try to create directory if symbolic link of same name exists. 2001-06-25 19:28:11 +00:00
Marty Kraimer
50e67354ce bug that causes dbNotifyCancel to timeout 2001-06-21 12:58:09 +00:00
Marty Kraimer
bfb770040e changes for 3.13.5 2001-06-20 16:19:28 +00:00
Marty Kraimer
a7cbe6320c Improved algorithm for cpuUsage 2001-06-20 16:12:15 +00:00
Marty Kraimer
930f5d64ec DBF_FLOAT fields have been replaced by DBF_DOUBLE
DBF_FLOAT fields have been replaced by DBF_DOUBLE
2001-06-20 16:05:37 +00:00
Marty Kraimer
adb2d574a3 size was wrong 2001-06-20 15:59:02 +00:00
Marty Kraimer
9875370d92 change double to float 2001-06-20 15:58:26 +00:00
Marty Kraimer
558e7a3947 inplement safeDoubleToFloat 2001-06-20 15:29:43 +00:00
Marty Kraimer
3a74d55e6c replace epicsPrintf by errlogPrintf; suppress some messages 2001-06-20 15:27:56 +00:00
Marty Kraimer
cd0cf5f214 A bug was fixed that was related to dynamically changing lock sets.
The record support put_array_info is called after the a put only if the put is successful.
2001-06-20 14:09:37 +00:00
Janet B. Anderson
4aa81c5344 Die if rmtree fails. 2001-06-08 20:36:54 +00:00
Andrew Johnson
55a9e3b202 Added NICPU030 precompiler definition, needed for drvEpvxi.c on this board. 2001-06-07 21:33:25 +00:00
Andrew Johnson
cf08dffbe3 Added support for PowerPC, fixed a few things.
This file now builds without the NI cpi030 support by default, if you need
this you'll have to uncomment the #define, or add a suitable macro to the
arguments of the compiler such as  -DNICPU030
2001-06-07 21:05:45 +00:00
Jeff Hill
83e5824c82 better config of ifconfig differences 2001-05-23 21:39:28 +00:00
Janet B. Anderson
b4a3060bcc Added missing calls to recGblGetGraphicDouble and recGblGetControlDouble. 2001-05-08 20:02:31 +00:00
Andrew Johnson
359cac2a7a Don't crash if no hardware present... 2001-04-06 15:22:17 +00:00
Jeff Hill
932ee82378 fixed task names with spaces 2001-03-22 20:58:43 +00:00
Janet B. Anderson
54f8c4b16e Removed .PHONY declarations. 2001-03-12 15:36:09 +00:00
Janet B. Anderson
c869181371 Updated comments. 2001-03-07 19:28:59 +00:00
Janet B. Anderson
e9a73b4672 Math lib removed. -fPIC options removed. 2001-03-07 18:55:23 +00:00
Janet B. Anderson
4810331f30 Changes for cygwin32 build. 2001-03-07 16:25:24 +00:00
Janet B. Anderson
a45cccca31 Changes for cygwin32 build. 2001-03-07 16:00:48 +00:00
Janet B. Anderson
dec31ae490 Initial version. 2001-03-07 15:43:01 +00:00
Janet B. Anderson
af758921ca Changes for DLL_LDLIBS. 2001-03-06 21:56:13 +00:00
Janet B. Anderson
f26211bc90 Set WIND_HOST_TYPE to x86-win32. 2001-03-06 21:53:10 +00:00
Janet B. Anderson
4c4eeee2d1 Added ifdef CPLUSPLUS again to linker definition. 2001-03-06 21:30:59 +00:00
Jeff Hill
ff21da6b48 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:33:50 +00:00
Jeff Hill
743edfea17 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:24:42 +00:00
Jeff Hill
d030dc6c79 fixed R3.13 for Linux's new socklen_t 2001-03-06 00:22:53 +00:00
Jeff Hill
602510cef7 fixed new dependence on socklen_t in Linux 2001-03-06 00:21:35 +00:00
Jeff Hill
f04f56750a fixed R3.13 for Linux's new socklen_t 2001-03-06 00:10:29 +00:00
Jeff Hill
9b6d834852 made compatible again with R3.11 2000-12-18 23:35:20 +00:00
Janet B. Anderson
443228c030 R3-13-4 2000-12-15 15:52:33 +00:00
Janet B. Anderson
1782f96fdf Initial version. 2000-12-14 21:27:38 +00:00
Janet B. Anderson
ecfc4209a5 Added vpath for .cpp files. 2000-12-14 16:20:37 +00:00
Janet B. Anderson
9392890198 Added *.cpp c++ source file compilation rule. 2000-12-14 16:00:58 +00:00
Marty Kraimer
07d184b7cf notes for 3.13.4 2000-12-14 14:20:56 +00:00
Marty Kraimer
703c3a838f changes for asTrapWrite 2000-12-11 15:46:14 +00:00
Marty Kraimer
1fca6cb348 Look for delta=0x80000000 2000-12-11 15:44:32 +00:00
Marty Kraimer
983ec9605c VAL and all related fields are now DBF_DOUBLE instead of DBF_LONG
SELM, SELN, and SELL are now available. They have same semantics as for fanout record
PREC is now supported.
IVOA and IVOV are no longer present. The record support never used them.
2000-12-11 15:38:49 +00:00
Marty Kraimer
8289ea132c changes for asTrapWrite 2000-12-11 15:36:25 +00:00
Marty Kraimer
5d19a030a8 initialize graphic, control, alarm limits to 0 2000-12-11 15:30:59 +00:00
Marty Kraimer
105f1107f1 add catime.o 2000-12-11 15:24:59 +00:00
Janet B. Anderson
c83434b82a Added Linux to LD_LIBRARY_PATH comment. 2000-12-01 20:49:32 +00:00
Jeff Hill
a1d0bfda5a changes from Ken Evans 2000-11-30 22:07:51 +00:00
Jeff Hill
d0f57e2c5b undefine debug macro and properly fetch source address
with Tornado II
2000-11-30 19:27:49 +00:00
Marty Kraimer
e0444c15cf make sure TSinit gets called 2000-11-10 22:00:26 +00:00
Jeff Hill
20b4796d5b if the server does not supply the beacon address then supply it in
the repeater
2000-11-09 16:31:33 +00:00
Jeff Hill
1c546579c0 avoid undefined symbols on certain Tornado II BSPs 2000-11-09 16:23:46 +00:00
Janet B. Anderson
97e0200a96 Added Borland definition and removed need for LIB env var. 2000-11-09 16:14:19 +00:00
Jeff Hill
bfead72b3f fixed unspecified beacon source address 2000-11-09 16:13:05 +00:00
Janet B. Anderson
a8cef4a3f3 Commented out drvEpvxi.o, drvEpvxiMsg.o, and drvHp1404a.o. 2000-11-09 16:01:28 +00:00
Jeff Hill
c07663f336 use ( (void ) 0 ) instead of just (void) 2000-11-08 20:24:42 +00:00
Jeff Hill
d26b946bcd assert must return void 2000-11-07 19:40:40 +00:00
Jeff Hill
2bbd8e82f0 protect against claim msgs processing after IOC disconnects 2000-11-03 23:05:13 +00:00
Jeff Hill
01b9401694 protect against claim msgs processing after IOC disconnects 2000-11-03 22:15:44 +00:00
Janet B. Anderson
d8707e17d7 Added ppc603 and CONFIG_SITE files for Linux build. 2000-10-31 20:37:43 +00:00
Andrew Johnson
ee118b800e Fixed TSgetMasterTime() bug - round-trip adjustment was garbage
Replaced TSprintf() with printf() where logging inappropriate
2000-10-12 15:47:13 +00:00
Janet B. Anderson
08b3fba1d2 Added os include file dirs. 2000-10-10 15:36:49 +00:00
Janet B. Anderson
da1359e352 Fix for timespec register problem. 2000-10-02 18:07:35 +00:00
Jeff Hill
357a58a976 fixed improper status test for ellFind 2000-09-12 18:39:27 +00:00
Jeff Hill
4dfcfb92d3 fixed alignment bug check on hosts that have 64 bit longs 2000-08-29 20:03:04 +00:00
Robert Soliday
d387f10f98 This file overwrites an older version that was commited by mistake. 2000-08-21 20:20:25 +00:00
Ralph Lange
0ec95fe1d7 MODULO bug (range was limited to short int) fixed. 2000-08-09 13:51:08 +00:00
Jeff Hill
a25736f934 removed all "CMPLR=STRICT" and "CXXCMPLR = SRICT"
from R3.13 patch branch makefiles
2000-07-18 15:15:09 +00:00
Janet B. Anderson
489cda3f4a Updated supported architecture lists. 2000-07-17 21:35:40 +00:00
Janet B. Anderson
cc04722d6f Fix for crosscompiler using wrong assembler. 2000-07-14 18:14:51 +00:00
Jeff Hill
5f8f321cba fixed missing type in static init 2000-07-13 23:37:24 +00:00
Jeff Hill
67da742a41 removed log 2000-07-12 22:04:37 +00:00
Jeff Hill
18dbd6153f fixed DLL export for the Borlund build 2000-07-11 01:30:10 +00:00
Jeff Hill
67c073dd50 better test for VMS 2000-07-10 18:59:09 +00:00
Marty Kraimer
07793f462b latest notes 2000-07-10 18:24:15 +00:00
Janet B. Anderson
e12e6c5511 epics_R3_13_3 2000-07-10 18:20:58 +00:00
Ralph Lange
12bd694be3 Bugfix: Changed RVAL/ROFF conversion to use double arithmetics 2000-07-07 18:15:30 +00:00
Janet B. Anderson
3a833feb34 Removed changes made for extensions until wildcard problems are resolved. 2000-07-07 15:23:42 +00:00
Jeff Hill
c2096fee0f added DLL export to destructor 2000-07-06 15:21:34 +00:00
Janet B. Anderson
368eb29e24 Changes for Borland compiler. 2000-07-06 14:16:15 +00:00
Marty Kraimer
59252092fc modify note about Borland c++ 2000-07-06 12:55:10 +00:00
Marty Kraimer
466cdaf012 more notes for 3.13.3 2000-07-05 15:22:48 +00:00
Janet B. Anderson
7948ab440f Added target ppc604, changed default to tornado20, added option to
install all include files firs.
2000-07-05 14:31:19 +00:00
Janet B. Anderson
177224595a Commented out tornado101 dir. 2000-07-05 14:30:12 +00:00
Janet B. Anderson
5b61fb0a92 Added option to install all include files first. 2000-07-05 14:13:05 +00:00
Janet B. Anderson
32f6dc1070 Added RMDIR definition. Removed uninstall's dependancy on bootstrap. 2000-07-03 19:16:16 +00:00
Janet B. Anderson
871a0d2f5b Changed company name. 2000-06-30 19:51:35 +00:00
Janet B. Anderson
8f1b6b071b Initial version. 2000-06-30 19:51:02 +00:00
Marty Kraimer
2ea7efe2ea dont give value for SHARE 2000-06-30 15:13:01 +00:00
Marty Kraimer
789ad68afd allow put callback for ACKT and ACKS 2000-06-30 14:07:38 +00:00
Marty Kraimer
cfc8647108 notes for 3.13.3 2000-06-29 13:42:43 +00:00
Jeff Hill
5ed27edaa3 m_type => m_dataType 2000-06-28 22:52:15 +00:00
Jeff Hill
1adff7f6c7 updated to support new BSD network interface query API 2000-06-28 16:33:51 +00:00
Marty Kraimer
c71cbc4f36 remove blank from task name 2000-06-28 15:48:43 +00:00
Jeff Hill
c8029c6597 changed "m_type" to "m_dataType" in order to avoid collision
with MACRO supplied by WRS's Tornado II product
2000-06-28 15:41:19 +00:00
Marty Kraimer
15ba66a654 fix include statements 2000-06-28 14:09:41 +00:00
Marty Kraimer
ebc676aea6 no imbeded blanks in task names 2000-06-28 14:00:23 +00:00
Marty Kraimer
e8a396074c make tsStampFromLocal and tsStampToLocal public 2000-06-28 13:56:14 +00:00
Marty Kraimer
335fc3aaee monitor if either the STAT or SEVR changes 2000-06-28 13:40:50 +00:00
Marty Kraimer
77049dd60d fix bad definition 2000-06-28 13:39:38 +00:00
Marty Kraimer
903c568990 add new convience routines 2000-06-28 13:37:36 +00:00
Ralph Lange
21f9ce34ff Bugfix in HPUX shared lib link options 2000-06-22 17:20:55 +00:00
Janet B. Anderson
ce0f7e1fc3 Added -m68040 to cflags. 2000-06-22 16:22:02 +00:00
Janet B. Anderson
6421264b9e Removed extra references to install. 2000-06-20 19:17:54 +00:00
Janet B. Anderson
4d04a3bda1 Moved the execution of the cleandirs rule. 2000-06-20 19:04:21 +00:00
Ralph Lange
b2da4eed3e Fix for aCC depends rule 2000-06-14 14:22:51 +00:00
Janet B. Anderson
2853eb9066 Cpu family specification not necessary if cpu is specified. 2000-06-09 15:29:32 +00:00
Ralph Lange
af7ae9694f Bugfix: -include only with Tornado 2000-06-09 14:23:37 +00:00
Ralph Lange
a2df5adfae Add for shared libs under HPUX / aCC 2000-06-09 14:18:36 +00:00
Ralph Lange
e49648170e Bugfix for shared libs under HPUX / aCC 2000-06-09 13:59:28 +00:00
Janet B. Anderson
6272f98eef Added fields drvl and drvh. 2000-05-31 18:33:52 +00:00
Janet B. Anderson
b520b21015 Added rules for java header file creation. 2000-05-15 14:31:37 +00:00
Janet B. Anderson
0cace42008 Modified win32 def file flag. 2000-05-09 20:50:25 +00:00
Janet B. Anderson
dedc7c00a0 Added win32 resource file. 2000-05-09 20:45:21 +00:00
Janet B. Anderson
9caa93a5aa Added win32 resource file. Removed some lines from ca.def. 2000-05-09 20:43:32 +00:00
Janet B. Anderson
67ba2be514 Added win32 resource file. 2000-05-09 20:29:45 +00:00
Janet B. Anderson
0e9a80746b Added win32 resource files. 2000-05-09 20:29:12 +00:00
Janet B. Anderson
840cb1154d Changes for win32 resource files. 2000-05-09 20:09:57 +00:00
Janet B. Anderson
b41c25c31a Modified config files to get rid of inc build step. 2000-05-08 18:11:33 +00:00
Janet B. Anderson
5c084c6ca7 Moved header files and changed Makefiles to get rid of inc build step. 2000-05-08 18:10:20 +00:00
Janet B. Anderson
3eca7fcc87 Set LD_LIBRARY_PATH for shared library builds 2000-05-08 14:42:29 +00:00
Janet B. Anderson
065a7eb4e7 Added definitions for EPICS_BASE_HOST_LIB and INSTALL_HOST_LIB. 2000-05-08 14:40:49 +00:00
Janet B. Anderson
64eb66f6d8 Changed /cs/op/lib to /cs/lib. 2000-04-25 20:46:44 +00:00
Janet B. Anderson
9c5f9df16b Added include directories to RCCMD definition. 2000-04-25 20:32:29 +00:00
Janet B. Anderson
5b33376c9f Added CCC_SHRLIB flag definitions. 2000-04-25 20:31:24 +00:00
Janet B. Anderson
1287657634 Always use c++ linker. Shrlib flags now from CXX definitions. 2000-04-25 20:30:06 +00:00
Janet B. Anderson
0697f3d609 Updates to changes from Chris Larrieu for hp700 build. 2000-04-25 20:27:23 +00:00
Janet B. Anderson
3ef5dd4365 Changes from Chris Larrieu for hp700 build. 2000-04-25 18:51:20 +00:00
Janet B. Anderson
022d8cbef2 Changes from Chris Larrieu for hp700 build. 2000-04-25 18:45:47 +00:00
Janet B. Anderson
a8905acdaf Borland build file from Bob Soliday. 2000-04-17 16:27:51 +00:00
Janet B. Anderson
96f1563b75 Removed Borland build debugging prints. 2000-04-11 20:35:07 +00:00
Janet B. Anderson
0457e9fb20 Removed include of module_types.h. 2000-04-11 20:25:00 +00:00
Janet B. Anderson
af2f551e58 Added changes for Borland compiler buld. 2000-04-11 20:17:25 +00:00
Janet B. Anderson
004854183e Added changes for Borland win32 build. 2000-04-11 20:12:33 +00:00
Janet B. Anderson
d8117bc035 New files for Borland win32 build. 2000-04-11 20:07:40 +00:00
Janet B. Anderson
bc9ab2acb3 Added Borland changes. 2000-04-11 20:05:48 +00:00
Janet B. Anderson
1f972cfa3d Library build now depends on Makefile.Vx. 2000-04-05 19:10:06 +00:00
Janet B. Anderson
09931eaec6 Include of vxWorks.h needed for tornado2. 2000-03-29 19:57:25 +00:00
Janet B. Anderson
0caf235b4a Changed header include lines enclosures to quote marks. 2000-03-29 15:15:29 +00:00
Janet B. Anderson
280b396b51 Removed commented out USER_DBDFLAGS definition. 2000-03-29 15:12:39 +00:00
Janet B. Anderson
e5ecba33cf Fix uninstall rule for WIN32. 2000-03-28 21:06:12 +00:00
Janet B. Anderson
71a3df9d04 Replaced double slashes with single slash. 2000-03-28 18:56:14 +00:00
Janet B. Anderson
ebd17b7918 Fix for vx headers using macros in vxWorks.h and not including vxWorks.h. 2000-03-28 16:15:07 +00:00
Janet B. Anderson
b9b7da40ac Turn on debugging option when VX_OPT=NO. 2000-03-27 21:01:10 +00:00
Janet B. Anderson
99e36b6dd1 Added -fPIC -D_REENTRANT for gnu compiler builds. 2000-03-21 19:03:51 +00:00
Janet B. Anderson
ee9d4a4d0d Added -D_REENTRANT for vx builds. 2000-03-21 19:03:18 +00:00
Jeff Hill
3435e0c38a added const to string table 2000-03-09 17:36:23 +00:00
Janet B. Anderson
6d851ae852 Added Makefile dependancy on LIBNAME (LIBOBS may have changed). 2000-03-08 22:49:58 +00:00
Janet B. Anderson
37ad0c3445 Changes made to allow building multilpe libraries with circular references. 2000-02-25 23:05:53 +00:00
Marty Kraimer
cac8d1f5bf cvtLongToHexString now puts 0x in frount of the number and cvtLongToOctalString writes a leading 0. 2000-02-18 13:43:52 +00:00
Marty Kraimer
9e67db7af0 If the put is to the VAL field then udf is set false. 2000-02-18 13:31:10 +00:00
Marty Kraimer
e56b154b4c A dbPutLink is attempted for all links even if a put for a previous link fails. 2000-02-18 13:29:46 +00:00
Marty Kraimer
a686a5bd8c The convert routine no longer sets udf false. Fetch_value does set udf false when it successfully fetched a value. Thus udf is now only set false when a new value is obtained. 2000-02-18 13:29:11 +00:00
Marty Kraimer
77cc55e4f9 In alarm the definitions of hihi, high, low, lolo; are changed from float to double. 2000-02-18 13:28:01 +00:00
Marty Kraimer
8955a3c1c7 dbel was incorrectly reporting VALUE, ALARM and LOG for all events. 2000-02-18 13:27:16 +00:00
Marty Kraimer
6324cbf82c increase stack size 2000-02-18 13:23:38 +00:00
Janet B. Anderson
104ba85ebc Changed order of flags in COMPILE definitions. 2000-02-10 19:30:21 +00:00
Janet B. Anderson
9b5fbf099a Fixed test stmnt errors in previous commit. 2000-02-02 22:25:27 +00:00
Janet B. Anderson
63e9665e8d Changed test order in while stmnts to prevent UMR problem. - Evans 2000-02-02 22:00:18 +00:00
Ralph Lange
df5ae40387 IVOA/IVOV (raw support) fix (B. Franksen) 2000-01-18 08:00:27 +00:00
Ralph Lange
b48f5f410e Maximize Severity in OUT Links fixed. (B. Franksen) 2000-01-11 17:06:29 +00:00
Ralph Lange
d7dfd29cc6 += IVOV/IVOA support, UDF behaviour fixed. (B. Franksen) 2000-01-11 17:04:00 +00:00
Ralph Lange
d6ba9f1bc7 Change suggested by R. Wright (makes it work with perl 5.003) 2000-01-11 13:34:54 +00:00
Janet B. Anderson
ea7582b20f epics_R3_13_2 1999-12-17 16:04:35 +00:00
Jeff Hill
51847ba684 allow UDP to receive NOOP proto from the repeater 1999-12-16 18:41:39 +00:00
Marty Kraimer
3eaee4daca notes for R3.13.2 1999-12-16 14:58:07 +00:00
Janet B. Anderson
d6ee79d742 Uninstall now removes only the bin and lib subdirs that will get rebuilt.
Added distclean rule.
1999-12-15 23:12:00 +00:00
Janet B. Anderson
894f9a53ec Second try at fixing cvs log comments. 1999-12-15 21:28:35 +00:00
Janet B. Anderson
425f1bab9f Fixed cvs comments. 1999-12-15 21:13:32 +00:00
Janet B. Anderson
5c4143d3fe New tornado directory for ppc604 (no SENS library). 1999-12-13 21:07:18 +00:00
Jeff Hill
65f755a5e2 made client more robust made client more robust when
poorly formulated messages are received
1999-12-11 00:49:53 +00:00
Janet B. Anderson
9f346cf216 Added PROD_OBJS to PROD dependancies to fix "make depends". 1999-12-10 20:01:58 +00:00
Janet B. Anderson
8cf0e35e80 Added config files for ppc604. 1999-12-10 19:56:30 +00:00
Marty Kraimer
2183d4bc98 unbundled 1999-12-09 21:54:03 +00:00
Marty Kraimer
d83d6bc033 first DIRS cant be += 1999-12-09 21:43:58 +00:00
Marty Kraimer
3a8d557e4c remove temp 1999-12-09 21:41:16 +00:00
Marty Kraimer
5437eb4cfc list subdirectories separately so that support can be removed 1999-12-09 20:53:27 +00:00
Andrew Johnson
06b4e4b151 Removed CANbus and IPAC support, these have been unbundled for some
time and the versions here were very out of date.
1999-12-09 19:57:07 +00:00
Marty Kraimer
7110b36b77 add javalib 1999-12-09 16:32:35 +00:00
Marty Kraimer
524cf39786 There was a bug when converting ascii string format to time stamp. The bug involved the year 00 appeared in the ascii string 1999-12-09 16:01:23 +00:00
Marty Kraimer
b2a69aeb07 all mallocs changed to callocs. This is needed for the new unbundled bitbus support. 1999-12-08 22:02:43 +00:00
Marty Kraimer
7a9dbe8730 sscanf response now checked to be equal to 1 rather than just not zero.
all mallocs changed to callocs. This is needed for the new unbundled bitbus support.
1999-12-08 21:50:34 +00:00
Janet B. Anderson
cf8edbd069 New CPP rule. 1999-12-08 21:45:41 +00:00
Janet B. Anderson
de014e8e9b New CPP definition. 1999-12-08 21:45:22 +00:00
Marty Kraimer
3fb42aaeb1 Allow pattern with no substitutions. 1999-12-08 21:45:16 +00:00
Janet B. Anderson
5db26d6537 Branch change: Don't copy vxWorks and vxWorks.sym into base/bin. 1999-12-08 21:42:15 +00:00
Janet B. Anderson
ad0526e5c1 Release string now contains update name/level only if non blank/non zero. 1999-12-08 21:39:33 +00:00
Marty Kraimer
4b650b296c pevent_scan_list->scan_list.lock was not initialized. 1999-12-08 21:31:25 +00:00
Marty Kraimer
d32907b8c8 add ca exception handler 1999-12-08 21:28:57 +00:00
Ralph Lange
171e63d7fa += USER/USR_DBDFLAGS upward compatibility 1999-11-23 16:59:24 +00:00
cvs2svn
52809fa559 This commit was manufactured by cvs2svn to create branch 'B3.13'. 1999-11-18 15:24:08 +00:00
Jeff Hill
c4c0d30095 fixed inc/dec race on RISC arch 1999-11-17 19:46:50 +00:00
Jeff Hill
41a8c83eb4 dont send an exception to client when bad request received over udp 1999-10-28 17:27:54 +00:00
Janet B. Anderson
0636b2e7ac Added new HP C++ compiler definitions. 1999-10-27 14:57:14 +00:00
Ralph Lange
ced94a4998 += copy any non-Apps under $top; allow links for apptype directories 1999-10-22 19:46:55 +00:00
Andrew Johnson
e55317a334 Fixed if () statement error found at KEKB. 1999-09-15 15:58:46 +00:00
Ralph Lange
5c20a5182c Fixed location for hpux Tornado systems 1999-09-03 08:58:48 +00:00
Andrew Johnson
40450af3c9 Converted float=>double in the alarm() routines of many record types
where the .dbd field type didn't match the temporary local variable.
1999-09-02 23:28:23 +00:00
Andrew Johnson
36ca2234bc Several drivers weren't using INUM_TO_IVEC() macro, required for PowerPC. 1999-09-02 21:57:33 +00:00
Jeff Hill
89d52c190f fixed missing paramter to checkConnWatchDogs() func 1999-09-02 21:16:43 +00:00
Jeff Hill
28a2cbb289 use (void) and not () in func proto when its not a C++ file 1999-09-02 21:12:18 +00:00
Jeff Hill
2724d25016 fixed bug where time sync UDP client was getting in a state where
it was using the response from the previous request, and ending
up setting the time 10 seconds back
1999-08-31 16:21:11 +00:00
Janet B. Anderson
0166de83da Fixed multiple product dependancies. 1999-08-16 19:48:10 +00:00
Ralph Lange
7811c1fc08 Added base.dbd to DBDNAME dependencies (as in RULES.Vx) 1999-08-12 20:51:10 +00:00
Jeff Hill
cc56524957 bail out if select returns errors besides EINTR 1999-08-12 20:38:04 +00:00
Jeff Hill
7cd173d2f7 return "no write access" when it is an SPC_NOMOD field 1999-08-11 18:54:53 +00:00
Janet B. Anderson
4a960b4a68 Change to build c++ code. 1999-08-02 16:23:04 +00:00
Janet B. Anderson
cc04d07a18 Change to get exServer.cc to build on solaris. 1999-08-02 15:31:38 +00:00
Janet B. Anderson
7ca6a58ccb Moved ifdef to get camessage.c to build. 1999-08-02 14:18:25 +00:00
Ralph Lange
2cb1f213f0 += some wildcards in .PHONY 1999-07-30 21:37:51 +00:00
Ralph Lange
f9589b7b66 += comments 1999-07-30 21:24:49 +00:00
Ralph Lange
868519a8c0 Make CONFIG_APP_INCLUDE files in inc target 1999-07-30 21:16:06 +00:00
Ralph Lange
de7bca98f3 += 'real' DBDFLAGS 1999-07-30 21:15:13 +00:00
Ralph Lange
b06d31de70 Douple colon bugfix 1999-07-30 21:14:48 +00:00
Ralph Lange
7bcee16fe9 Fixed typos 1999-07-30 21:14:18 +00:00
Ralph Lange
18fdef33f4 += 'real' DBDFLAGS 1999-07-30 19:41:46 +00:00
Ralph Lange
d8ac98888d Bugfix (no wildcards with .PHONY) 1999-07-30 19:36:40 +00:00
Ralph Lange
ff0a29c7c8 += 'real' DBDFLAGS; fixed INCLUDES order 1999-07-30 19:34:43 +00:00
Janet B. Anderson
fc4633a085 Put base dbd dir back on user dbdflags definition. 1999-07-29 20:01:56 +00:00
Jeff Hill
7585e7492c fixed dll export 1999-07-16 00:19:38 +00:00
Jeff Hill
96ab0192ae dont build mv167 every time 1999-07-15 23:51:51 +00:00
Jeff Hill
137abe0fa9 include the compile date 1999-07-15 23:07:39 +00:00
Jeff Hill
d2d09a48f0 switch dllMain.cc on the presence of a C++ compiler 1999-07-15 23:05:19 +00:00
Jeff Hill
0a18a0ccea prevent UDP from running TCP protocol and visa-versa 1999-07-15 22:56:12 +00:00
Jeff Hill
95f88e2ad1 use ipAddrToA() so that address print out does not
come out byte swapped on the PC
1999-07-15 21:36:37 +00:00
Jeff Hill
6ff3c930ad added diagnostics 1999-07-15 21:31:51 +00:00
Jeff Hill
74e548968f improved debug message 1999-07-15 21:13:52 +00:00
Jeff Hill
7f35cd0050 ca_printf => epicsPrintf 1999-07-15 21:11:46 +00:00
Jeff Hill
db6fe79dac vis C++ version 6.0 ng IP workaround 1999-07-15 21:10:38 +00:00
Jeff Hill
a001aa24d8 fixed bug where client disconnects while waiting to send TCP 1999-07-15 21:07:33 +00:00
Jeff Hill
cb0209f493 close all non-stdio files before repeater exec 1999-07-15 21:01:29 +00:00
Jeff Hill
57a1ebfa50 added congestion thresh to search sched alg 1999-07-15 20:52:38 +00:00
Jeff Hill
7d649345c2 fixed infinite loop when ENOBUFS returned by sendto() 1999-07-15 20:50:23 +00:00
Jeff Hill
ffb229e321 added congestion thresh to search sched alg 1999-07-15 20:33:46 +00:00
Jeff Hill
ee9a42638a fixed bug where client disconnects while waiting to send TCP 1999-07-15 20:23:57 +00:00
Janet B. Anderson
680d138809 Changes to automatically generate CONFIG_APP definitions. 1999-07-15 19:55:34 +00:00
Marty Kraimer
2718646d11 changes from Ned Arnold 1999-07-15 17:40:26 +00:00
Marty Kraimer
0ba0aa26cd must include drvBitBus just so drvGpib is usable 1999-07-09 14:20:06 +00:00
Marty Kraimer
806be5e259 changhes since 3.13.1 1999-07-09 14:08:00 +00:00
Marty Kraimer
446621f87a encorporate latest SAFE (hop[efully) changes on 09JUL99 1999-07-09 14:04:38 +00:00
Marty Kraimer
41228df369 encorporate latest changes on 09JUL99 1999-07-09 14:02:06 +00:00
Marty Kraimer
0d43a37b85 encorporate latest changes on 09JUL99 1999-07-09 13:53:29 +00:00
cvs2svn
0ceb42cc74 This commit was manufactured by cvs2svn to create branch 'B3.13'. 1998-12-21 20:59:31 +00:00
2815 changed files with 237842 additions and 265592 deletions

21
.gitignore vendored
View File

@@ -1,14 +1,7 @@
/cfg/
/bin/
/lib/
/db/
/dbd/
/html/
/include/
/templates/
/configure/*.local
O.*/
/QtC-*
*.orig
*.log
.*.swp
O.*
bin
dbd
include
lib
man
templates

View File

@@ -1,32 +0,0 @@
sudo: false
dist: trusty
language: c
compiler:
- gcc
env:
- CMPLR=gcc
- CMPLR=gcc EXTRA=CMD_CXXFLAGS=-std=c++11
- CMPLR=gcc STATIC=YES
- CMPLR=clang
- CMPLR=clang STATIC=YES
- WINE=32 TEST=NO STATIC=YES
- WINE=32 TEST=NO STATIC=NO
- RTEMS=4.10 TEST=YES
- RTEMS=4.9 TEST=YES
addons:
apt:
packages:
- libreadline6-dev
- libncurses5-dev
- perl
- clang
- g++-mingw-w64-i686
- bison
- flex
- texinfo
- install-info
- qemu-system-x86
cache:
directories:
- $HOME/.cache
script: sh ci/travis-build.sh </dev/null

View File

@@ -1,14 +1,11 @@
Copyright (c) 1991-2011 UChicago Argonne LLC.
Copyright (c) 1991-2006 The Regents of the University of California.
Copyright (c) 2006-2011. Los Alamos National Security, LLC. Some of this
material was produced under U.S. Government contract DE-AC52-06NA25396
for Los Alamos National Laboratory (LANL), which is operated by Los Alamos
National Security, LLC for the U.S. Department of Energy.
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

96
MakeRelease Executable file
View File

@@ -0,0 +1,96 @@
#!/bin/sh
#
# $Id$
#
# Make Release - Creates an EPICS release
# By Matthew Needes and Bob Zieman
#
# MakeRelease [-b]
#
# [-b] - For fully built release
#
if [ ! -d src ]; then
echo "Cannot find src directory, are you at the top of EPICS base ?"
exit 1
fi
FULLY_BUILT=NO
if [ "${1}" = "-b" ]; then
FULLY_BUILT=YES
shift
if [ "${1}" != "." ]; then
echo "TOP: Cannot create a fully built release.";
exit 1;
fi
fi
# Retrieve EPICS release string from config/CONFIG_BASE_VERSION
. config/CONFIG_BASE_VERSION
if [ -z "${EPICS_VERSION}" ];
then
echo "TOP: Cannot retrieve release number from config/CONFIG_BASE_VERSION";
exit 1;
fi
RELS="R${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}";
echo TOP: Creating ../${RELS}.tar;
if [ -f ${RELS}.tar* ];
then
echo "TOP: This release has already been created.";
echo "TOP: Remove tar file or edit config/CONFIG_BASE_VERSION.";
exit 1;
fi
# Create list of files and dirs to include in tar file
cd ..
ls base/README* base/*.bat | xargs tar cvf ${RELS}.tar
ls base/Make* > /tmp/make_release.out.$$;
ls base/*COPYRIGHT* >> /tmp/make_release.out.$$;
if [ -d startup ];
then
find startup -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
fi
# binary / library / default.dctsdr / <rec>Record.h / etc.
if [ $FULLY_BUILT = "YES" ];
then
find base/include -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
find base/man -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
find base/bin -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
find base/lib -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
find base/dbd -name CVS -prune -o ! -type d -print \
>> /tmp/make_release.out.$$;
fi
find base/config -name CVS -prune -o -name SCCS -prune -o ! -type d -print \
| grep -v '/O\..*$' >> /tmp/make_release.out.$$
find base/src -name CVS -prune -o -name SCCS -prune -o ! -type d -print \
| grep -v '/O\..*$' >> /tmp/make_release.out.$$
cat /tmp/make_release.out.$$ | xargs tar rvf ${RELS}.tar
rm /tmp/make_release.out.$$

View File

@@ -3,19 +3,52 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# 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
#
# Notes:
# The build, clean, install, and depends "commands" do not have
# their own dependency lists; they are instead handled by
# the build.%, clean.%, etc. dependencies.
#
# However, the release dependencies DOES require a complete
# install because the release.% syntax is illegal.
#
# $Id$
#
TOP = .
include $(TOP)/configure/CONFIG
TOP=.
include $(TOP)/config/CONFIG_BASE
# Bootstrap resolution: tools not installed yet
TOOLS = $(TOP)/src/tools
DIRS = src config
DIRS += configure src
INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
src_DEPEND_DIRS = configure
#
# this bootstraps in makeMakefile.pl (and others) so that it can
# be used to create the first O.xxxx/Makefile
#
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)
include $(TOP)/configure/RULES_TOP
RMDIR=$(PERL) $(TOP)/src/tools/rm.pl -rf
include $(TOP)/config/RULES_TOP
release:
@echo TOP: Creating Release...
@./MakeRelease
built_release:
@echo TOP: Creating Fully Built Release...
@./MakeRelease -b $(INSTALL_LOCATION)
$(INSTALL_BIN)/%.pl: $(TOP)/src/tools/%.pl
$(PERL) $(TOP)/src/tools/installEpics.pl -d -m 555 $< $(INSTALL_BIN)

302
README
View File

@@ -1,24 +1,290 @@
---------------------------------------------------------
EPICS Base - the central core of a control system toolkit
---------------------------------------------------------
$Id$
Copyright UChicago Argonne LLC, as Operator of Argonne
National Laboratory.
Copyright (c) 1991-2003 The Regents of the University of
California, as Operator of Los Alamos National Laboratory.
----------------------------------------------------------------------------
3.13 EPICS BASE Notes and Build Instructions.
- By Matthew Needes
----------------------------------------------------------------------------
EPICS Base is distributed subject to a Software License
Agreement found in the file LICENSE that is included with
this distribution.
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
to set HOST_ARCH.
Installation and release information can be found in the
various files in the documentation subdirectory.
2. You must use GNU make (which is now THE supported make utility) for
the build, gnumake. Set your path so that a recent version (e.g.
V3.70) of gnumake is available.
3. You must have perl installed. See the README.Perl in this directory. The
config files specify the perl full pathname as /usr/bin/perl for
unix builds and C:\Perl\bin\perl for WIN95/NT builds. You can override
these specifications with a CONFIG_SITE_HOST_ARCH.<host_arch> file.
4. You may need vendors C and C++ compilers in your search path. (Check
the definitions of ACC and CCC in CONFIG.Host.<host_arch> or gnu GCC
and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified in CONFIG_SITE).
4. For building base you must have echo in your search path. For unix host
builds you must also have ar, cp, rm, mv, ranlib, and mkdir in your search
path and /bin/chmod must exist.
----------------------------------------------------------------------------
Part 1 - Configuring and Building EPICS Base
----------------------------------------------------------------------------
1.1 To configure EPICS, edit the following file:
config/CONFIG_SITE - Build choices/HOST_ARCH/Vx location.
config/CONFIG_SITE_ENV - For site-specific environment settings
For a specific host architecture you may want to edit the following file
config/CONFIG_SITE.Host.<arch> - Override Host build settings for a host arch
config/CONFIG_SITE.Vx.<arch> - Override Vx build settings for a host arch
config/CONFIG_SITE_HOST_ARCH.<arch> - Override build settings for a host arch
Optionally you may want to edit the following files
config/CONFIG_SITE.Host - Override Host build settings for all host archs.
config/CONFIG_SITE.Vx - Override Vx build settings for all host archs.
config/CONFIG - Override build settings for all host archs.
1.2 To add a target architecture to EPICS:
cd base/config
cp CONFIG.Vx.mv167 CONFIG.Vx.YOUR_ARCH
edit CONFIG.Vx.YOUR_ARCH - For compiler flags / etc.
edit CONFIG_SITE - Add architecture to CROSS_COMPILER_TARGET_ARCHS list.
1.3 To build EPICS:
cd epics/base
gnumake - To install include files, build and install EPICS.
(Same as "gnumake inc install")
gnumake all - Same as "gnumake"
gnumake clean - To clean temporary object files. Top level
clean will remove the O.ARCH dirs specified
in BUILD_ARCHS.
gnumake uninstall - Only available at the top level directory.
Cleans directories created by the install.
gnumake rebuild - Same as "gnumake clean all"
1.4 "Partial" build commands:
The complete set of targets now supported are:
action
arch
action.arch
dir
dir.action
dir.arch
dir.action.arch
where:
action can be clean, inc, install, depends, or build
action can also be uninstall or rebuild at top level only
dir is the name of a subdirectory.
arch can be host, cross, sun4, solaris, mv167, ...
Examples are:
gnumake inc - To install include files
gnumake install.host - To build and install EPICS for host arch.
gnumake install.cross - To build and install EPICS for Vx archs.
gnumake clean.sun4 - Cleans sun4 binaries in O.sun4 dirs only.
gnumake install.sun4 - Builds sun4 only.
gnumake install.mv167 - Builds mv167 only (a HOST_ARCH build must
be complete before this can be issued).
NOTES:
1. EPICS binaries and shell scripts are installed into the directory
$(INSTALL_LOCATION)/bin/ARCH.
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
directory.
3. During a normal build (a "make" or "make install"), the "depends"
dependency will NOT be invoked. Only if "make depends" is run
explicitly, or a "make built_release" is performed will dependencies
be generated automatically.
4. Temporary objects are stored in src/DIR/O.ARCH, This allows objects
for multiple architectures to be maintained at the same time.
While developing source for EPICS, merely cd src/DIR/O.ARCH, and
invoke "make":
cd epics/base/src/db/O.mv167
make dbAccess.o
The above example instructs make to build dbAccess.o for the
mv167 target.
----------------------------------------------------------------------------
Part 2 --- Configuration Files in epics/base/config
----------------------------------------------------------------------------
CONFIG - This file is meant to be included in the low-level EPICS Makefiles.
It includes the other EPICS makefiles, and allows individual developers
and the EPICS system manager to override specific variables in the rest of
the configuration.
----------------------------------------------------------------------------
CONFIG_SITE - This file is meant to be changed only by the EPICS system
manager. It specifies:
HOST_ARCH: The system's host architecture (sun4/hp700/etc).
This now come from an environment variable.
CROSS_COMPILER_HOST_ARCHS: List of unix architectures with cross_compilers.
CROSS_COMPILER_TARGET_ARCHS: List of architectures to build epics for.
VX_DIR: Location of vxWorks.
STATIC_BUILD: Whether or not to build clients statically.
etc.
----------------------------------------------------------------------------
CONFIG.Host.ARCH - This file defines a particular host architecture. It
contains the following variables:
ARCH_CLASS: solaris / sun4 / hp700 / etc.
Host architecture OS vendor C and C++ complier variables.
Architecture dependent build flags. The flag names / contents
depend on your architecture class.
----------------------------------------------------------------------------
CONFIG_HOST_ARCH.ARCH - This file contains the following variable:
WIND_HOST_TYPE: sun4-solaris2 / sun4-sunos4 / x86-win32 / etc.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
CONFIG.Vx.ARCH - This file defines a particular target architecture. It
contains the following variables:
ARCH_CLASS: 68k / sun4 / hp700 / etc.
Architecture dependent build flags. The flag names / contents
depend on your architecture class.
CMPLR_SUFFIX: Vx GNU cross compiler suffix definition.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
CONFIG_SITE.BUILD_TYPE.ARCH - Contains site specific definitions pertaining to a
particular architecture and build type. This file's primary usefulness is to
define site specific compile and link flags.
----------------------------------------------------------------------------
CONFIG_COMMON - Contains definitions describing the layout of base
and definitions common to all builds.
----------------------------------------------------------------------------
CONFIG.Host.UnixCommon - Contains host definitions common to all Unix archs.
----------------------------------------------------------------------------
CONFIG_BASE - Defines what subdirectories get built by default under base.
----------------------------------------------------------------------------
CONFIG_BASE_VERSION - Defines the version of base.
----------------------------------------------------------------------------
CONFIG_ENV - EPICS Environment Parameter configuration file.
----------------------------------------------------------------------------
CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
----------------------------------------------------------------------------
RULES.Vx - Rules for building with Makefile.Vx makefiles.
----------------------------------------------------------------------------
RULES.Host - Rules for building with Makefile.Host makefiles.
----------------------------------------------------------------------------
RULES_TOP - Top level rules for building.
----------------------------------------------------------------------------
RULES_ARCHS
RULES_DIRS - Allows top-level type command syntax in low-level directories.
----------------------------------------------------------------------------
Table of files to change when building and adding architectures.
etc.
Filename SYS_MGR ADD_VX_ARCH ADD_UNIX_ARCH DEVELOPER
CONFIG m - - m
CONFIG_SITE m m m -
CONFIG_SITE_ENV m - - -
CONFIG.Host.ARCH - c c -
CONFIG_HOST_ARCH.ARCH - c c -
CONFIG_SITE.Host.ARCH - - - -
CONFIG.Vx.ARCH - c c -
CONFIG_SITE.ARCH - c c -
CONFIG.Vx.ARCH_CLASS - c* - -
RULES.Vx - - - -
RULES.Host - - - -
CONFIG_BASE - - - -
CONFIG_BASE_VERSION - - - -
CONFIG_COMMON - - - -
CONFIG_ENV - - - -
RULES_ARCHS - - - -
RULES_DIRS - - - -
RULES_TOP - - - -
m - Modify an existing file.
c - Create a new file.
* - Create an ARCH_CLASS file only if you are adding a
fundamentally new architecture, such as hp700 or
a SPARC VME board. If your board is 68k based,
you will not need to create CONFIG.Vx.68k,
since it already exists !
----------------------------------------------------------------------------
Part 3 --- Configuration File Inclusion Tree Examples
----------------------------------------------------------------------------
---------------------------- hkv2f example --------------------------------
(files are numbered in the order of their inclusion)
src/db/Makefile.Vx (An example EPICS makefile)
^ ^
| +--- 2. RULES.Vx
| Default rules.
+----1. CONFIG_BASE
^
|
+ 1. CONFIG
^^^^^^^
||||||+- 1. CONFIG_COMMON
|||||| General info about base.
|||||+-- 2. CONFIG_BASE_VERSION
||||| Base version.
||||+--- 3. CONFIG_SITE
|||| HOST_ARCH = sun4
|||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
|||| VX_DIR = /vxworks
|||| More.
|||+---- 4. CONFIG_HOST_ARCH.sun4
||| WIND_HOST_TYPE = sun4-sunos4
||+----- 5. CONFIG.Vx
|| Definitions for Vx builds
|+------ 6. CONFIG.Vx.hkv2f
| ARCH_CLASS = 68k
| Arch Specific Compiler Flag Setup
| Vx GNU cross compiler suffix
+------- 7. CONFIG_SITE.Vx.hkv2f
Site Specific setup
---------------------------- sun4 example --------------------------------
(files are numbered in the order of their inclusion)
src/db/Makefile.Unix (An example EPICS makefile)
^ ^
| +--- 2. RULES.Vx
| Default rules.
+----1. CONFIG_BASE
^
|
+ 1. CONFIG
^^^^^
|||||+- 1. CONFIG_COMMON
||||| General info about base.
||||+-- 2. CONFIG_BASE_VERSION
|||| Base version.
|||+--- 3. CONFIG_SITE
||| HOST_ARCH = sun4
||| CROSS_COMPILER_TARGET_ARCHS = mv167 hkv2f
||| VX_DIR = /vxworks
||| More.
||+---- 4. CONFIG_HOST_ARCH.sun4
|| WIND_HOST_TYPE = sun4-sunos4
|+----- 5. CONFIG.Host.sun4
| ARCH_CLASS = sun4
| Arch Specific Compiler Flag Setup
| Vx GNU cross compiler suffix
+------ 6. CONFIG_SITE.Host.sun4
Site Specific setup
Additional information about EPICS including mailing list
archives and subscription instructions, documentation and
training materials, additional components, links to other
websites etc. is available on the EPICS home page at
https://epics.anl.gov/

17
README.Linux Normal file
View File

@@ -0,0 +1,17 @@
Special Notes on Linux
At this point, support for Linux only involves channel access
clients. Since Vxworks is not available for Linux, you must
use other platforms for developing server side code.
You MUST start caRepeater by hand before running a client.
Prior to running a client, you must run:
caRepeater &
---
jpq@nwu.edu

44
README.Perl Normal file
View File

@@ -0,0 +1,44 @@
Perl
====
A number of shell scripts are now Perl scripts,
most important:
tools/installEpics.pl
include/makeEpicsVersion.pl
libCom/bldEnvData.pl
libCom/makeStatTbl.pl
sequencer/makeVersion.pl
WIN32 also uses
tools/cp.pl, mv.pl, rm.pl, mkdir.pl
which should behave like the UNIX cp, mv, rm, rmdir.
All systems could use the Perl versions but that seems
to be overkill for UNIX.
Advantages:
* no need for ls, date, basename, grep, awk, sed, ...,
which made the make UNIX-specific.
* Perl is currently available for Unix, OS/2, WIN32, VMS
and the scripts should work on all those systems
Disadvantage:
* You have to get Perl, look e.g. at http://www.perl.com
* Perl version 5.003_02 works, we don't know about earlier versions.
Compile Perl:
No big deal,
* on UNIX say 'configure' and 'gnumake',
* on Windows use MX Visual C++,
use File/Open Workspace to open the Makefile {PERL}/perl5i.mak,
use Build/Batch build to select eiher the Release or Debug targets.
You can do the same with the Makefile {Perl}/Ext/WIN32/win32.mak
- nice tools but not necessary for EPICS.
Then call {PERL}/bin/perlw32-install.bat
In any case, read the texts that come with perl!

181
README.WIN32 Normal file
View File

@@ -0,0 +1,181 @@
Compiling EPICS and Building IOC Applications on WIN32 (Windows95/NT)
---------------------------------------------------------------------
Original port of EPICS base to WIN32 (Windows95/NT)
was done by Kay-Uwe Kasemir 11/96
please mail questions, comments, corrections, additional examples, etc
to johill@lanl.gov
0) what you will get
--------------------
Right now this port of EPICS to WIN32 should allow you to
* compile almost all of EPICS base using {Tornado, MS Visual C, perl,
GNU make} (only {MS Visual C, perl, GNU make} if you prefer
to compile only the host portions of EPICS base).
* load EPICS on an IOC (486, pentium, 68k, ...),
load databases
(no drivers/devices for real I/O available, yet.
Some Greenspring IP support [Relay, Dig, ADC, DAC] is in progress)
* build and use ca.dll on NT or Win95 to access all IOCs,
as well as the Com-library, gdd-library, cas-library,
and all other EPICS base libraries as DLLs.
* build gdd, cas and a demo of the new portable CA server on WIN32.
1) see what you have
--------------------
To compile EPICS on WIN32, we need
WindRiver System's Tornado (used: 1.0) (not required if host only build)
Microsoft's Visual C/C++ (used: 4.0) (borland C++ rumored to work also)
and some tools:
gnu make - www.gnu.org (we used 3.76)
perl - www.perl.org (we used 5.003)
The perl interpreter and gnu make are available 'on the net'
as sources which compile with MS Visual C++.
If you cannot/don't want to find them, contact me, please!
2) set environment variables
(Setting env. vars. is different: for NT, use Settings/System,
for Win95 use autoexec.bat)
When setting paths in the EPICS CONFIG files for WIN32:
** Note that that each "\" in any path variables
must be replaced with a "\\" (this is because GNU make treats
all "\" characters as line continuation)
** Note that that each space in any file name or
path name variable must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
** WIN32 will generally allow "/" and "\" interchangeably in file paths,
but the DOS shell appears to only accept "\".
Your path should include:
- The EPICS-binaries that we are about to build in <EPICS>base/bin/WIN32
- The System (for me it's in NT40...)
- The MS Visual C compiler binaries
Check with e.g.:
>echo %Path%
C:\WINNT35.0\system32;
C:\WINNT35.0;
c:\msdev\bin;
c:\perl5\bin;
c:\make-3.75\WinRel;
c:\epics\base\bin\win32 (really where INSTALL_LOCATION specifies)
On NT, "Path" is defined by the operating system, on Win95, it's "PATH" instead.
MS Visual C and Tornado should be installed properly with
these env. variables set:
WIND_BASE=c:\Tornado (required for cross development only)
WIND_HOST_TYPE=x86-win32 (required for cross development only)
This way the EPICS makesystem can locate Tornado
without any changes to the files in base/config.
So for pc486 the settings in CONFIG_SITE where
you specify the location of VxWorks are ignored,
this information is taken from WIND_BASE and _HOST_TYPE!!
MSDevDir=C:\MSDEV
include=c:\msdev\include;c:\msdev\mfc\include
lib=c:\msdev\lib;c:\msdev\mfc\lib
Select host arch to build:
HOST_ARCH=WIN32 (used by the make system)
Set the "TMP" environment variable if you need to specify where
temporary files are created.
Directory Used For Temporary Files Conditions
---------------------------------- ----------
Directory specified by TMP TMP environment variable is set,
and directory specified by TMP exists.
dir argument to _tempnam TMP environment variable is not set, or
directory specified by TMP does not exist.
P_tmpdir in STDIO.H dir argument is NULL, or dir is name of
nonexistent directory.
Current working directory P_tmpdir does not exist.
On my system I see in stdio.h that _P_tmpdir is "/". Here is a common
setting for "TMP" (the C:\TEMP directory must exist).
TMP=C:\TEMP
3) building EPICS
-----------------
Prepare apx. 2 ltr. Tee and type:
cd <epics>/base
make (use gnu make)
Watch for errors and send them to me.
Known problems:
* gnumake seems to be faster than WIN32 sometimes
which results in warnings/errors like
"file has modification date in the future"
for newly created things.
Very seldom this is fatal, so you have to
stop gnumake and restart it.
* This is strange because Windows95/NT doesn't care
about upper/lower case:
WIN32 is WIN32, not win32. Gnumake fails
if e.g. base/src/include/os/WIN32 is ...win32.
4) Creating EPICS IOC applications under WIN32
o create application development folder
o start a DOS window and change your working directory to the folder
created above (with the DOS "cd" command)
o to create an example application type:
"perl c:\epics\bin\win32\makeBaseApp.pl -b c:\\epics -e
** Note that that each "\" above in any path arguments to makeBaseApp.pl
must be replaced with a "\\" (this is because GNU make treats
all "\" characters as line continuation)
** Note that that each space in any file name or
path name argument to makeBaseApp.pl must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
** Note that c:\epics above must be replaced by the path
to your epics source installation (or where INSTALL_LOCATION
specifies)
o General information on EPICS IOC application development can be found in
the "EPICS IOC Application Developers Guide". To see all of the options
supported by makeBaseApp.pl type "perl c:\epics\bin\win32\makeBaseApp.pl"
5) EPICS GNU make makefiles can be executed from within a Visual C++ "makefile"
style project. This allows EPICS programs to be developed directly inside of
the visual C++ environment. To do this create a "makefile" project and place your
gnu make command in the build configuration (accessed from the project/settings menu).
You will also need to add GNU make and <EPICS>/bin/win32 into the Visual C++
executable search path (from the tools/options menu). I have not so far determined
how to configure visual C++ so that it is possible to double click on the compiler
error messages generated within an EPICS "makefile" style project and have visual
C++ immediately position the cursor on the corresponding line in the source (as is
normally the case in the visual C++ environment). If you solve this problem please
forward the details to johill@lanl.gov.
Good luck !
-Kay

46
README.cxxTemplates Normal file
View File

@@ -0,0 +1,46 @@
The C++ templates supplied with EPICS base are in
"$(EPICS)/base/src/cxxTemplates".
In Stroustrups's "The C++ Programming Language" Appendix A: r.14.9
(ANSI/ISO resolutions) a mechanism is described for the explicit
instantiation of template member functions (that are not inline).
At this time some compilers do not support this mechanism (and use
a template database snd/or smart linker instead). Other compilers
(such as g++) provide only limited support for other forms of
instantiation (g++ does not yet provide a template database or
a smart linker for templates).
Since there is no defacto standard mechanism for instatiating
templates at this time we are defining the preprocessor flag
EXPL_TEMPL in the build system when the compiler supports
explicit instantiation and the compiler does not support
automatic instantiation via a smart linker and/or template
database (currently this is only g++).
EPICS codes that use templates may need to include a code block
as follow that instantiates the template only once into each
program.
#include <classXYZ.h>
#include <templXXX.h>
//
// if the compiler supports explicit instantiation of
// template member functions
//
#if defined(EXPL_TEMPL)
//
// From Stroustrups's "The C++ Programming Language"
// Appendix A: r.14.9
//
// This explicitly instantiates the template class's member
// functions into "templInst.o"
//
template class templXXX <classXYZ>;
#endif
Jeff Hill 3-6-97
johill@lanl.gov

54
README.cygwin32 Normal file
View File

@@ -0,0 +1,54 @@
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.
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
BUILD INSTRUCTIONS
------------------
1) Install the cygwin binary release
------------------------------------
2) Install the epics base distribution
--------------------------------------
cp <dirname>\<basereleasename>.tar.gz .
gunzip -d <basereleasename>.tar.gz
tar xvf <basereleasename>.tar
chmod +w -R *
cd <epicsBaseDir>
3) 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
4) Set site specific parms in epics config files
------------------------------------------------
cd <epicsBaseDir>\config
<edit CONFIG_SITE* files>
5) Build epics base
-------------------
cd <epicsBaseDir>
make
6) Create an example EPICS application (<epicsBaseDir> needs drive letter)
--------------------------------------------------------------------------
mkdir <epicsappdir>
cd <epicsappdir>
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -l
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -t example example
make

28
README.hp700_alpha Normal file
View File

@@ -0,0 +1,28 @@
#
# supplement README for HP700
#
# Johnny Tang 5-29-97
#
1. VxWorks 5.2 for HP-UX
- Make sure that you have set VX_DIR and VX_GNU to your
VxWorks root directory.
- Under $(VX_DIR), create a soft link:
hp700.68k -> hp9700.68k
2. Modify base/config/CONFIG_SITE file
- ANSI=HPACC
- STANDARD=HPCC
- CPLUSPLUS=G++
3. HP native c++ compiler has problem to handle the head files
in which a inline function is used in conjuction with template
base/src/cas, the portable CA server can't be compiled successfully
because of the above limitation.
This problem can be resolved by spliting the function declarations
from the inline code in the files in base/src/cxxTemplates.

34
README.niCpu030 Normal file
View File

@@ -0,0 +1,34 @@
The CPU030 may need to have the nivxi path set correctly:
From the vxWorks shell type "vxitedit" (you may need to
loading the NI vxitedit package first)
take option 2
take option 3
type list
type modify 0
type in the correct path when promped
(the path should end in nivxi
and should traverse the niCpu030
directories shipped with the 030
ie something of the form "???/config/niCPU030/nivxi"
type save
type exit
.
.
.
see "Getting Started with Your VXIcpu-030" from NI
You may may need to setup front panel to backplane trigger
routing:
To take a TTL input and map it to VXI backplane ECL trigger 0
type in (to the vxWorks shell):
epvxiRouteTriggerECL(<logical address>, 1, 0)
where <logical address> specifies the card with the
front panel trigger connection.
johill@lanl.gov

25
README.solaris Normal file
View File

@@ -0,0 +1,25 @@
----------------------------------------------------------------------------
EPICS Notes for Solaris
- By Andrew Johnson
updated 12-16-96 by Jeff Hill
----------------------------------------------------------------------------
Notes:
1. In order to build EPICS under Solaris 2, you must ensure that the
solaris directory /usr/ccs/bin is in your search path.
2. It is now possible to compile EPICS under Solaris 2 using either the
GNU gcc compiler or the Sun SPARCworks ANSI C compiler. The g++/
Sun SPARCworks ANSI C compiler combination has compiled and linked
without errors but has not been extensively tested.
3. EPICS under Solaris 2 no longer uses the UCB compatability libraries.
In order to ensure that the /usr/ucblib files are not inherited, you
should ensure that your LD_LIBRARY_PATH environment variable does not
include /usr/ucblib when you build any of the host tools.
--
anj@ast.cam.ac.uk

2358
RELEASE_NOTES.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
/*****************************************************************
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.
**********************************************************************/

View File

@@ -1,85 +0,0 @@
# AppVeyor configuration for EPICS Base
# Ralph Lange <ralph.lange@gmx.de>
# Copyright (c) 2016-2017 ITER Organization
# Version format
version: base-{branch}-{build}
#---------------------------------#
# repository cloning #
#---------------------------------#
# Called at very beginning, before repo cloning
init:
# Set autocrlf to make batch files work
- git config --global core.autocrlf true
# Set clone depth (do not fetch complete history)
clone_depth: 2
# Skipping commits affecting only specific files
skip_commits:
files:
- 'documentation/*'
- 'templates/*'
- '**/*.html'
- '**/*.md'
#---------------------------------#
# build matrix configuration #
#---------------------------------#
# Build Configurations: dll/static, regular/debug
configuration:
- dynamic
- static
- dynamic-debug
- static-debug
# Environment variables: compiler toolchain
environment:
matrix:
- TOOLCHAIN: 10.0
- TOOLCHAIN: 11.0
- TOOLCHAIN: 12.0
- TOOLCHAIN: 14.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLCHAIN: 2017
- TOOLCHAIN: cygwin
- TOOLCHAIN: mingw
# Platform: architecture
platform:
- x86
- x64
# Matrix configuration: allow specific failing jobs
matrix:
exclude:
# VS Express installs don't have the 64 bit compiler
- platform: x64
TOOLCHAIN: 10.0
#---------------------------------#
# building & testing #
#---------------------------------#
install:
- cmd: ci/appveyor-prepare.bat
build_script:
- cmd: ci/appveyor-make.bat
test_script:
- cmd: ci/appveyor-make.bat runtests
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
- provider: Slack
incoming_webhook:
secure: RYOm3FIUYeZGjWKaeTVKwq+C3fzK54AKwbmAoECED45mex3lN+8HmrC845a6mg9xPUJ/ND51RopWVaKDD9/UzaM0SO195RQLKqUTIUafiuM=

View File

@@ -1,137 +0,0 @@
:: Universal build script for AppVeyor (https://ci.appveyor.com/)
:: Environment:
:: TOOLCHAIN - toolchain version [10.0/11.0/12.0/14.0/2017/cygwin/mingw]
:: CONFIGURATION - determines EPICS build [dynamic/static]
:: PLATFORM - architecture [x86/x64]
::
:: All command line args are passed to make
Setlocal EnableDelayedExpansion
set "ST="
if /i "%CONFIGURATION%"=="static" set ST=-static
set OS=64BIT
if "%PLATFORM%"=="x86" set OS=32BIT
echo [INFO] Platform: %OS%
:: Use parallel make, except for 3.14
set "MAKEARGS=-j2 -Otarget"
if "%APPVEYOR_REPO_BRANCH%"=="3.14" set MAKEARGS=
if "%TOOLCHAIN%"=="cygwin" (
set "MAKE=make"
if "%OS%"=="64BIT" (
set "EPICS_HOST_ARCH=cygwin-x86_64"
set "INCLUDE=C:\cygwin64\include;%INCLUDE%"
set "PATH=C:\cygwin64\bin;%PATH%"
echo [INFO] Cygwin Toolchain 64bit
) else (
set "EPICS_HOST_ARCH=cygwin-x86"
set "INCLUDE=C:\cygwin\include;%INCLUDE%"
set "PATH=C:\cygwin\bin;%PATH%"
echo [INFO] Cygwin Toolchain 32bit
)
echo [INFO] Compiler Version
gcc -v
goto Finish
)
if "%TOOLCHAIN%"=="mingw" (
set "MAKE=mingw32-make"
if "%OS%"=="64BIT" (
set "EPICS_HOST_ARCH=windows-x64-mingw"
set "INCLUDE=C:\tools\mingw64\include;%INCLUDE%"
set "PATH=C:\tools\mingw64\bin;%PATH%"
echo [INFO] MinGW Toolchain 64bit
) else (
set "EPICS_HOST_ARCH=win32-x86-mingw"
set "INCLUDE=C:\tools\mingw32\include;%INCLUDE%"
set "PATH=C:\tools\mingw32\bin;%PATH%"
echo [INFO] MinGW Toolchain 32bit
)
echo [INFO] Compiler Version
gcc -v
goto Finish
)
set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN%"
if not exist "%VSINSTALL%\" set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio\%TOOLCHAIN%\Community"
if not exist "%VSINSTALL%\" goto MSMissing
set "MAKE=C:\tools\make"
echo [INFO] APPVEYOR_BUILD_WORKER_IMAGE=%APPVEYOR_BUILD_WORKER_IMAGE%
if "%OS%"=="64BIT" (
set EPICS_HOST_ARCH=windows-x64%ST%
:: VS 2017
if exist "%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat" (
call "%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
call "%VSINSTALL%\VC\vcvarsall.bat" amd64
where cl
if !ERRORLEVEL! NEQ 0 (
call "%VSINSTALL%\VC\vcvarsall.bat" x86_amd64
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
)
goto MSFound
)
if exist "%VSINSTALL%\VC\bin\amd64\vcvars64.bat" (
call "%VSINSTALL%\VC\bin\amd64\vcvars64.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
) else (
set EPICS_HOST_ARCH=win32-x86%ST%
:: VS 2017
if exist "%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat" (
call "%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
call "%VSINSTALL%\VC\vcvarsall.bat" x86
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\VC\bin\vcvars32.bat" (
call "%VSINSTALL%\VC\bin\vcvars32.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\Common7\Tools\vsvars32.bat" (
call "%VSINSTALL%\Common7\Tools\vsvars32.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
)
:MSMissing
echo [INFO] Installation for MSVC Toolchain %TOOLCHAIN% / %OS% seems to be missing
exit 1
:MSFound
echo [INFO] Microsoft Visual Studio Toolchain %TOOLCHAIN%
echo [INFO] Compiler Version
cl
:Finish
echo [INFO] EPICS_HOST_ARCH: %EPICS_HOST_ARCH%
echo [INFO] Make version
%MAKE% --version
echo [INFO] Perl version
perl --version
%MAKE% %MAKEARGS% %*

View File

@@ -1,70 +0,0 @@
:: Build script for AppVeyor (https://ci.appveyor.com/)
:: Environment:
:: TOOLCHAIN - Toolchain Version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw]
:: CONFIGURATION - determines EPICS build [dynamic/static, -debug]
:: PLATFORM - "x86" -> use 32bit architecture
::
:: Prepares an Appveyor build by excuting the following steps
:: - Set up configure\CONFIG_SITE for static vs. dynamic build
:: - Install Cygwin / Mingw (TOOLCHAIN setting) in the in the appropriate flavor
:: - Download and install Make-4.1 from EPICS download page
Setlocal EnableDelayedExpansion
set OS=64BIT
if "%PLATFORM%"=="x86" set OS=32BIT
echo [INFO] Platform: %OS%
if "%TOOLCHAIN%"=="cygwin" (
echo.%CONFIGURATION% | findstr /C:"static">nul && (
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
echo [INFO] EPICS set up for static build
) || (
echo [INFO] EPICS set up for dynamic build
)
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
echo HOST_OPT=NO>> configure\CONFIG_SITE
echo [INFO] EPICS set up for debug build
) || (
echo [INFO] EPICS set up for optimized build
)
if "%OS%"=="64BIT" (
echo [INFO] Installing Cygwin 64bit and dependencies
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86_64.exe', 'C:\cygwin64\setup-x86_64.exe')"
C:\cygwin64\setup-x86_64.exe -q -P "libreadline-devel,libncursesw-devel"
) else (
echo [INFO] Installing Cygwin 32bit and dependencies
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86.exe', 'C:\cygwin\setup-x86.exe')"
C:\cygwin\setup-x86.exe -q -P "libreadline-devel,libncursesw-devel"
)
)
if "%TOOLCHAIN%"=="mingw" (
echo.%CONFIGURATION% | findstr /C:"static">nul && (
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
echo [INFO] EPICS set up for static build
) || (
echo [INFO] EPICS set up for dynamic build
)
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
echo HOST_OPT=NO>> configure\CONFIG_SITE
echo [INFO] EPICS set up for debug build
) || (
echo [INFO] EPICS set up for optimized build
)
if "%OS%"=="64BIT" (
echo [INFO] Installing MinGW 64bit
cinst mingw || cinst mingw
) else (
echo [INFO] Installing MinGW 32bit
cinst mingw --x86 || cinst mingw --x86
)
)
echo [INFO] Installing Make 4.1
curl -fsS --retry 3 -o C:\tools\make-4.1.zip https://epics.anl.gov/download/tools/make-4.1-win64.zip
cd \tools
"C:\Program Files\7-Zip\7z" e make-4.1.zip

View File

@@ -1,80 +0,0 @@
#!/bin/sh
set -e -x
die() {
echo "$1" >&2
exit 1
}
CACHEKEY=1
EPICS_HOST_ARCH=`perl src/tools/EpicsHostArch.pl`
[ -e configure/os/CONFIG_SITE.Common.linux-x86 ] || die "Wrong location: $PWD"
case "$CMPLR" in
clang)
echo "Host compiler is clang"
cat << EOF >> configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
GNU = NO
CMPLR_CLASS = clang
CC = clang
CCC = clang++
EOF
;;
*) echo "Host compiler is default";;
esac
if [ "$STATIC" = "YES" ]
then
echo "Build static libraries/executables"
cat << EOF >> configure/CONFIG_SITE
SHARED_LIBRARIES=NO
STATIC_BUILD=YES
EOF
fi
# requires wine and g++-mingw-w64-i686
if [ "$WINE" = "32" ]
then
echo "Cross mingw32"
sed -i -e '/CMPLR_PREFIX/d' configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
cat << EOF >> configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
CMPLR_PREFIX=i686-w64-mingw32-
EOF
cat << EOF >> configure/CONFIG_SITE
CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw
EOF
fi
# set RTEMS to eg. "4.9" or "4.10"
# requires qemu, bison, flex, texinfo, install-info
if [ -n "$RTEMS" ]
then
echo "Cross RTEMS${RTEMS} for pc386"
install -d /home/travis/.cache
curl -L "https://github.com/mdavidsaver/rsb/releases/download/20171203-${RTEMS}/i386-rtems${RTEMS}-trusty-20171203-${RTEMS}.tar.bz2" \
| tar -C / -xmj
sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' configure/os/CONFIG_SITE.Common.RTEMS
cat << EOF >> configure/os/CONFIG_SITE.Common.RTEMS
RTEMS_VERSION=$RTEMS
RTEMS_BASE=/home/travis/.rtems
EOF
cat << EOF >> configure/CONFIG_SITE
CROSS_COMPILER_TARGET_ARCHS += RTEMS-pc386-qemu
CROSS_COMPILER_RUNTEST_ARCHS += RTEMS-pc386-qemu
EOF
# find local qemu-system-i386
echo -n "Using QEMU: "
type qemu-system-i386 || echo "Missing qemu"
fi
make -j2 $EXTRA
if [ "$TEST" != "NO" ]
then
make tapfiles
make -s test-results
fi

91
config/CONFIG Normal file
View File

@@ -0,0 +1,91 @@
#*************************************************************************
# 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$
#
# The developer may edit this file.
# assume T_A is the host arch if not specified
#
# EPICS base definitions
#
include $(EPICS_BASE)/config/CONFIG_COMMON
#
# EPICS version definitions
#
include $(EPICS_BASE)/config/CONFIG_BASE_VERSION
# Site-specific build options
#
include $(EPICS_BASE)/config/CONFIG_SITE
# Host architecture specific definitions
#
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.$(HOST_ARCH)
#
-include $(EPICS_BASE)/config/CONFIG_SITE_HOST_ARCH.$(HOST_ARCH)
ifdef T_A
# Build type specific definitions
#
-include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE)
#
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE)
# Architecture specific definitions
#
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(T_A)
#
ifneq ($(HOST_ARCH),$(T_A))
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(HOST_ARCH)
endif
#
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(T_A)
endif
# User specific definitions
#
-include $(HOME)/EPICS_CONFIG
-include $(HOME)/EPICS_CONFIG.$(HOST_ARCH)
-include $(HOME)/EPICS_CONFIG_HOST_ARCH.$(HOST_ARCH)
ifdef T_A
-include $(HOME)/EPICS_CONFIG.$(BUILD_TYPE)
ifneq ($(HOST_ARCH),$(T_A))
-include $(HOME)/EPICS_CONFIG.$(BUILD_TYPE).$(HOST_ARCH)
endif
-include $(HOME)/EPICS_CONFIG.$(BUILD_TYPE).$(T_A)
endif
# All EPICS options other than BUILD_TYPE
# may be overridden here.
#
# EXAMPLES
# --------
# Build client objects statically ? must be either YES or NO
#STATIC_BUILD=NO
# Unix Optimization, must be either YES or NO
#HOST_OPT=YES
# VxWorks Optimization, must be either YES or NO
#VX_OPT=YES
# Generate Verbose Compiler Warnings for Unix, must be either YES or NO
#UNIX_WARN=YES
# Generate Verbose Compiler Warnings for VxWorks, must be either YES or NO
#VX_WARN=YES
#etc.
#CROSS_COMPILER_TARGET_ARCHS=mv167
#ANSI=GCC
#CPLUSPLUS=G++
#CMPLR=STRICT
#CXXCMPLR=STRICT

261
config/CONFIG.Host.Borland Normal file
View File

@@ -0,0 +1,261 @@
# 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)

78
config/CONFIG.Host.Linux Normal file
View File

@@ -0,0 +1,78 @@
# CONFIG.Host.Linux
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.Linux
ARCH_CLASS = Linux
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
#OP_SYS_FLAGS = -D_BSD_SOURCE -D_POSIX_SOURCE
# Configure OS vendor C compiler
ACC = gcc
ACC_ANSI = $(ACC)
#ACC_ANSI = $(ACC) -ansi -D_SVID_SOURCE
#ACC_STRICT = $(ACC) -Xc
ACC_STRICT = $(ACC) -pedantic
#ACC_STRICT = $(ACC) -ansi -pedantic -D_SVID_SOURCE
ACC_TRAD = $(ACC)
ACC_WARN_YES = -Wall
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES = -static
ACC_SFLAGS_NO=
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES = -fPIC
ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
# Configure OS vendor C++ compiler
CCC = g++
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
#CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
CCC_WARN_YES = -Wall
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES = -static
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 :
# which is GCC_STRICT = $(GCC) -ansi -pedantic
GCC_STRICT = $(GCC)
G++_STRICT = $(G++) -Wtraditional
#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -m32
ARCH_DEP_LDFLAGS =
#glibc FAQ
# "_GNU_SOURCE: glibc does not make the GNU extensions available
# automatically. If a program depends on the GNU extensions or some other
# non-standard functionality, it is necessary to compile it with the C
# compiler option -D_GNU_SOURCE, or better to put #define _GNU_SOURCE at
# the beginning of your source files, before any C library header files
# are included. This difference normally manifests itself in the form
# of missing prototypes and/or data type definitions. Thus, if you get
# such errors, the first thing you should do is try defining _GNU_SOURCE
# and see if that makes the problem go away."
#ARCH_DEP_CFLAGS += -D_GNU_SOURCE

View File

@@ -0,0 +1,77 @@
#
# Contains definitions common to all Unix archs
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.UnixCommon
#-------------------------------------------------------
# adjust names of libraries to build
#
# <lib> -> lib<lib>.a
LIBNAME = $(LIBRARY:%=lib%.a)
#-------------------------------------------------------
# Shared library definitions
# CONFIG.Host.<arch> files may override
SHRLIB_SUFFIX = .so
SHRLIBNAME = lib$(LIBRARY)$(SHRLIB_SUFFIX)$(SHRLIB_VERSION:%=.%)
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS) $(USR_LIBS))
DLL_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(DLL_LIBS:%=-l%)
INSTALL_SHRLIB = $(INSTALL_LIB)
LINK.shrlib= $(SHRLIB_LINKER) -o $@ $(CFLAGS) $(CPPFLAGS) $(SHRLIB_LDFLAGS) $(LDFLAGS)
#-------------------------------------------------------
# Unix command definitions
CPP = cpp
RANLIB = ranlib
# GNU compilers
GCC = gcc
G++ = g++
#-------------------------------------------------------
# Unix suffix definitions
EXE =
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).*)))
#--------------------------------------------------
# Determine ld flags
USR_DIRS = $(dir $(PRODNAME_DEPLIBS)) $(dir $(PROD_DEPLIBS))\
$(dir $(USR_DEPLIBS))
USR_LDFLAGS += $(sort $(USR_DIRS:%=-L%))
# Determine ld libs
USR_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
$(SYS_PROD_LIBS:%=-l%)
#--------------------------------------------------
# Operating system definitions
OP_SYS_INCLUDES =
OP_SYS_CFLAGS = -DUNIX
OP_SYS_LDFLAGS =
OP_SYS_LDLIBS = -lm
#--------------------------------------------------
# Link definitions
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
#--------------------------------------------------
# Allow site overrides
-include $(EPICS_BASE)/config/CONFIG_SITE.Host.UnixCommon

255
config/CONFIG.Host.WIN32 Normal file
View File

@@ -0,0 +1,255 @@
# CONFIG.Host.WIN32
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.WIN32
#
# You currently get Visual C++ even if you ask for GNU.
#
# !! borlund support needed here !!
#
ANSI = ACC
CPLUSPLUS = CCC
#
# "\ " forces gnu make to keep this as one token
#
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 $@ $<
ARCMD = lib /nologo /verbose /out:$@
#
# Configure OS vendor C compiler
ACC = cl
#
# __STDC__=0 is a real great idea of Jeff that gives us both:
# 1) define STDC for EPICS code (pretend ANSI conformance)
# 2) set it to 0 to use MS C "extensions" (open for _open etc.)
# because MS uses: if __STDC__ ... disable many nice things
#
# Use of /Za would dissable DLL import/export keywords which
# EPICS include/excludes using architecture neutral macros
ACC_ANSI = $(ACC) /nologo /D__STDC__=0
ACC_STRICT = $(ACC) /nologo /D__STDC__=0
ACC_TRAD = $(ACC) /nologo
#
# /W<N> use warning level N
# (maximum (lint type) warnings at level 4)
ACC_WARN_YES = /W3
ACC_WARN_NO = /W1
#
# /Ox maximum optimizations
# /MD use MSVCRT (run-time as DLL, multi-thread support)
ACC_OPT_YES = /Ox
#
# /Zi include debugging info in object files
# /Fr create source browser file
ACC_OPT_NO = /Zi /Fr
#
# the following options are required when
# vis c++ compiles the code (and includes
# the header files)
#
# /MT static multithreaded C RTL
# /MTd static multithreaded C RTL (debug version)
# /MD multithreaded C RTL in DLL
# /MDd multithreaded C RTL in DLL (debug version)
VISC_EPICS_DLL_NO = -DEPICS_DLL_NO
VISC_EPICS_DLL_YES =
VISC_EPICS_DLL = $(VISC_EPICS_DLL_$(SHARED_LIBRARIES))
VISC_SFLAGS_DEBUG_NO = d
VISC_SFLAGS_DEBUG_YES =
VISC_SFLAGS_DEBUG = $(VISC_SFLAGS_DEBUG_$(HOST_OPT))
ACC_SFLAGS_YES= /MT$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
ACC_SFLAGS_NO= /MD$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
#
# no special libs for static link
#
ACC_SLIBS_YES=
ACC_SLIBS_NO=
# Configure OS vendor C++ compiler
#
# __STDC__=0 is a real great idea of Jeff that gives us both:
# 1) define STDC for EPICS code (pretend ANSI conformance)
# 2) set it to 0 to use MS C "extensions" (open for _open etc.)
# because MS uses: if __STDC__ ... disable many nice things
#
# Use of /Za would dissable DLL import/export keywords which
# EPICS include/excludes using architecture neutral macros
CCC = cl
CCC_NORMAL = $(CCC) /nologo /D__STDC__=0
CCC_STRICT = $(CCC) /nologo /D__STDC__=0
CCC_TEMPL_INST_FLAG =
#
# /W<N> use warning level N
# (maximum lint level warnings at level 4)
CCC_WARN_YES = /W3
CCC_WARN_NO = /W1
#
# /Ox maximum optimizations
CCC_OPT_YES = /Ox
#
# /Zi include debugging info in object files
# /Fr create source browser file
CCC_OPT_NO = /Zi /Fr
#
# the following options are required when
# vis c++ compiles the code (and includes
# the header files)
#
# /MT static multithreaded C RTL
# /MTd static multithreaded C RTL (debug version)
# /MD multithreaded C RTL in DLL
# /MDd multithreaded C RTL in DLL (debug version)
CCC_SFLAGS_YES= /MT$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
CCC_SFLAGS_NO= /MD$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
#
# no special libs for static link
#
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
OPT_LDFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
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
EXE=.exe
OBJ=.obj
RES=.res
# Problem: MS Visual C++ does not recognize *.cc as C++ source,
# we have to compile xx.cc using the flag -Tp xx.cc,
# i.e. -Tp has to be immediately before the source file name
SOURCE_CXXFLAG = /Tp
# Operating system flags
OP_SYS_CFLAGS =
#
# WIN32 specific include files
#
#OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32
#
# These are now added to the individual makefiles that use them in order to
# speed up the build
#
#OP_SYS_LDLIBS = user32.lib kernel32.lib advapi32.lib winmm.lib
OP_SYS_LDLIBS =
# Files and flags needed to link DLLs (used in RULES.Host)
#
# Strange but seems to work without: WIN32_DLLFLAGS should contain
# an entry point:
# '-entry:_DllMainCRTStartup$(DLLENTRY)'
DLLENTRY = @12
WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS)
#
# specify dll .def file only if it exists
#
DLL_DEF_FLAG = $(addprefix /def:,$(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) /nologo $(WIN32_DLLFLAGS) /implib:$(DLL_LINK_LIBNAME) /out:$(SHRLIBNAME) $(DLL_DEF_FLAG)
# 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))
LIBNAME = $(LIBRARY)Obj.lib
# 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 $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib)$(OBJECT_LIB_EXT))
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib)$(OBJECT_LIB_EXT))
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/$(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 $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib).lib)
USR_LDLIBS = $(PRODNAME_DEPLIBS) $(PROD_DEPLIBS) $(USR_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib)
DLL_LDLIBS = $(DLL_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
LINK.c = $(WINLINK) -nologo $(LDFLAGS) -out:$@
LINK.cc = $(WINLINK) -nologo $(LDFLAGS) -out:$@
#--------------------------------------------------
# Determine ld flags
#USR_DIRS = $(dir $(PRODNAME_DEPLIBS)) $(dir $(PROD_DEPLIBS))\
# $(dir $(USR_DEPLIBS))
#USR_LDFLAGS += $(sort $(USR_DIRS:%=-L%))

48
config/CONFIG.Host.alpha Normal file
View File

@@ -0,0 +1,48 @@
# CONFIG.Host.alpha
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.alpha
ARCH_CLASS = alpha
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar
# Configure OS vendor C compiler
ACC = cc
ACC_ANSI = $(ACC) -std
ACC_STRICT = $(ACC) -std1
ACC_TRAD = $(ACC) -std0
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -non_shared
ACC_SFLAGS_NO= -call_shared
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES = -shared
# Configure OS vendor C++ compiler
CCC = cxx
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
CCC_WARN_YES =
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
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
ARCH_DEP_LDLIBS =

View File

@@ -0,0 +1,34 @@
# CONFIG.Host.cygwin32
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.cygwin32
ARCH_CLASS = cygwin32
# cygwin32 is a unix-like arch
# include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
EXE=.exe
#==========================
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
# since OS vendor compilers ACC and CCC are not defined here for cygwin32
ANSI=GCC
CPLUSPLUS=G++
# Shared libraries not implemented yet
SHARED_LIBRARIES=NO
#==========================
# Fix for cygwin32 beta17.1 includes
#OP_SYS_INCLUDES += /usr/local/include/g++
#==========================
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

83
config/CONFIG.Host.hp700 Normal file
View File

@@ -0,0 +1,83 @@
# CONFIG.Host.hp700
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.hp700
ARCH_CLASS = hp700
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
SHRLIB_SUFFIX = .sl
AR = ar
# Configure OS vendor C compiler
ACC = cc
ACC_ANSI = $(ACC) -Aa
ACC_STRICT = $(ACC) -Aa
ACC_TRAD = $(ACC)
ACC_WARN_YES =
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES= -Wl,-a,archive
ACC_SFLAGS_NO=
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
HPCC_ANSI = $(HPCC) -Aa
HPCC_STRICT = $(HPCC) -Aa
HPCC_TRAD = $(HPCC) -Ac
HPCC_WARN_YES =
HPCC_WARN_NO = -w
HPCC_OPT_YES = -O
HPCC_OPT_NO = -g
HPCC_SFLAGS_YES= -Wl,-a,archive
HPCC_SFLAGS_NO=
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_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
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
# +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_LDLIBS =
ARCH_DEP_LDFLAGS = -Wl,+b,$(subst $(space),:,$(DEFAULT_SHRLIB_SEARCH_PATH)),+s

50
config/CONFIG.Host.sgi Normal file
View File

@@ -0,0 +1,50 @@
# CONFIG.Host.sgi
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.sgi
ARCH_CLASS = sgi
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar
# Configure OS vendor C compiler
ACC = cc
ACC_ANSI = $(ACC) -xansi
ACC_STRICT = $(ACC) -xansi
ACC_TRAD = $(ACC) -cckr -Xs
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 =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES = -KPIC
ACC_SHRLIB_LDFLAGS_YES = -shared
# Configure OS vendor C++ compiler
CCC = CC
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES =
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES= -Bstatic
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG =
CCC_SHRLIB_CFLAGS_YES = -KPIC
CCC_SHRLIB_LDFLAGS_YES = -shared
####KRCC = ??
ARCH_DEP_CFLAGS = -DSGI
ARCH_DEP_LDFLAGS =

View File

@@ -0,0 +1,66 @@
# CONFIG.Host.solaris
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.solaris
ARCH_CLASS = solaris
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
#
# required by sun's C++ compiler
#
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR) $@
RANLIB =
SPARCWORKS = /opt/SUNWspro
# Configure OS vendor C compiler
ACC = $(SPARCWORKS)/bin/cc
ACC_ANSI = $(ACC) -Xa
ACC_STRICT = $(ACC) -Xc -v
ACC_TRAD = $(ACC) -Xs
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_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
# Configure OS vendor C++ compiler
CCC = $(SPARCWORKS)/bin/CC
CCC_NORMAL = $(CCC) +p
CCC_STRICT = $(CCC) +p
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
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_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__
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS = -lsocket -lnsl

View File

@@ -0,0 +1,10 @@
# 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

@@ -0,0 +1,29 @@
# 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

86
config/CONFIG.Host.sun4 Normal file
View File

@@ -0,0 +1,86 @@
# CONFIG.Host.sun4
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.sun4
ARCH_CLASS = sun4
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
#
# required by sun's C++ compiler
#
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR) $@
RANLIB = ranlib
RANLIBFLAGS = -t
# Configure OS vendor C compilers
ACC = /usr/lang/acc
ACC_ANSI = $(ACC) -Xa
ACC_STRICT = $(ACC) -Xc
ACC_TRAD = $(ACC) -Xs
ACC_WARN_YES = -vc
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_OP_SYS_LDFLAGS = -L$(SPECIAL_LANG)
ACC_SHRLIB_CFLAGS_YES = -pic
ACC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@
SUNCC = cc
SUNCC_ANSI = echo SUNCC_ANSI not defined
SUNCC_STRICT = echo SUNCC_STRICT not defined
SUNCC_TRAD = $(SUNCC)
SUNCC_WARN_YES =
SUNCC_WARN_NO = -w
SUNCC_OPT_YES = -O
SUNCC_OPT_NO = -g
SUNCC_SFLAGS_YES= -Bstatic
SUNCC_SFLAGS_NO=
SUNCC_SLIBS_YES=
SUNCC_SLIBS_NO=
SUNCC_SHRLIB_CFLAGS_YES = -pic
SUNCC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@
# Configure OS vendor C++ compiler
CCC = /usr/lang/CC
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES =
CCC_WARN_NO =
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = +w
CCC_WARN_NO =
CCC_OPT_YES = -O
CCC_OPT_NO = -g
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__
GCC_STRICT += -D__USE_FIXED_PROTOTYPES__
ACC_ARCH_DEP_LDLIBS =
GCC_ARCH_DEP_LDLIBS = -liberty
ARCH_DEP_LDLIBS = $($(ANSI)_ARCH_DEP_LDLIBS)
ARCH_DEP_CFLAGS = -DSUNOS4
#SPECIAL_LANG = /usr/lang/SC3.0.1
#SPECIAL_LANG = /usr/lang/lib

142
config/CONFIG.LynxOS Normal file
View File

@@ -0,0 +1,142 @@
#*************************************************************************
# 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
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = LynxOS
lynx_pc486 =YES
CC = gcc
CXX = g++
#--------------------------------------------------
# vxWorks directory definitions
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
# can be overridden for specific host architectures
# by creating a CONFIG_SITE.Vx.<host_arch> file with
# the override definitions.
# Tornado directory definitions
VX_INCLUDE_YES =
VX_GNU_YES =
VX_GNU_BIN_YES =
VX_GNU_LIB_YES =
# pre Torando directory definitions
VX_INCLUDE_NO =
VX_GNU_NO =
VX_GNU_BIN_NO =
# directory definitions
VX_DIR =
VX_INCLUDE =
VX_GNU =
GNU_BIN = /usr/local/bin
GNU_LIB = /usr/local/lib
#--------------------------------------------------
# VxWorks command definitions
#GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
#CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
#RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
#LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
GCC = gcc
CPP = cpp
LD = ld -r
#--------------------------------------------------
# Tornado C++ crosscompiler definitions
#CPLUSPLUS_YES = G++
#G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
#LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
#NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
#MUNCH = $(GNU_BIN)/munch
CPLUSPLUS_YES = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
G++ = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
LD_G++ = ld -r
NM = nm
#--------------------------------------------------
# Pre Tornado C++ crosscompiler definitions
# These are pre tornado definitions for Hideos builds (defined for 68k only)
#CPLUSPLUS_NO = CCC
#CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL
#LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r
CPLUSPLUS_NO = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
CCC = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
LD_CCC = ld -r
CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS)
CCC_STRICT = $(CCC) -ansi -pedantic -Wall -traditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TEMPL_INST_FLAG = -DEXPL_TEMP
CCC_WARN_YES = -Wall
CCC_WARN_NO = -w
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_DEPENDS_FLAG = -pedantic -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
CPU = i486
OS = lynxos
OLD_ARCH_DEP_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
# --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
# -DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
OLD_ARCH_DEP_LDFLAGS = -mposix -lc -lbsd -lnsl -lm -lposix4d9 -llynx
# -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
#--------------------------------------------------
# C compiler definitions
ANSI = gcc -ansi
#--------------------------------------------------
# Command definitions
CPLUSPLUS = g++
# $(CPLUSPLUS_$(TORNADO))
LD_CXX = ld -r
# $(LD_$(CPLUSPLUS))
#--------------------------------------------------
# Operating system flags
OP_SYS_INCLUDES =
# -I$(VX_INCLUDE)
OP_SYS_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
# -DvxWorks -DV5_vxWorks -fno-builtin
OP_SYS_LDFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
OP_SYS_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
#--------------------------------------------------
# Optimization flag overrides
GCC_OPT_YES = -O
# 2 -fstrength-reduce
G++_OPT_YES = -O
# 2 -fstrength-reduce
#--------------------------------------------------
# Link definitions
LINK.c = $(LD) $(LDFLAGS) -o
LINK.cc = $(LD_CXX) $(LDFLAGS) -o

138
config/CONFIG.Vx Normal file
View File

@@ -0,0 +1,138 @@
#*************************************************************************
# 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
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = vxWorks
#--------------------------------------------------
# vxWorks directory definitions
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
# can be overridden for specific host architectures
# by creating a CONFIG_SITE.Vx.<host_arch> file with
# the override definitions.
# Tornado directory definitions
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_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_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
RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
#--------------------------------------------------
# Tornado C++ crosscompiler definitions
CPLUSPLUS_YES = G++
G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
MUNCH = $(GNU_BIN)/munch
#--------------------------------------------------
# Pre Tornado C++ crosscompiler definitions
# These are pre tornado definitions for Hideos builds (defined for 68k only)
CPLUSPLUS_NO = CCC
CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL
LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r
CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS)
CCC_STRICT = $(CCC) -ansi -pedantic -Wtraditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS)
CCC_TEMPL_INST_FLAG =
CCC_WARN_YES = -Wall
CCC_WARN_NO = -w
CCC_OPT_YES = -O2 -fstrength-reduce
CCC_OPT_NO =
CCC_DEPENDS_FLAG = -MM
CPU = 68000
OS = VXWORKS
OLD_ARCH_DEP_CFLAGS = --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
-DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
OLD_ARCH_DEP_LDFLAGS = -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
#--------------------------------------------------
# C compiler definitions
ANSI = GCC
#--------------------------------------------------
# Command definitions
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)
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
G++_OPT_YES = -O2 -fstrength-reduce
G++_OPT_NO = -g
OPT_CFLAGS = $($(ANSI)_OPT_$(VX_OPT))
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(VX_OPT))
#--------------------------------------------------
# Warning flag overrides
GCC_WARN_YES = -Wall
GCC_WARN_NO = -w
G++_WARN_YES = -Wall
G++_WARN_NO = -w
WARN_CFLAGS = $($(ANSI)_WARN_$(VX_WARN))
WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(VX_WARN))
#--------------------------------------------------
# Link definitions
LINK.c = $(LD) $(LDFLAGS) -o
LINK.cc = $(LD_CXX) $(LDFLAGS) -o

View File

@@ -0,0 +1,18 @@
# CONFIG.Vx.ppc604_long,v 1.1.2.1 2002/12/05 20:44:26 jba Exp
#
# 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 = -mcpu=604 -D_GNU_TOOL -DTRUE=1
ARCH_DEP_CFLAGS = --no-builtin -mstrict-align -mlongcall
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c

View File

@@ -0,0 +1,17 @@
# CONFIG.Vx.ppc604_long,v 1.1.2.1 2002/12/05 20:44:26 jba Exp
#
# This file is maintained by the EPICS community.
GCC_OPT_YES = -O2
# 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 = -mcpu=604 -DCPU=PPC604 -D_VXWORKS_COMPATIBILITY_MODE -DBSD=44
ARCH_DEP_CFLAGS = -mstrict-align -mlongcall -fno-implicit-fp -fno-strict-aliasing -fno-section-anchors
VENDOR_DEP_CFLAGS = -std=c99

15
config/CONFIG.Vx.frc40 Normal file
View File

@@ -0,0 +1,15 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0
ARCH_DEP_CFLAGS = -m68040

21
config/CONFIG.Vx.frc5ce Normal file
View File

@@ -0,0 +1,21 @@
# CONFIG.Vx.frc5ce
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = sparc
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = sparc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=SPARC -DCPU_FAMILY=SPARC
ARCH_DEP_CFLAGS =
# Removed -O2 [24/12/96 PMM]
OLD_ARCH_DEP_CXXFLAGS = -fno-builtin -ansi -pipe -nostdinc -DCPU=SPARC \
-DVXWORKS -Dsigned= -Dvolatile= +V
# Definitions for pre Tornado c++ builds
CCC = CENTERLINE
CCC_NORMAL = $(VX_DIR)/bin/sun4/CCsparc
CCC_STRICT = $(VX_DIR)/bin/sun4/CCsparc

20
config/CONFIG.Vx.hkbaja47 Normal file
View File

@@ -0,0 +1,20 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = mips
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = mips
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=R4000
ARCH_DEP_CFLAGS = -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0
# Arch specific flags
GCC += -fsigned-char
LD += -EB -X

16
config/CONFIG.Vx.hkv2f Normal file
View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68020
ARCH_DEP_CFLAGS = -m68020

16
config/CONFIG.Vx.mv147 Normal file
View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68030
ARCH_DEP_CFLAGS = -m68030

15
config/CONFIG.Vx.mv1604 Normal file
View File

@@ -0,0 +1,15 @@
# $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 (TRUE=1 via LBL; needed in camessage.c)
ARCH_DEP_CPPFLAGS = -DCPU_FAMILY=PPC -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
ARCH_DEP_CFLAGS = -fno-for-scope

16
config/CONFIG.Vx.mv162 Normal file
View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
ARCH_DEP_CFLAGS = -m68040

15
config/CONFIG.Vx.mv162lc Normal file
View File

@@ -0,0 +1,15 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
ARCH_DEP_CFLAGS = -m68040 -msoft-float

16
config/CONFIG.Vx.mv167 Normal file
View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
ARCH_DEP_CFLAGS = -m68040

16
config/CONFIG.Vx.mv177 Normal file
View File

@@ -0,0 +1,16 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
ARCH_DEP_CFLAGS = -m68040

16
config/CONFIG.Vx.mv2700 Normal file
View File

@@ -0,0 +1,16 @@
# $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

16
config/CONFIG.Vx.niCpu030 Normal file
View File

@@ -0,0 +1,16 @@
# CONFIG.Vx.niCpu030
#
# This file is maintained by the EPICS community.
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DNICPU030
ARCH_DEP_CFLAGS = -m68030

17
config/CONFIG.Vx.pc486 Normal file
View File

@@ -0,0 +1,17 @@
# CONFIG.Vx.pc486
#
# 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 = pc486
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
ARCH_DEP_CFLAGS = -m486
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop

16
config/CONFIG.Vx.ppc603 Normal file
View File

@@ -0,0 +1,16 @@
# $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

@@ -0,0 +1,16 @@
# $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

17
config/CONFIG.Vx.ppc604 Normal file
View File

@@ -0,0 +1,17 @@
# $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

@@ -0,0 +1,17 @@
# $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

16
config/CONFIG.Vx.sbs_pc6 Normal file
View File

@@ -0,0 +1,16 @@
# 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

17
config/CONFIG.Vx.vxipc Normal file
View File

@@ -0,0 +1,17 @@
# CONFIG.Vx.VXIpc
#
# 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 = pc486
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
ARCH_DEP_CFLAGS = -m486
ARCH_DEP_CXXFLAGS += -x 'c++'
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop

63
config/CONFIG_BASE Normal file
View File

@@ -0,0 +1,63 @@
#*************************************************************************
# 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$
#
# the order of following list is important
#
# for c++ build add the dirs gdd and cas after ca
# (and uncomment the c++ files in src/lbCom/Makefile.Unix)
#
DIRS = tools
DIRS += include
DIRS += cxxTemplates
DIRS += toolsComm
DIRS += makeBaseApp
DIRS += libCom
DIRS += libvxWorks
DIRS += cvtDctsdr
DIRS += dbStatic
DIRS += db
DIRS += bpt
DIRS += ca
DIRS += util
DIRS += misc
DIRS += sequencer
DIRS += dbtools
DIRS += rsrv
DIRS += rec
DIRS += as
#DIRS += drv
#DIRS += dev
DIRS += dev/softDev
DIRS += dev/symbDev
DIRS += dev/testDev
#DIRS += devOpt
DIRS += iocCore
#
# if CPLUSPLUS isnt empty then include C++ src codes
#
#DIRS += $(patsubst %,gdd,$(strip $(CPLUSPLUS)))
#DIRS += $(patsubst %,cas,$(strip $(CPLUSPLUS)))
EPICS_BASE = $(TOP)
# EPICS include config file
include $(EPICS_BASE)/config/CONFIG
ifdef INSTALL_LOCATION_BASE
INSTALL_LOCATION = $(INSTALL_LOCATION_BASE)
endif
EPICS_BASE = $(INSTALL_LOCATION)

View File

@@ -0,0 +1,31 @@
#*************************************************************************
# 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$
#
# EPICS Version information
#
# This file is interpreted by the Bourne Shell (MakeRelease), so spaces are
# not allowed around the '=' signs or in unquoted values.
#
EPICS_VERSION=3
EPICS_REVISION=13
EPICS_MODIFICATION=10
EPICS_UPDATE_NAME=
EPICS_UPDATE_LEVEL=0
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)"
CVS_DATE="\$$Date$$"

247
config/CONFIG_COMMON Normal file
View File

@@ -0,0 +1,247 @@
#*************************************************************************
# 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$
#
# CONFIG_COMMON - Another EPICS BASE config file
# by Matthew Needes and Mike Bordua
#
# This file is to be maintained by the EPICS community.
#
# Common Configuration Information
# 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
INSTALL_INCLUDE = $(INSTALL_LOCATION)/include
INSTALL_DOC = $(INSTALL_LOCATION)/doc
INSTALL_HTML = $(INSTALL_LOCATION)/html
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
DIVIDER = .
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
EYACC = $(EPICS_BASE_HOST_BIN)/antelope$(EXE)
ELEX = $(EPICS_BASE_HOST_BIN)/e_flex$(EXE) -S$(EPICS_BASE_INCLUDE)/flex.skel.static
YACC = $(EYACC)
LEX = $(ELEX)
# Default for perl if it's on the PATH,
# otherwise override this in CONFIG_SITE_HOST_ARCH.<host_arch>
PERL=perl
# install from EPICS
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
INSTALL_PRODUCT = $(INSTALL)
INSTALL_LIBRARY = $(INSTALL)
# dbtools from EPICS
# state notation language compiler (installed from base/src/sequencer)
SNC = $(EPICS_BASE_HOST_BIN)/snc$(EXE)
ifdef T_A
INSTALL_LIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
#--------------------------------------------------
# GNU compiler defaults
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
GCC_OPT_NO = -g
GCC_SFLAGS_YES = -static
GCC_SFLAGS_NO =
GCC_SLIBS_YES =
GCC_SLIBS_NO =
GCC_SHRLIB_CFLAGS_YES =
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\
-Wpointer-arith -Winline
G++_WARN_NO = -w
G++_OPT_YES = -O
G++_OPT_NO = -g
G++_SFLAGS_YES = -static
G++_SFLAGS_NO =
G++_SLIBS_YES =
G++_SLIBS_NO =
G++_DEPENDS_FLAG = -MM
G++_SHRLIB_CFLAGS_YES =
G++_SHRLIB_LDFLAGS_YES = -shared
#--------------------------------------------------
# C compiler
CC = $($(ANSI)_$(CMPLR))
#---------------------------------------------------------------
# Vendor compiler dependent options
VENDOR_DEP_CFLAGS = $($(ANSI)_DEP_CFLAGS)
VENDOR_DEP_CXXFLAGS = $($(CPLUSPLUS)_DEP_CFLAGS)
#--------------------------------------------------
# C++ compiler
CXX = $($(CPLUSPLUS)_$(CXXCMPLR))
#---------------------------------------------------------------
# Architecture dependent options (solaris,sun4,mv167,...)
ARCH_DEP_CFLAGS =
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
ARCH_DEP_LDFLAGS =
ARCH_DEP_LDLIBS =
#---------------------------------------------------------------
# Operating system dependent options (Unix,Vx,WIN32...)
OP_SYS_CFLAGS =
OP_SYS_LDFLAGS =
OP_SYS_INCLUDES =
OP_SYS_LDLIBS =
#--------------------------------------------------
# SOURCE* used by WIN32 only
SOURCE_CFLAG =
SOURCE_CXXCFLAG =
#--------------------------------------------------
# Makefile specific options
USR_INCLUDES =
USR_CFLAGS =
USR_CXXFLAGS =
USR_LDFLAGS =
USR_LDLIBS =
USR_CPPFLAGS =
USR_DBDFLAGS =
#--------------------------------------------------
# Target specific options
TARGET_INCLUDES = $($(basename $@)_INCLUDES)
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
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)
WARN_CFLAGS = $($(ANSI)_WARN_$(HOST_WARN))
WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(HOST_WARN))
#--------------------------------------------------
# Optimization flags (CONFIG.Vx will override)
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
#--------------------------------------------------
# Include files
INCLUDES = -I. -I.. $(USR_INCLUDES) $(EPICS_INCLUDES) $(TARGET_INCLUDES) $(OP_SYS_INCLUDES)
CFLAGS = $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
$(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VENDOR_DEP_CFLAGS) $(STATIC_CFLAGS)\
$(OP_SYS_CFLAGS) $(INCLUDES)
CXXFLAGS = $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
$(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(VENDOR_DEP_CXXFLAGS) $(STATIC_CXXCFLAGS)\
$(OP_SYS_CFLAGS) $(TEMPL_INST_CXXFLAG) $(INCLUDES)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
$(ARCH_DEP_LDFLAGS) $(STATIC_LDFLAGS) $(OP_SYS_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS)\
$(STATIC_LDLIBS) $(OP_SYS_LDLIBS)
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)
endif

137
config/CONFIG_ENV Normal file
View File

@@ -0,0 +1,137 @@
#*************************************************************************
# 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
#
# Experimental Physics and Industrial Control System (EPICS)
#
# CONFIG_ENV - EPICS Environment Parameter configuration file
#
# This file is interpreted by the Bourne Shell, so spaces are
# not allowed around the '=' signs or in unquoted values.
# Makefile variables are not defined here.
#
# Note: This file is read by base/src/libCom/bldEnvdata.pl,
# so the variable definitions in here should be kept 'simple':
# VAR=VALUE
# each one on a single line.
#
# Default environment settings
# Channel Access:
# EPICS_CA_ADDR_LIST
# Augment beacon/search dest ip addr list
# from white space separated ip addresses in this
# environment variable. "Quote" if more than one addr.
# EPICS_CA_AUTO_ADDR_LIST
# YES = augment beacon/search dest ip
# addr list from network interfaces found; NO = only use
# EPICS_CA_ADDR_LIST to create this list.
# EPICS_CA_CONN_TMO
# after not seeing a server beacon for this number
# of seconds the clients will send an echo request over
# tcp/ip to verify the connection.
# EPICS_CA_REPEATER_PORT CA repeater port number.
# EPICS_CA_SERVER_PORT CA server port number.
EPICS_CA_ADDR_LIST=""
EPICS_CA_AUTO_ADDR_LIST=YES
EPICS_CA_CONN_TMO=30.0
EPICS_CA_REPEATER_PORT=5065
EPICS_CA_SERVER_PORT=5064
#
# These parameters are only used by the CA server library
#
# EPICS_CA_BEACON_PERIOD
# quiescent sec between server beacons.
# EPICS_CAS_INTF_ADDR_LIST - list of IP addresses identifying
# a limited set of network interfaces for server communication.
# Specifically, this parameter specifies the interfaces from
# which the server will accept TCP/IP connections. It also
# specifies that UDP search messages addressed to both
# the IP addresses in EPICS_CAS_INTF_ADDR_LIST and also
# the broadcast addresses (or the destination addresses of
# point to point interfaces) of the corresponding interfaces
# will be accepted by the server. If this parameter is empty
# then TCP/IP connections are accepted from any interface
# (and any search messages addressed to the host are accepted).
# Beacons are sent only to the broadcast address of each interface
# in this list (or the destination address of point to point
# interfaces) if EPICS_CA_AUTO_ADDR_LIST is YES.
# Type "ifconfig -a" in order to determine which interfaces
# are available.
# EPICS_CAS_BEACON_ADDR_LIST - If this parameter is specified
# or if EPICS_CAS_INTF_ADDR_LIST isnt empty then this parameter
# is used instead of EPICS_CA_ADDR_LIST by the server library
# to augment the list of addresses to send beacons to.
# EPICS_CAS_SERVER_PORT - If this parameter is specified then it
# and not EPICS_CA_SERVER_PORT is used to determine the server's
# port number. It is possible to have multiple servers on the
# same host on the same EPICS_CAS_SERVER_PORT port if the IP
# kernel is modern (if it has multicast enhancements). In this
# situation all servers will share the same user specified
# UDP port number and will be assigned unique TCP port numbers.
# The fact that the servers may not be using the user specified
# port number for TCP will be completely transparent to EPICS
# 3.13 or higher clients that will be locating the servers
# using the user specified UDP port number, but will be connecting to
# the servers using whatever TCP port has been assigned.
#
# If experiencing trouble getting clients to connect
# --------------------------------------------------
#
# o Make sure that the broadcast addresses are identical on the
# server's host and on the client's host. This can be checked with
# "netstat -i" or "ifconfig -a".
#
# o Make sure that the client and server are using the same UDP
# port. Check the server's port by running "netstat -a | grep nnn"
# where nnn is the port number involved. If you do not set
# EPICS_CA_SERVER_PORT or EPICS_CAS_SERVER_PORT
# then the default port will be 5064.
#
# o Two servers can run on the same host with the same server port number
# if the following restrictions are understood (good luck). If the host has a
# modern IP kernel it is possible to have two servers on the same UDP port.
# It is not possible for two servers to run on the same host using the same
# TCP IP server port. If the CA server library detects that a 2nd server is attempting
# to start on the same port as an existing CA server then both servers will use the
# same UDP port if it is a modern IP kernel, and the 2nd server will
# be allocated a new TCP port. In this situation the clients will still be
# configured to use the same port number for both servers. The clients
# will find the 2nd server via the shared UDP port, and transparently
# connect to the 2nd server's allocated TCP port. Be aware that If there are
# two server's running on the same host on the same UDP port then they will
# both receive all UDP search requests sent as broadcasts, but will unfortunately (due to
# what I consider to be a real weakness of most IP kernel implementations) only one
# of the servers will typically receive UDP search requests sent to unicast addresses (i.e.
# a specific host's ip address).
#
EPICS_CA_BEACON_PERIOD=15.0
EPICS_CAS_INTF_ADDR_LIST=""
EPICS_CAS_BEACON_ADDR_LIST=""
EPICS_CAS_SERVER_PORT=
# Log Server:
# EPICS_IOC_LOG_PORT Log server port number etc.
EPICS_IOC_LOG_PORT=7004
# Other services:
EPICS_CMD_PROTO_PORT=
EPICS_AR_PORT=7002

View File

@@ -0,0 +1,22 @@
# 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

@@ -0,0 +1,9 @@
# CONFIG_HOST_ARCH.Linux
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = x86-linux

View File

@@ -0,0 +1,20 @@
# CONFIG_HOST_ARCH.UnixCommon
#
# Unix command definitions
CP = cp
MV = mv
RM = rm -f
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

@@ -0,0 +1,21 @@
# CONFIG_HOST_ARCH.WIN32
#
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
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

@@ -0,0 +1,9 @@
# CONFIG_HOST_ARCH.alpha
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = alpha

View File

@@ -0,0 +1,13 @@
# CONFIG_HOST_ARCH.cygwin32
#
# This file is maintained by the EPICS community.
# Include definitions common to all Unix archs
-include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
EXE=.exe
TORNADO=YES
WIND_HOST_TYPE = x86-win32

View File

@@ -0,0 +1,8 @@
# CONFIG_HOST_ARCH.hp700
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = parisc-hpux10

View File

@@ -0,0 +1,9 @@
# CONFIG_HOST_ARCH.sgi
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = sgi

View File

@@ -0,0 +1,9 @@
# CONFIG_HOST_ARCH.solaris
#
# 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

@@ -0,0 +1,9 @@
# CONFIG_HOST_ARCH.solaris-x86
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = x86-solaris2

View File

@@ -0,0 +1,9 @@
# 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

@@ -0,0 +1,14 @@
# CONFIG_HOST_ARCH.sun4
#
# Override values in CONFIG.Vx
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
WIND_HOST_TYPE = sun4-sunos4
##########################
# added temporarily because gdd will not compile - 2/18/98
CPLUSPLUS =
##########################

172
config/CONFIG_SITE Normal file
View File

@@ -0,0 +1,172 @@
#
# $Id$
#
# CONFIG_SITE - EPICS BASE config file
# by Matthew Needes and Mike Bordua
#
# This file is to be modified by the EPICS system manager
# only.
#
INSTALL_LOCATION=/usr/local/epics/base-3.13.10
# The host architecture performing the build,
# i.e.: the arch running DCT/getrel/etc.
#
# Currently Supporting:
# Borland
# Linux
# WIN32
# alpha
# cygwin32
# hp700
# sgi
# solaris
# solarisGnu (GNU compiler)
# solaris-x86
# sun4
#
# HOST_ARCH now an environment variable
# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch)
ifndef HOST_ARCH
HOST_ARCH=unsupported
endif
# The architectures to build EPICS for
#
# Currently Supporting:
# frc40
# frc5ce
# hkbaja47
# hkv2f
# mv147
# mv1604
# mv162
# mv162lc
# mv167
# mv177
# mv2700
# niCpu030
# pc486
# ppc603
# ppc604
# ppc603_long (over 32MB)
# ppc604_long (over 32MB)
# sbs_pc6
# vxipc
#
CROSS_COMPILER_TARGET_ARCHS=T2-ppc604 V69-ppc604
# If only a subset of the host architectures perform
# the build for the CROSS_COMPILER_TARGET_ARCHS
# uncomment the following line and specify them.
#
#CROSS_COMPILER_HOST_ARCHS=sun4
# Vx release Tornado?
# must be either YES or NO
TORNADO=YES
#TORNADO=NO
# VxWorks directory for TORNADO=YES
#VX_DIR_YES=c:\\Tornado
VX_DIR_YES = /usr/local/vw/tornado202p1
# VxWorks directory for TORNADO=NO
#VX_DIR_NO=$(VW)
#VX_DIR_NO=/usr/local/vw/vxV51.mm
#VX_DIR_NO=/usr/local/vw/vxV52/vw
#VX_DIR_NO=c:/Tornado/target
VX_DIR_NO=/usr/local/vw/vxV52p1/vw
# Directory for TORNADO=NO gnu gcc crosscompiler
VX_GNU_NO = $(VX_DIR_NO)/../vxgccV2.2.3.1
# Directory for TORNADO=NO gnu g++ crosscompiler
# used by applications for hideos builds only
#GNU_DIR = $(LOCAL_GNU)
GNU_DIR = /usr/local/hideos/gnu_install-2.7.2
# Client ANSI C Compiler (for Host builds)
# GCC (gcc -ansi) GNU
# ACC (acc) OS VENDOR
# HPACC (cc -Aa) OTHER VENDOR
ANSI=ACC
# C++ Compiler (for Host builds)
# G++ (g++) GNU C++
# CCC (CC) OS VENDOR C++
#Note: if CPLUSPLUS is empty then C++ src codes are not built
#CPLUSPLUS= # use this if site does not have C++ compiler
CPLUSPLUS=CCC
# Default ANSI level, individual Makefiles will override
# if they cannot support ANSI compilation.
# STRICT - ANSI C - force warning flags
# ANSI - ANSI C
# OLD - Standard C - Not appropriate here.
CMPLR=STRICT
# Default C++ compiler ANSI level
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
# 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
# NOTE: CONFIG_SITE.Host.$(HOST_ARCH) files may override
#
# 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
# include fullpathname $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
# for both the base build and when invoking base executables
SHARED_LIBRARIES=NO
# Build client objects statically ?
# must be either YES or NO
STATIC_BUILD=NO
# Unix Optimization
# must be either YES or NO
HOST_OPT=YES
# VxWorks Optimization
# must be either YES or NO
VX_OPT=YES
# Generate Verbose Compiler Warnings for Unix
# must be either YES or NO
HOST_WARN=YES
# Generate Verbose Compiler Warnings for VxWorks
# must be either YES or NO
VX_WARN=YES
# adl2dl
ADL2DL = $(EPICS_EXTENSIONS)/bin/$(HOST_ARCH)/adl2dl
# sch2edif compiler and flags
SCH2EDIF = sch2edif
SCH2EDIF_PATH =
SCH2EDIF_SYSFLAGS = -n -ap -p.+..+$(SCH2EDIF_PATH)+$(EPICS_EXTENSIONS)/templates/capfast/sym+
SCH2EDIF_FLAGS =
# e2db and flags
# - again there is an assumption where edb.def is installed.
E2DB = $(EPICS_EXTENSIONS)/bin/$(HOST_ARCH)/e2db
E2DB_SYSFLAGS = -ate -d $(EPICS_EXTENSIONS)/templates/capfast/edb.def
E2DB_FLAGS =
#dbst
DBST = $(EPICS_EXTENSIONS)/bin/$(HOST_ARCH)/dbst

View File

@@ -0,0 +1,10 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
SHARED_LIBRARIES = YES
BORLAND=C:\\Borland\\bcc55

View File

@@ -0,0 +1,8 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
SHARED_LIBRARIES = YES

View File

@@ -0,0 +1,26 @@
#
# $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

@@ -0,0 +1,11 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# APS overrides of definitions
#GCC = /opt/gnu/bin/gcc
#G++ = /opt/gnu/bin/g++

View File

@@ -0,0 +1,28 @@
# $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

@@ -0,0 +1,14 @@
# $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

@@ -0,0 +1,10 @@
# $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

@@ -0,0 +1,9 @@
VX_DIR = /afs/psi.ch/project/vxworks/Tornado2.2
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -x c -E
G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
# Compiler bug: Optimization corrupts floating point calculations
VX_OPT = NO
GCC_OPT_NO =

View File

@@ -0,0 +1,20 @@
VXWORKS_VERSION = 6.9
VXWORKS_MAJOR_VERSION = 6
WIND_HOST_TYPE = x86-linux2
WIND_BASE=/afs/psi.ch/project/vxworks/VxWorks$(VXWORKS_VERSION)
LD_LIBRARY_PATH+=:$(WIND_BASE)/lmapi-5.0/$(WIND_HOST_TYPE)/lib
export WIND_BASE LD_LIBRARY_PATH
VX_DIR = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
OP_SYS_INCLUDES += -I$(VX_DIR)/target/h/wrn/coreip
GNU_DIR := $(wildcard $(WIND_BASE)/gnu/*-vxworks-*/$(WIND_HOST_TYPE))
GNU_BIN = $(GNU_DIR)/bin
GCC_EXEC_PREFIX = $(GNU_DIR)/libexec/gcc
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -x c -E
G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX)
NM = $(VX_DIR)/host/binutils/$(WIND_HOST_TYPE)/bin/nm$(CMPLR_SUFFIX)

View File

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

45
config/CONFIG_SITE_ENV Normal file
View File

@@ -0,0 +1,45 @@
# $Id$
# Author: Andrew Johnson
# Date: 1 May 1995
#
# Experimental Physics and Industrial Control System (EPICS)
#
# CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file
#
# This file is interpreted by the Bourne Shell, so spaces are
# not allowed around the '=' signs or in unquoted values.
# Makefile variables are not defined here.
#
# Note: This file is read by base/src/libCom/bldEnvdata.pl,
# so the variable definitions in here should be kept 'simple':
# VAR=VALUE
# each one on a single line.
#
# Site-specific environment settings
# Time service:
# EPICS_TS_MIN_WEST the local time difference from GMT.
# EPICS_TS_NTP_INET ntp or Unix time server ip addr.
EPICS_TS_MIN_WEST=360
EPICS_TS_NTP_INET=
# Log Server:
# EPICS_IOC_LOG_INET
# Log server ip addr.
# EPICS_IOC_LOG_FILE_NAME
# pathname to the log file.
# EPICS_IOC_LOG_FILE_LIMIT
# maximum log file size.
# EPICS_IOC_LOG_FILE_COMMAND
# A shell command string used to obtain a new
# path name in response to SIGHUP - the new path name will
# replace any path name supplied in EPICS_IOC_LOG_FILE_NAME
EPICS_IOC_LOG_INET=
EPICS_IOC_LOG_FILE_NAME=
EPICS_IOC_LOG_FILE_COMMAND=
EPICS_IOC_LOG_FILE_LIMIT=1000000

19
config/Makefile Normal file
View File

@@ -0,0 +1,19 @@
#*************************************************************************
# 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$
#
TOP=..
include $(TOP)/config/CONFIG_BASE
include $(TOP)/config/RULES_ARCHS

43
config/Makefile.Host Normal file
View File

@@ -0,0 +1,43 @@
#*************************************************************************
# 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$
#
TOP = ../..
include $(TOP)/config/CONFIG_BASE
CONFIGS += CONFIG
CONFIGS += CONFIG_BASE
CONFIGS += CONFIG_BASE_VERSION
CONFIGS += CONFIG_COMMON
CONFIGS += CONFIG_ENV
CONFIGS += CONFIG.Host.$(HOST_ARCH)
CONFIGS += CONFIG_HOST_ARCH.$(HOST_ARCH)
CONFIGS += CONFIG.Host.UnixCommon
CONFIGS += CONFIG_HOST_ARCH.UnixCommon
CONFIGS += CONFIG.Vx
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG.Vx.%)
CONFIGS += CONFIG_SITE
CONFIGS += CONFIG_SITE_ENV
CONFIGS += $(subst ../,,$(wildcard ../CONFIG_SITE*))
CONFIGS += RULES.Host
CONFIGS += RULES.Unix
CONFIGS += RULES.Vx
CONFIGS += RULES_ARCHS
CONFIGS += RULES_DIRS
CONFIGS += RULES_TOP
include $(TOP)/config/RULES.Host

854
config/RULES.Host Normal file
View File

@@ -0,0 +1,854 @@
#*************************************************************************
# 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,
# but so far the rules are quite similar on all systems
# except WIN32 has some specials.
#
# Maybe there is a way to use indentation to make it
# easier to read this file?
#
# Most things may also work if you say e.g.
# VAR+=ADD
# even if ADD is not there, but this way "VAR" would
# be defined in any case, that's why I try to use
# ifdef ADD
# VAR+=ADD
# endif
#
# -kuk-
# we are in O.$(ARCH_CLASS), but most sources are one dir above:
#
# The use of VPATH (no suffix specification) caused everything
# to break several times.
# vpath, of course, has the disadvantage that we need explicit rules
# for scripts or similar os-specific filed which have _no_ suffix...
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) ..
# check for add-on CFLAGS and CXXFLAGS
#
# Rules:
# 1) USR_CFLAGS is used
# 2) if there is a special USR_CFLAGS_$(ARCH_CLASS), it's
# appended to 1)
# 3) if there is no special defined, but a generic USR_CFLAGS_DEFAULT,
# this one is appended
# 4) if you have the special case that your USR_CFLAGS_$(ARCH_CLASS) is
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
# USR_CFLAGS = <defines for all systems>
# USR_CFLAGS_sun4 = -nil-
# USR_CFLAGS_DEFAULT = <defines for most systems, not sun4>
#
# These rules apply to these Makefile-variables:
# USR_CFLAGS C flags
# USR_CXXFLAGS C++ flags
# INC include-files to install
# LIBSRCS source files for building library
# PROD_LIBS EPICS libs needed by PROD and TESTPROD
# USR_LIBS NONEPICS libs needed by PROD and TESTPROD
# SYS_PROD_LIBS system libs needed by PROD and TESTPROD
# PROD products to build and install
# SCRIPTS scripts to install
#
# Remark:
# If you define a special INC, e.g. INC_WIN32 = getopt.h,
# the source (getopt.h) has to be in os/WIN32 (or os/<your ARCH_CLASS>)
#
# This makes INC_$(ARCH_CLASS) slightly different from OSINC:
# OSINC = a_file.h
# means that you have a special os/$(ARCH_CLASS)/a_file.h
# for _every_ ARCH_CLASS.
# If you use INC_$(ARCH_CLASS), you need the special include
# only for the specified ARCH_CLASS!
#
ifneq ($(strip $(USR_CFLAGS_$(ARCH_CLASS))),)
USR_CFLAGS+=$(subst -nil-,,$(USR_CFLAGS_$(ARCH_CLASS)))
else
ifdef USR_CFLAGS_DEFAULT
USR_CFLAGS+=$(USR_CFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CXXFLAGS_$(ARCH_CLASS))),)
USR_CXXFLAGS+=$(subst -nil-,,$(USR_CXXFLAGS_$(ARCH_CLASS)))
else
ifdef USR_CXXFLAGS_DEFAULT
USR_CXXFLAGS+=$(USR_CXXFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CPPFLAGS_$(ARCH_CLASS))),)
USR_CPPFLAGS+=$(subst -nil-,,$(USR_CPPFLAGS_$(ARCH_CLASS)))
else
ifdef USR_CPPFLAGS_DEFAULT
USR_CPPFLAGS+=$(USR_CPPFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LDFLAGS_$(ARCH_CLASS))),)
USR_LDFLAGS+=$(subst -nil-,,$(USR_LDFLAGS_$(ARCH_CLASS)))
else
ifdef USR_LDFLAGS_DEFAULT
USR_LDFLAGS+=$(USR_LDFLAGS_DEFAULT)
endif
endif
# check for special includes:
#
ifneq ($(strip $(INC_$(ARCH_CLASS))),)
# os-specific includes go to the include/os-directory:
OSINC += $(subst -nil-,,$(INC_$(ARCH_CLASS)))
else
ifdef INC_DEFAULT
INC += $(INC_DEFAULT)
endif
endif
# concat specific library contents (if defined) to LIBCONTENS
#
ifneq ($(strip $(LIBSRCS_$(ARCH_CLASS))),)
LIBSRCS += $(subst -nil-,,$(LIBSRCS_$(ARCH_CLASS)))
else
ifdef LIBSRCS_DEFAULT
LIBSRCS+=$(LIBSRCS_DEFAULT)
endif
endif
# adjust object names for library contents
#
ifdef LIBSRCS
LIBOBJS=$(addsuffix $(OBJ), $(basename $(LIBSRCS)))
endif
#
# concat specific library contents (if defined) to PROD_LIBS
#
ifneq ($(strip $(PROD_LIBS_$(ARCH_CLASS))),)
PROD_LIBS += $(subst -nil-,,$(PROD_LIBS_$(ARCH_CLASS)))
else
ifdef PROD_LIBS_DEFAULT
PROD_LIBS += $(PROD_LIBS_DEFAULT)
endif
endif
#
# concat specific library contents (if defined) to USR_LIBS
#
ifneq ($(strip $(USR_LIBS_$(ARCH_CLASS))),)
USR_LIBS += $(subst -nil-,,$(USR_LIBS_$(ARCH_CLASS)))
else
ifdef USR_LIBS_DEFAULT
USR_LIBS += $(USR_LIBS_DEFAULT)
endif
endif
#
# concat specific library contents (if defined) to SYS_PROD_LIBS
#
ifneq ($(strip $(SYS_PROD_LIBS_$(ARCH_CLASS))),)
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(ARCH_CLASS)))
else
ifdef SYS_PROD_LIBS_DEFAULT
SYS_PROD_LIBS += $(SYS_PROD_LIBS_DEFAULT)
endif
endif
#
# concat specific products
#
ifneq ($(strip $(PROD_$(ARCH_CLASS))),)
PROD += $(subst -nil-,,$(PROD_$(ARCH_CLASS)))
else
ifdef PROD_DEFAULT
PROD += $(PROD_DEFAULT)
endif
endif
#
# concat specific scripts
#
ifneq ($(strip $(SCRIPTS_$(ARCH_CLASS))),)
SCRIPTS += $(subst -nil-,,$(SCRIPTS_$(ARCH_CLASS)))
else
ifdef SCRIPTS_DEFAULT
SCRIPTS += $(SCRIPTS_DEFAULT)
endif
endif
#
# concat specific resource files
#
ifneq ($(strip $(RCS_$(ARCH_CLASS))),)
RCS += $(subst -nil-,,$(RCS_$(ARCH_CLASS)))
else
ifdef RCS_DEFAULT
RCS += $(RCS_DEFAULT)
endif
endif
# adjust executables
ifdef TESTPROD
TESTPROD := $(addsuffix $(EXE), $(TESTPROD))
endif
# adjust executables
ifdef PROD
PROD := $(addsuffix $(EXE), $(PROD))
endif
#-----------------------------------------------------------------
# if we are not building base add base includes and dbd 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
endif
endif
#---------------------------------------------------------------
# ----------------------------------------------------
# create names (lists) for installed things
# ----------------------------------------------------
INCREC +=$(RECTYPES) $(MENUS)
INSTALL_PROD= $(PROD:%= $(INSTALL_BIN)/%)
INSTALL_LIBS= $(LIBNAME:%=$(INSTALL_LIB)/%)
INSTALL_SHRLIBS= $(SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
INSTALL_DLL_LINK_LIBS=$(DLL_LINK_LIBNAME:%=$(INSTALL_LIB)/%)
INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
INSTALL_INC= $(INC:%=$(INSTALL_INCLUDE)/%)
INSTALL_OSINCLUDE=$(INSTALL_INCLUDE)/os/$(ARCH_CLASS)
INSTALL_OSINC= $(OSINC:%= $(INSTALL_OSINCLUDE)/%)
INSTALL_INCREC = $(INCREC:%= $(INSTALL_INCLUDE)/%)
MANLIST = 1 2 3 4 5 6 7 8 9
INSTALL_MANS = $(foreach n, \
$(MANLIST), $(MAN$(n):%= $(INSTALL_MAN)/man$(n)/%))
INSTALL_DOCS = $(DOCS:%= $(INSTALL_DOC)/%)
INSTALL_HTMLS = $(HTMLS:%= $(INSTALL_HTML)/$(HTMLS_DIR)/%)
INSTALL_SCRIPTS = $(SCRIPTS:%= $(INSTALL_BIN)/%)
ifdef TEMPLATES_DIR
INSTALL_TEMPLATES_SUBDIR = $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
else
INSTALL_TEMPLATES_SUBDIR = $(INSTALL_TEMPLATES)
endif
INSTALL_TEMPLATE = $(TEMPLATES:%= $(INSTALL_TEMPLATES_SUBDIR)/%)
INSTALL_CONFIGS = $(CONFIGS:%= $(INSTALL_CONFIG)/%)
INSTALL_BPTS = $(BPTS:%= $(INSTALL_DBD)/%)
INSTALL_DBS = $(DBDINSTALL:%= $(INSTALL_DBD)/%)\
$(RECTYPES:%.h= $(INSTALL_DBD)/%.dbd)\
$(MENUS:%.h= $(INSTALL_DBD)/%.dbd)
INSTALL_DBDNAME = $(DBDNAME:%= $(INSTALL_DBD)/%)
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
#---------------------------------------------------------------
ifneq ($(strip $(SHARED_LIBRARIES_$(ARCH_CLASS))),)
SHARED_LIBRARIES+=$(subst -nil-,,$(SHARED_LIBRARIES_$(ARCH_CLASS)))
else
ifdef SHARED_LIBRARIES_DEFAULT
SHARED_LIBRARIES_+=$(SHARED_LIBRARIES_DEFAULT)
endif
endif
#---------------------------------------------------------------
# always use c++ linker
ifneq ($(strip $(CPLUSPLUS)),)
LINK.c = $(LINK.cc)
endif # CPLUSPLUS
#---------------------------------------------------------------
# Version number for base shared libraries (and win32 products)
ifeq ($(EPICS_BASE),$(TOP))
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
endif # EPICS_BASE
#---------------------------------------------------------------
# Libraries
#
# 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!
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)))
# 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
SHRLIB_LINKER = $(CXX)
LIBTARGETS += $(SHRLIBNAME) $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS)
endif # SHARED_LIBRARIES=YES
endif # LIBOBJS
endif # LIBRARY
#---------------------------------------------------------------
all:: install
build:: inc
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) $(INSTALLS) \
$(MENUS) $(RECTYPES) $(BPTS)
ifdef DBDEXPAND
build:: $(DBDNAME)
endif
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
rebuild:: clean install
install:: buildInstall
buildInstall :: build $(TARGETS) \
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
$(INSTALL_MANS) \
$(INSTALL_DOCS) \
$(INSTALL_HTMLS) \
$(INSTALL_TEMPLATE) \
$(INSTALL_CONFIGS) \
$(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
clean::
@echo "Cleaning"
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \
*$(RES) $(TARGETS) *.dbd $(MENUS) $(RECTYPES) $(BPTS)
ifdef DBDEXPAND
@$(RM) $(DBDNAME)
endif
#---------------------------------------------------------------
# Products
#
PROD += $(TESTPROD)
ifdef PROD
COND_PROD_SRCS=$(foreach prod, $(basename $(PROD)), $($(prod)_SRCS))
COND_PROD_RCS=$(foreach prod, $(basename $(PROD)), $($(prod)_RCS) $($(prod)_RCS_$(ARCH_CLASS)))
ifdef PRODNAME
ifneq ($(strip $(PRODNAME_SRCS_$(ARCH_CLASS))),)
PRODNAME_SRCS += $(subst -nil-,,$(PRODNAME_SRCS_$(ARCH_CLASS)))
else
ifdef PRODNAME_SRCS_DEFAULT
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
ifdef PRODNAME_RCS_DEFAULT
PRODNAME_RCS += $(PRODNAME_RCS_DEFAULT)
endif
endif
$(PRODNAME): $(PROD_DEPLIBS) $(PRODNAME_DEPLIBS)
ifdef PRODNAME_SRCS
ifeq ($(findstring cc,$(suffix $(PRODNAME_SRCS))),cc)
PRODNAME_LINKER = $(LINK.cc)
else
PRODNAME_LINKER = $(LINK.c)
endif
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
# We have to use the product's true dependancies and
# call make again to determine if product should be rebuilt
ifneq ($(strip $(SRCS) $(COND_PROD_SRCS)),)
PROD_OBJS=$(addsuffix $(OBJ), $(basename $(SRCS) $(COND_PROD_SRCS)))
PROD_RESS=$(addsuffix $(RES), $(basename $(RCS) $(COND_PROD_RCS)))
PROD_MAKE_COMMAND=$(MAKE) $@\
PRODNAME="$@"\
PRODNAME_SRCS="$(SRCS) $($(basename $@)_SRCS)"\
PRODNAME_SRCS_DEFAULT="$($(basename $@)_SRCS_DEFAULT)"\
PRODNAME_SRCS_$(ARCH_CLASS)="$($(basename $@)_SRCS_$(ARCH_CLASS))"\
PRODNAME_RCS="$(RCS) $($(basename $@)_RCS)"\
PRODNAME_RCS_DEFAULT="$($(basename $@)_RCS_DEFAULT)"\
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_MAKE_COMMAND)
endif
endif #ifdef PRODNAME
endif #ifdef PROD
#---------------------------------------------------------------
# Java classes and packages
#
ifdef JAVA
DIRECTORY_TARGETS += $(INSTALL_JAVA)
ifdef PACKAGE
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
endif
endif
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
CLASSES += $(subst .java,.class,$(JAVA))
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)
$(DIRECTORY_TARGETS) :
$(MKDIR) $@
build:: $(TESTCLASSES) $(JAR)
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR) $(INSTALL_JAVADOC)
clean::
@$(RM) $(TESTCLASSES) $(JAR) $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
%.class:%.java
@echo Creating java class file $@
$(RM) $@
$(JAVACCMD) $<
$(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) $@
$(JARCMD)
$(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)
#---------------------------------------------------------------
#---------------------------------------------------------------
# Generic Rules for 'simple' targets that
# can be generated from a single source with same basename.
#
# The usual two rules .c* -> $(OBJ) and then $(OBJ) -> $(EXE)
# do not work because the $(OBJ)->$(EXE) rule wouldn't
# know if the original source was C or C++.
#
# Hint: The $(subst...) construct removes the .c or .cc
# as well as the '../' from the filename and adds $(OBJ):
# e.g. $< = '../abc.c' -> 'abc.o'
#
# The order of the following rules is
# VERY IMPORTANT !!!!
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)
$(RM) DEPENDS
ifneq ($(strip $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)),)
$(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)
%$(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) $<
%$(OBJ): %.cc
@$(RM) $@
$(COMPILE.cc) $<
%$(OBJ): %.cpp
@$(RM) $@
$(COMPILE.cc) $<
%$(OBJ): %.C
@$(RM) $@
$(COMPILE.cc) $<
# WIN95/NT resource compiler
%$(RES): %.rc
@$(RM) $@
$(RCCMD)
#
# rename the y.tab.h file only if we
# are creating it
#
%.h %.c: ../%.y
$(RM) $*.c y.tab.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(RM) $*.h y.tab.h
endif
$(YACC) $(YACCOPT) $<
$(MV) y.tab.c $*.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(MV) y.tab.h $*.h
endif
%.c: ../%.l
@$(RM) lex.yy.c
$(LEX) $(LEXOPT) $<
@$(RM) $@
$(MV) lex.yy.c $@
#state notation language rule
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $< $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: ../%.stt
@echo "converting $<"
ln -s $< $*.st
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
@$(RM) $*.st
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.edf: ../%.sch $(DEPSCHS)
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Adl2dl rule
%.dl : ../%.adl
-$(ADL2DL) $< $@
# Mangen Rule:
%.1:%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
$(INSTALL_DBD)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
$(INSTALL_DBD)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/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 $@
ifneq (,$(wildcard ../base.dbd))
$(DBDNAME): ../base.dbd
endif
endif
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) $@
$(ARCMD) $(LIBOBJS)
ifdef RANLIB
$(RANLIB) $@;
endif # RANLIB
endif
$(INSTALL_BIN)/%: ../os/$(ARCH_CLASS)/%
@echo "Installing os-specific script $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: %
@echo "Installing binary $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing script $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
@$(INSTALL_LIBRARY) -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_SHRLIB)/lib%: lib%
@echo "Installing library $@"
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
ifdef SHRLIB_VERSION
$(RM) $(subst .$(SHRLIB_VERSION),,$@)
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
endif # SHRLIB_VERSION
$(INSTALL_TCLLIB)/%: %
@echo "Installing Tcl library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_TCLLIB)
$(INSTALL_TCLLIB)/%: ../%
@echo "Installing Tcl library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_TCLLIB)
$(INSTALL_CONFIG)/%: %
@echo "Installing config file $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(INSTALL_CONFIG)/%: ../%
@echo "Installing config file $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing man file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing man file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing include file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing include file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing doc $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_DOC)/%: ../%
@echo "Installing doc $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
@echo "Installing html $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
@echo "Installing html $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: %.o %.c
-include DEPENDS
.PHONY:: all inc depends build install clean rebuild buildInstall
# EOF RULES.Host

321
config/RULES.Unix Normal file
View File

@@ -0,0 +1,321 @@
#*************************************************************************
# 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)
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_LIB)/%)
INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
INSTALL_INC = $(INC:%= $(INSTALL_INCLUDE)/%)
INSTALL_OSINCLUDE = $(INSTALL_INCLUDE)/os/$(T_A)
INSTALL_OSINC = $(OSINC:%= $(INSTALL_OSINCLUDE)/%)
INSTALL_INCREC = $(INCREC:%= $(INSTALL_INCLUDE)/%)
MANLIST = 1 2 3 4 5 6 7 8 9
INSTALL_MANS = $(foreach n, \
$(MANLIST),$(INSTALL_MAN)/man$(n) $(MAN$(n):%= $(INSTALL_MAN)/man$(n)/%))
INSTALL_DOCS = $(DOCS:%= $(INSTALL_DOC)/%)
INSTALL_HTMLS = $(HTMLS:%= $(INSTALL_HTML)/$(HTMLS_DIR)/%)
INSTALL_SCRIPTS = $(SCRIPTS:%= $(INSTALL_BIN)/%)
INSTALL_TEMPLATES_SUBDIR = $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
INSTALL_TEMPLATE = $(TEMPLATES:%= $(INSTALL_TEMPLATES_SUBDIR)/%)
INSTALL_CONFIGS = $(CONFIGS:%= $(INSTALL_CONFIG)/%)
INSTALL_BPTS = $(BPTS:%= $(INSTALL_DBD)/%)
INSTALL_DBS = $(DBDINSTALL:%= $(INSTALL_DBD)/%)\
$(RECTYPES:%.h= $(INSTALL_DBD)/%.dbd)\
$(MENUS:%.h= $(INSTALL_DBD)/%.dbd)
INSTALL_DBDNAME = $(DBDNAME:%= $(INSTALL_DBD)/%)
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
DIRECTORY_TARGETS = $(INSTALL_INCLUDE) $(INSTALL_INCLUDE)/os \
$(INSTALL_OSINCLUDE) $(INSTALL_DOC) \
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATES) \
$(INSTALL_LOCATION_BIN) $(INSTALL_BIN) $(INSTALL_LIB) \
$(INSTALL_LOCATION_LIB) $(INSTALL_CONFIG) \
$(MAN_DIRECTORY_TARGETS) $(INSTALL_MAN)
all:: install
pre_build::
rebuild:: clean install
build:: pre_build $(LIBNAME) $(TARGETS) $(PROD)\
$(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
inc:: $(INSTALL_INCLUDE) $(INSTALL_INC) $(INSTALL_INCLUDE)/os \
$(INSTALL_OSINCLUDE) $(INSTALL_OSINC)
install:: inc buildInstall
buildInstall :: build \
$(INSTALL_LOCATION_LIB) $(INSTALL_LIB) $(INSTALL_LIBS) \
$(TARGETS) \
$(INSTALL_LOCATION_BIN) $(INSTALL_BIN) \
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
$(INSTALL_MAN) $(INSTALL_MANS) $(INSTALL_HTMLS) \
$(INSTALL_DOC) $(INSTALL_DOCS) $(INSTALL_TEMPLATES) \
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATE) \
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
depends:: $(SRCS.c) $(SRCS.cc)
ifdef SRCS
echo you have a SRCS in your Makefile
exit 2
endif
ifdef SRCS.c
$(DEPENDS_RULE.c)
endif
ifdef SRCS.cc
$(DEPENDS_RULE.cc)
endif
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a $(TARGETS) $(PROD) $(LIBNAME) $(INC)
$(DIRECTORY_TARGETS) :
@$(MKDIR) $@
$(TARGETS) $(PROD): $(DEPLIBS)
# The order of the following dependencies is
# VERY IMPORTANT !!!!
%: %.o
$(RM) $@
$(LINK.c) -o $@ $< $(LDLIBS)
#$(PROD): $(OBJS)
# $(RM) $@
# $(LINK.c) -o $@ ${OBJS} $(LDLIBS)
%.o: %.c
$(RM) $@
$(COMPILE.c) $<
%.o: ../%.c
$(RM) $@
$(COMPILE.c) $<
%.o: %.cc
$(RM) $@
$(COMPILE.cc) $<
%.o: ../%.cc
$(RM) $@
$(COMPILE.cc) $<
%.c: ../%.y
$(RM) y.tab.c y.tab.h
$(YACC) $(YACCOPT) $<
@if [ -f y.tab.c ]; \
then \
echo "$(MV) y.tab.c $*.c"; \
$(MV) y.tab.c $*.c; \
fi
@if [ -f y.tab.h ]; \
then \
echo "$(MV) y.tab.h $*.h"; \
$(MV) y.tab.h $*.h; \
fi
%.c: ../%.l
$(RM) lex.yy.c
$(LEX) $(LEXOPT) $<
$(RM) $@
$(MV) lex.yy.c $@
#state notation language rule
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $< $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: ../%.stt
@echo "converting $<"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.edf: ../%.sch $(DEPSCHS)
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Adl2dl rule
%.dl : ../%.adl
-$(ADL2DL) $< $@
# Mangen Rule:
%.1:%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
$(INSTALL_DBD)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
$(INSTALL_DBD)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/makeBpt $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/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
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
$(RM) $@
$(ARCMD) $(LIBOBJS)
@if [ ! -z "$(RANLIB)" ] ; then\
echo $(RANLIB) $@; \
$(RANLIB) $@; \
fi
$(INSTALL_BIN)/%: %
@echo "Installing Binary $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing Binary $@"
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
@if [ ! -z "$(RANLIB)" ] ; then\
$(RANLIB) $(RANLIBFLAGS) $@; \
fi
$(INSTALL_TCLLIB)/%: %
@echo "Installing Tcl library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_TCLLIB)
$(INSTALL_TCLLIB)/%: ../%
@echo "Installing Tcl library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_TCLLIB)
$(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS)
@echo "Updating $@"
@echo eval auto_mkindex $(INSTALL_TCLLIB) "$(TCLLIBNAME)" | tclsh
$(INSTALL_CONFIG)/%: %
@echo "Installing Config File $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(INSTALL_CONFIG)/%: ../%
@echo "Installing Config File $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing man file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing man file $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing Include File $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing Include File $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing doc $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_DOC)/%: ../%
@echo "Installing doc $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
@echo "Installing html $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
@echo "Installing html $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: ../%
@echo "Installing template $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: %
@echo "Installing template $@"
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: %.o %.c
.PHONY:: all inc depends build install pre-build clean rebuild
-include .DEPENDS

323
config/RULES.Vx Normal file
View File

@@ -0,0 +1,323 @@
#*************************************************************************
# 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))),)
LIBOBJS+=$(subst -nil-,,$(LIBOBJS_$(ARCH_CLASS)))
else
ifdef LIBOBJS_DEFAULT
LIBOBJS+=$(LIBOBJS_DEFAULT)
endif
endif
INCREC +=$(RECTYPES) $(MENUS)
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
INSTALL_LIBS_CXX = $(LIBNAME_CXX:%= $(INSTALL_BIN)/%)
INSTALL_INC = $(INC:%= $(INSTALL_INCLUDE)/%)
INSTALL_OSINCLUDE = $(INSTALL_INCLUDE)/os/vxWorks
INSTALL_OSINC = $(OSINC:%= $(INSTALL_OSINCLUDE)/%)
INSTALL_INCREC = $(INCREC:%= $(INSTALL_INCLUDE)/%)
MANLIST = 1 2 3 4 5 6 7 8 9
INSTALL_MANS = $(foreach n, \
$(MANLIST),$(MAN$(n):%= $(INSTALL_MAN)/man$(n)/%))
INSTALL_DOCS = $(DOCS:%= $(INSTALL_DOC)/%)
INSTALL_HTMLS = $(HTMLS:%= $(INSTALL_HTML)/$(HTMLS_DIR)/%)
INSTALL_SCRIPTS = $(SCRIPTS:%= $(INSTALL_BIN)/%)
INSTALL_INSTALLS = $(INSTALLS:%= $(INSTALL_BIN)/%)
INSTALL_BPTS = $(BPTS:%= $(INSTALL_DBD)/%)
INSTALL_DBS = $(DBDINSTALL:%= $(INSTALL_DBD)/%)\
$(RECTYPES:%.h= $(INSTALL_DBD)/%.dbd)\
$(MENUS:%.h= $(INSTALL_DBD)/%.dbd)
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)
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
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
install:: buildInstall
buildInstall :: build $(INSTALL_INCREC)\
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
$(TARGETS) $(INSTALL_PROD) \
$(INSTALL_MANS) $(INSTALL_DOCS) \
$(INSTALL_HTMLS) \
$(INSTALL_SCRIPTS) $(INSTALL_INSTALLS)\
$(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBDNAME)
ifdef BIN_INSTALLS
buildInstall :: binInstalls
endif
depends:: $(SRCS.c) $(SRCS.cc)
$(RM) DEPENDS
ifneq ($(strip $(SRCS.c) $(SRCS.cc)),)
$(DEPENDS_RULE)
endif
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
# The order of the following dependencies is
# VERY IMPORTANT !!!!
%: %.o
$(RM) $@
$(LINK.c) $@ $< $(LDLIBS)
#$(PROD): $(OBJS)
# $(RM) $@
# $(LINK.c) $@ $(OBJS)
%.o: %.c
$(RM) $@
$(COMPILE.c) $<
%.o: ../%.c
$(RM) $@
$(COMPILE.c) $<
%.o: %.cc
$(RM) $@
$(COMPILE.cc) $<
%.o: ../%.cc
$(RM) $@
$(COMPILE.cc) $<
# C++ munching
%.out : %.o
@ $(RM) ctct.o ctdt.c
$(NM) $< | $(MUNCH) > ctdt.c
$(COMPILE.c) -traditional ctdt.c
$(LINK.c) $@ $< ctdt.o
@ $(RM) ctdt.c ctdt.o
#
# rename the y.tab.h file only if we
# are creating it
#
%.h %.c: ../%.y
$(RM) $*.c y.tab.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(RM) $*.h y.tab.h
endif
$(YACC) $(YACCOPT) $<
$(MV) y.tab.c $*.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(MV) y.tab.h $*.h
endif
%.c: ../%.l
$(RM) lex.yy.c
$(LEX) $(LEXOPT) $<
$(RM) $@
$(MV) lex.yy.c $@
#state notation language rules
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< > $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: ../%.stt
@echo "preprocessing $*.stt"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< > $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.edf: ../%.sch
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Adl2dl rule
%.dl : ../%.adl
-$(ADL2DL) $< $@
# Mangen Rule:
%.1:%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
binInstalls: $(BIN_INSTALLS)
$(INSTALL) -d -m 555 $^ $(INSTALL_BIN)
$(INSTALL_DBD)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
$(INSTALL_DBD)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
$(DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE_HOST_BIN)/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
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
@$(RM) $@
$(LINK.c) $@ $(LIBOBJS) $(LDLIBS)
$(LIBNAME_CXX): $(LIBOBJS_CXX)
@echo Building CXX library $@
@$(RM) $@
$(LINK.cc) $@ $(LIBOBJS_CXX) $(LDLIBS)
$(INSTALL_BIN)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
#
# avoid confusing circular dependency message when
# INSTALL_BIN and EPICS_BASE_BIN are the same (in base)
#
ifneq ($(INSTALL_BIN),$(EPICS_BASE_BIN))
$(INSTALL_BIN)/%: $(EPICS_BASE_BIN)/%
@echo "Installing $@ from EPICS base"
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
endif
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
@echo "Installing $@"
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: %.o %.c
.PHONY:: all inc depends build install pre_build clean rebuild buildInstall binInstalls
-include DEPENDS
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

99
config/RULES_ARCHS Normal file
View File

@@ -0,0 +1,99 @@
#*************************************************************************
# 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$
#
# EPICS RULES_ARCH
# by Matthew Needes and Mike Bordua and Janet Anderson and Jeff Hill
#
all:: install
ACTIONS += inc
ACTIONS += build
ACTIONS += install
ACTIONS += buildInstall
ACTIONS += depends
ACTIONS += rebuild
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
#
# hostActionArchTargets
#
hostArchs = $(HOST_ARCH)
hostActionArchTargets = $(foreach x, $(ACTIONS),\
$(foreach arch,$(hostArchs), $(x)$(DIVIDER)$(arch)))
ifeq (Makefile.Host, $(wildcard Makefile.Host))
hostDirs = $(addprefix O.,$(hostArchs))
$(hostActionArchTargets) : $(hostDirs)
$(MAKE) -C O.$(archPart) -f ../Makefile.Host T_A=$(archPart) BUILD_TYPE=Host $(actionPart)
$(hostArchs) : % : O.%
$(MAKE) -C O.$@ -f ../Makefile.Host T_A=$@ BUILD_TYPE=Host
else
$(hostActionArchTargets) :
$(hostArchs) :
endif
#
# crossActionArchTargets
#
crossArchs = $(filter-out $(hostArchs),$(BUILD_ARCHS))
crossActionArchTargets = $(foreach x, $(ACTIONS), \
$(foreach arch, $(CROSS_COMPILER_TARGET_ARCHS), $(x)$(DIVIDER)$(arch)))
ifeq (Makefile.Vx, $(wildcard Makefile.Vx))
crossDirs = $(addprefix O.,$(crossArchs))
$(crossActionArchTargets) : $(crossDirs)
$(MAKE) -C O.$(archPart) -f ../Makefile.Vx T_A=$(archPart) BUILD_TYPE=Vx $(actionPart)
$(crossArchs) : % : O.%
$(MAKE) -C O.$@ -f ../Makefile.Vx T_A=$@ BUILD_TYPE=Vx
else
$(crossActionArchTargets) :
$(crossArchs) :
endif
$(hostDirs) :
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Host
$(crossDirs) :
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Vx
#
# host/cross action targets
#
$(ACTIONS) :: % : %$(DIVIDER)host %$(DIVIDER)cross
HostActionTargets = $(foreach x, $(ACTIONS) clean, $(x)$(DIVIDER)host)
CrossActionTargets = $(foreach x, $(ACTIONS) clean, $(x)$(DIVIDER)cross)
$(HostActionTargets) : %$(DIVIDER)host : $(addprefix %$(DIVIDER), $(hostArchs))
$(CrossActionTargets) : %$(DIVIDER)cross : $(addprefix %$(DIVIDER), $(crossArchs))
#
# arch targets
#
host : $(hostArchs)
cross : $(crossArchs)
#
# special clean rule
#
clean ::
$(RMDIR) $(hostDirs) $(crossDirs)
clean$(DIVIDER)% :
$(RMDIR) O.$*
.PHONY :: $(HostActionTargets)
.PHONY :: $(CrossActionTargets)
.PHONY :: $(crossActionArchTargets)
.PHONY :: $(hostActionArchTargets)
.PHONY :: $(hostArchs) $(crossArchs)
.PHONY :: $(ACTIONS) clean all host cross

57
config/RULES_DIRS Normal file
View File

@@ -0,0 +1,57 @@
#*************************************************************************
# 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
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
dirActionArchTargets = $(foreach dir, $(DIRS), \
$(foreach action, $(ACTIONS),\
$(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),\
$(dir)$(DIVIDER)$(action)))
actionArchTargets = $(foreach action, $(ACTIONS),\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
ifeq ($(MAKE_INC_TARGET_FIRST),YES)
all install :: inc buildInstall
$(ARCHS) $(installArchTargets) :: inc
else
all install :: buildInstall
endif
rebuild:: clean all
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
$(MAKE) -C $(dirPart) $(actionArchPart)
$(ARCHS) $(ACTIONS) $(actionArchTargets) ::%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
.PHONY :: $(DIRS) all rebuild
.PHONY :: $(ARCHS) $(ACTIONS)
.PHONY :: $(dirActionTargets) $(dirArchTargets)
.PHONY :: $(dirActionArchTargets)
.PHONY :: $(actionArchTargets)

73
config/RULES_TOP Normal file
View File

@@ -0,0 +1,73 @@
#*************************************************************************
# 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:: $(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)); \
echo "TOP: Creating $$DIRNAME.tar file..."; \
ls Makefile* | xargs tar vcf $$DIRNAME.tar; \
if [ -f .current_rel_hist ]; then \
ls .current_rel_hist | xargs tar vrf $$DIRNAME.tar ; \
fi ;\
if [ -f EPICS_BASE ]; then \
ls EPICS_BASE | xargs tar vrf $$DIRNAME.tar ; \
fi ;\
for DIR in ${DIRS}; do \
find $${DIR} -name CVS -prune -o ! -type d -print \
| grep -v "/O\..*$$" | xargs tar vrf $$DIRNAME.tar; \
done
help:
@echo "Usage: gnumake [options] [target] ..."
@echo "Targets supported by all Makefiles:"
@echo " install - Installs executables in bin/<arch> (default rule)"
@echo " build - Builds objects, using libraries from build_libs"
@echo " clean - Cleans objects. Clean removes the O.<arch> dirs"
@echo " in all except the O.<arch> level Makefile"
@echo " depends - Generates include dependencies"
@echo "\"Partial\" build targets supported by Makefiles:"
@echo " install.<arch> - Builds and installs <arch> only."
@echo " clean.<arch> - Cleans <arch> binaries in O.<arch> dirs only."
@echo " build.<arch> - Builds <arch> only."
@echo " depends.<arch> - Generates <arch> dependencies only."
@echo "Targets supported by top level Makefile:"
@echo " uninstall - Cleans directories created by the install."
@echo " tar - Create tar file "
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
@echo " xxxRecord.o"
.PHONY :: uninstall tar help cleandirs distclean uninstallDirs

192
config/Sample.Makefile.Host Normal file
View File

@@ -0,0 +1,192 @@
#*************************************************************************
# 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
#
#
# Sample Makefile.Host showing all possible entries
# that are allowed using RULES.Host.
#
TOP = ../../..
include $(TOP)/config/CONFIG_BASE
CMPLR = STRICT
# Add-on CFLAGS that are needed by this Makefile.
# (If possible, all system specific flags should be
# defined in CONFIG.Host.$(ARCH_CLASS))
#
# These CFLAGS rules also apply to these Makefile-variables:
# CXXFLAGS C++ flags
# LDFLAGS link flags
#
# This is used on all systems:
USR_CFLAGS = -DVAR=value -Ddefine_for_all_systems
# This is added to the above, but only for ARCH_CLASS=BSD:
USR_CFLAGS_BSD = -DVERSION='Berkeley enhanced'
# ..only for WIN32:
USR_CFLAGS_WIN32 = -DVERSION='WIN32 port'
#
# -nil- is special:
# if USR_CFLAGS_SYSV was undefined or empty, .._DEFAULT would have
# been used.
# To indicate
# "yes, there is a special USR_CFLAGS for SYSV, but it's empty"
# you have to set it to -nil-:
USR_CFLAGS_SYSV = -nil-
# .. for all other arch classes:
USR_CFLAGS_DEFAULT = -DVERSION='generic Unix'
# CFLAGS that are only used to compile a_file.c or a_file.cc:
#
a_file_CFLAGS = -DIN_A_FILE
a_file_CFLAGS_WIN32 = -DVERSION='WIN32 port'
# ---------------------------------------------------------
# general rule for all .c .cc .h .hh files and scripts:
#
# In here you supply just the filename without '../' etc.
# While building in an O.xxx subdir, the
# sources are extracted from either the
# '..'
# dir or - if it exists - the dir
# '../$(ARCH_CLASS)'
# is preferred.
# ---------------------------------------------------------
# includes to install from this Makefile
#
# again: if INC_$(ARCH_CLASS) is defined, it is added to INC,
# otherwise INC_DEFAULT (if defined) is added:
#
INC_DEFAULT = for_all_but_WIN32_or_hp700.h
INC_WIN32 = only_for_WIN32.h
INC_hp700 = -nil- # hp700 uses no special include
INC = file.h
# --------------------------------------------------------------------
# defining a library
# --------------------------------------------------------------------
#
# Contents of a library are specified via LIBSRCS.
# From this the platform specific object names (.o, .obj, ...)
# are derived automatically.
#
# Platform specific objects:
# use LIBOBJS_$(ARCH_CLASS) or .._DEFAULT
#
# Platform specific files can also be put in
# separate os/ARCH_CLASS directories!
#
# For almost every file the seach order is:
# ./os/ARCH_CLASS
# ./os/generic
# .
# So usually only LIBSRCS should be sufficient!
#
LIBSRCS = file_for_lib.c another_file.cc
LIBSRCS_DEFAULT = posix.c
LIBSRCS_WIN32 = win32_special.c
LIBSRCS_BSD = -nil-
# Library to build:
# lib$(LIBRARY).a or ..dll/..exp/..lib
#
# Currently you can build only one (1) lib per Makefile.Host!
#
LIBRARY=libname
# if SHARED_LIBRARIES is YES then shared and archive libraries will
# both be built
#SHARED_LIBRARIES = YES
#
# Library version
SHRLIB_VERSION =
# On WIN32 results in /version:$(SHRLIB_VERSION) link option
# On Unix type hosts .$(SHRLIB_VERSION) is appended to library name
# --------------------------------------------------------------------
# defining products (executable programs)
# --------------------------------------------------------------------
#
# if SRCS is undefined, it defaults to $(PROD).c
SRCS=a.c b.c c.c
# SRCS that are only used for PROD a_file
#
a_file_SRCS = aa.c bb.c
# EPICS libs needed to link PROD, TESTPROD and sharable library
#
# note that DLL_LIBS (the libraries needed to link a shareable
# library) is created by default from the PROD/SYS libraries specified
# below minus the name of the sharable library (LIBRARY)
#
#
# for all systems:
PROD_LIBS = Com Ca
# for most systems:
PROD_LIBS_DEFAULT = mathlib
PROD_LIBS_WIN32 = -nil-
# system libs needed to link PROD, TESTPROD and sharable library
#
# for all systems:
SYS_PROD_LIBS = m
# for most systems:
SYS_PROD_LIBS_DEFAULT = foolib
SYS_PROD_LIBS_WIN32 = -nil-
# other libs needed to link PROD, TESTPROD and sharable library
#
# for all systems:
USR_LIBS = Xm Xt X11
Xm_DIR = $(MOTIF_LIB)
Xt_DIR = $(X11_LIB)
X11_DIR = $(X11_LIB)
# for most systems:
USR_LIBS_DEFAULT = foolib
USR_LIBS_WIN32 = -nil-
foolib_DIR = $(FOO_LIB)
# Product,
# may be caRepeater.o -> caRepeater
# or caRepeater.obj -> caRepeater.exe
PROD = prod
PROD_DEFAULT = product_for_rest
PROD_WIN32 = product_only_for_WIN32
PROD_BSD = product_only_for_BSD
PROD_SYSV = product_only_for_SYSV
# Product version
PROD_VERSION =
# On WIN32 results in /version:$(SHRLIB_VERSION) link option
# On Unix type hosts PROD_VERSION) is ignored
# Scripts to install
#
# If there is both ../$(SCRIPT) and ../$(ARCH_CLASS)/$(SCRIPT),
# the latter, system specific version will be installed!
#
SCRIPTS_DEFAULT = script_for_rest
SCRIPTS_WIN32 = script_only_for_WIN32
SCRIPTS_BSD = script_only_for_BSD
SCRIPTS = script
# if you want to build products locally without installing:
# TESTPROD = test
# put all definitions before the following include line
# put all rules after the following include line
include $(TOP)/config/RULES.Host
# EOF Makefile.Host

View File

@@ -1,121 +0,0 @@
#*************************************************************************
# Copyright (c) 2013 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# Common build definitions
#
ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
EPICS_BASE = $(INSTALL_LOCATION)
CONFIG = $(TOP)/configure
BASE_TOP=YES
else
CONFIG ?= $(EPICS_BASE)/configure
endif
# Provide a default if the user hasn't set EPICS_HOST_ARCH
#
ifeq ($(origin EPICS_HOST_ARCH), undefined)
# Bootstrapping ...
EHA := $(firstword $(wildcard $(EPICS_BASE)/lib/perl/EpicsHostArch.pl \
$(TOP)/src/tools/EpicsHostArch.pl))
# NB: We use a simply expanded variable here for performance:
export EPICS_HOST_ARCH := $(shell perl $(EHA))
EHA :=
endif
-include $(CONFIG)/RELEASE
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).Common
ifdef T_A
-include $(CONFIG)/RELEASE.Common.$(T_A)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
endif
include $(CONFIG)/CONFIG_COMMON
include $(CONFIG)/CONFIG_FILE_TYPE
# Base-specific build options
#
include $(CONFIG)/CONFIG_BASE
# Site-specific build options
#
include $(CONFIG)/CONFIG_SITE
# Version numbering
#
include $(CONFIG)/CONFIG_BASE_VERSION
# Host architecture specific definitions
#
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
ifdef T_A
# Cross compile specific definitions
#
ifneq ($(EPICS_HOST_ARCH),$(T_A))
include $(CONFIG)/CONFIG.CrossCommon
endif
# Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
# Host-Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
# Site specific target and host-target definitions and overrides
#
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
# RELEASE file specific definitions
#
ifneq ($(CONFIG),$(TOP)/configure)
-include $(CONFIG)/CONFIG_APP_INCLUDE
endif
endif # ifdef T_A
# Include <top>/cfg/CONFIG* definitions from tops defined in RELEASE* files
#
ifneq ($(CONFIG),$(TOP)/configure)
RELEASE_TOPS_REVERSE := $(shell \
$(PERL) -e '$$,=" ";print reverse @ARGV' $(RELEASE_TOPS))
RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), \
$(wildcard $($(top))/cfg/CONFIG*))
ifneq ($(RELEASE_CFG_CONFIGS),)
include $(RELEASE_CFG_CONFIGS)
endif
endif
# Include $(INSTALL_CFG)/CONFIG* definitions
#
TOP_CFG_CONFIGS = $(wildcard $(INSTALL_CFG)/CONFIG*)
ifneq ($(TOP_CFG_CONFIGS),)
include $(TOP_CFG_CONFIGS)
endif
# User specific definitions
#
-include $(HOME)/configure/CONFIG_USER
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH)
ifdef T_A
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
endif

View File

@@ -1,31 +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 is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# Cross compiler default definitions
# Build class: either HOST or CROSS
# Used to determine OPT and WARN compiler flags
BUILD_CLASS = CROSS
# Cross build: either defined or not
# Used in os/CONFIG.Common.<arch> files
# ifdef CROSS looks better than ifeq ($(BUILD_CLASS),CROSS)
CROSS = YES
GNU_TARGET_INCLUDE_DIR = $(wildcard $(GNU_TARGET:%=$(GNU_DIR)/%/include))
GNU_TARGET_LIB_DIR = $(wildcard $(GNU_TARGET:%=$(GNU_DIR)/%/lib))
CROSS_INCLUDES = $(GNU_TARGET_INCLUDE_DIR:%=-I%)
CROSS_LDFLAGS = $(GNU_TARGET_LIB_DIR:%=-L%)
CMPLR_PREFIX_CROSS = $(addsuffix -,$(GNU_TARGET))
CMPLR_PREFIX = $(CMPLR_PREFIX_$(BUILD_CLASS))
# Cross builds usually use the gnu compiler
include $(CONFIG)/CONFIG.gnuCommon

View File

@@ -1,61 +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.
#*************************************************************************
# GNU compiler defaults
GNU = YES
CMPLR_CLASS = gcc
GNU_BIN = $(GNU_DIR)/bin
GNU_LIB = $(GNU_DIR)/lib
CC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX)
CCC = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX)
AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX) -rc
LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
CPP = $(CC) -x c -E
RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -pg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
WARN_CFLAGS_YES = -Wall
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -pg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
WARN_CXXFLAGS_YES = -Wall
WARN_CXXFLAGS_NO = -w
OPT_CXXFLAGS_YES = -O3
OPT_CXXFLAGS_NO = -g
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
PIPE_CFLAGS_YES_YES = -pipe
PIPE_CFLAGS = $(PIPE_CFLAGS_$(GCC_PIPE)_$(GNU))
PIPE_CXXFLAGS = $(PIPE_CFLAGS)
STATIC_LDFLAGS_YES = -static
STATIC_LDFLAGS_NO =
SHRLIB_CFLAGS = -fPIC
SHRLIB_LDFLAGS = -shared -fPIC
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
GNU_LDLIBS_YES = -lgcc
# Use compiler flags to generate header dependancies files
HDEPENDS_METHOD = COMP
HDEPENDS_COMPFLAGS = -MM -MF $@

View File

@@ -1,584 +0,0 @@
#*************************************************************************
# Copyright (c) 2011 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
# check for add-on CFLAGS and CXXFLAGS
#
# Rules:
# 1) USR_CFLAGS is used
# 2) if there is a special USR_CFLAGS_$(OS_CLASS), it's
# appended to 1)
# 3) if there is no special defined, but a generic USR_CFLAGS_DEFAULT,
# this one is appended
# 4) if you have the special case that your USR_CFLAGS_$(OS_CLASS) is
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
# USR_CFLAGS = <defines for all systems>
# USR_CFLAGS_WIN = -nil-
# USR_CFLAGS_DEFAULT = <defines for most systems, not WIN32>
#
# These rules apply to these Makefile-variables:
# USR_CFLAGS C flags
# USR_CXXFLAGS C++ flags
# USR_CPPFLAGS c preprocesser flags
# SRCS source files for building libraries and prods
# USR_SRCS source files for building libraries and prods
# PROD_SRCS source files for building prods
# LIB_SRCS source files for building libraries
# LIBSRCS source files for building libraries (deprecated)
# PROD_OBJS object files for building prods
# LIB_OBJS object files for building libraries
# USR_OBJS object files for building libraries and prods
# USR_LIBS libs needed by PROD and TESTPROD and LIBRARY
# PROD_LIBS libs needed by PROD and TESTPROD
# LIB_LIBS libs needed by shared LIBRARY
# SHRLIB_LIBS libs needed by shared LIBRARY
# USR_OBJLIBS R3.13 vxWorks object libs needed building libraries and prods
# PROD_OBJLIBS R3.13 vxWorks object libs needed for building prods
# LIB_OBJLIBS R3.13 vxWorks object libs needed for building libraries
# USR_SYS_LIBS system libs needed building libraries and prods
# PROD_SYS_LIBS system libs needed for building prods
# LIB_SYS_LIBS system libs needed for building libraries
# USR_LDFLAGS ld flags for building libraries and prods
# PROD_LDFLAGS ld flags for building prods
# LIB_LDFLAGS ld flags for building libraries
# PROD products to build and install
# PROD_HOST products to build and install
# PROD_IOC products to build and install
# TESTPROD products to build
# TESTPROD_HOST products to build
# TESTPROD_IOC products to build
# LIBRARY libraries to build and install
# LIBRARY_HOST libraries to build and install
# LIBRARY_IOC libraries to build and install
# TESTLIBRARY libraries to build
# TESTLIBRARY_HOST libraries to build
# TESTLIBRARY_IOC libraries to build
# LOADABLE_LIBRARY libraries to build and install
# LOADABLE_LIBRARY_HOST libraries to build and install
# LOADABLE_LIBRARY_IOC libraries to build and install
# SCRIPTS scripts and install
# SCRIPTS_HOST host system scripts to install
# SCRIPTS_IOC ioc system scripts to install
# TESTSCRIPTS scripts
# TESTSCRIPTS_HOST host system scripts
# TESTSCRIPTS_IOC ioc system scripts
# OBJS object files to build and install
# OBJS_HOST host system object files to build and install
# OBJS_IOC ioc system object files to build and install
# USR_INCLUDES include directories
# BIN_INSTALLS binaries to install
# LIB_INSTALLS library binaries to install
# RCS win32 resource files for building libraries and prods
# PROD_RCS win32 resource files for building prods
# LIB_RCS win32 resource files for building libraries
#
# Remark:
# If you define INC, e.g. INC = getopt.h, the source
# (getopt.h) must be in the source directory (..) and/or
# in one or more ../os/<OS_CLASS> directories.
#
# Additional target architecture, T_A, Rules for USR_CFLAGS, USR_CXXFLAGS,
# and USR_CPPFLAGS which are applied before the above os_class Rules:
# 1) USR_CFLAGS_$(OS_CLASS) is used
# 2) if there is a special $(USR_CFLAGS_$(T_A)), it's
# appended to 1)
# 3) if there is no special defined, but a generic USR_CFLAGS_$(OS_CLASS)_DEFAULT,
# this one is appended
# 4) if you have the special case that your $(USR_CFLAGS_$(T_A)) is
# empty but you don't want 3), you have to define it as '-nil-', e.g.:
# USR_CFLAGS_vxWorks = <defines for all OS_CLASS=vxWorks target systems>
# USR_CFLAGS_vxWorks-68040 = -nil-
# USR_CFLAGS_vxWorks_DEFAULT = <defines for most vxWorks systems, not 68040>
#
#
ifneq ($(strip $(USR_CFLAGS_$(T_A))),)
USR_CFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CFLAGS_$(T_A)))
else
ifdef USR_CFLAGS_$(OS_CLASS)_DEFAULT
USR_CFLAGS_$(OS_CLASS)+=$(USR_CFLAGS_$(OS_CLASS)_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CFLAGS_$(OS_CLASS))),)
USR_CFLAGS+=$(subst -nil-,,$(USR_CFLAGS_$(OS_CLASS)))
else
ifdef USR_CFLAGS_DEFAULT
USR_CFLAGS+=$(USR_CFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_INCLUDES_$(OS_CLASS))),)
USR_INCLUDES+=$(subst -nil-,,$(USR_INCLUDES_$(OS_CLASS)))
else
ifdef USR_INCLUDES_DEFAULT
USR_INCLUDES+=$(USR_INCLUDES_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CXXFLAGS_$(T_A))),)
USR_CXXFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CXXFLAGS_$(T_A)))
else
ifdef USR_CXXFLAGS_$(OS_CLASS)_DEFAULT
USR_CXXFLAGS_$(OS_CLASS)+=$(USR_CXXFLAGS_$(OS_CLASS)_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CXXFLAGS_$(OS_CLASS))),)
USR_CXXFLAGS+=$(subst -nil-,,$(USR_CXXFLAGS_$(OS_CLASS)))
else
ifdef USR_CXXFLAGS_DEFAULT
USR_CXXFLAGS+=$(USR_CXXFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CPPFLAGS_$(T_A))),)
USR_CPPFLAGS_$(OS_CLASS)+=$(subst -nil-,,$(USR_CPPFLAGS_$(T_A)))
else
ifdef USR_CPPFLAGS_$(OS_CLASS)_DEFAULT
USR_CPPFLAGS_$(OS_CLASS)+=$(USR_CPPFLAGS_$(OS_CLASS)_DEFAULT)
endif
endif
ifneq ($(strip $(USR_CPPFLAGS_$(OS_CLASS))),)
USR_CPPFLAGS+=$(subst -nil-,,$(USR_CPPFLAGS_$(OS_CLASS)))
else
ifdef USR_CPPFLAGS_DEFAULT
USR_CPPFLAGS+=$(USR_CPPFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LDFLAGS_$(OS_CLASS))),)
USR_LDFLAGS+=$(subst -nil-,,$(USR_LDFLAGS_$(OS_CLASS)))
else
ifdef USR_LDFLAGS_DEFAULT
USR_LDFLAGS+=$(USR_LDFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_LDFLAGS_$(OS_CLASS))),)
PROD_LDFLAGS+=$(subst -nil-,,$(PROD_LDFLAGS_$(OS_CLASS)))
else
ifdef PROD_LDFLAGS_DEFAULT
PROD_LDFLAGS+=$(PROD_LDFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_LDFLAGS_$(OS_CLASS))),)
LIB_LDFLAGS+=$(subst -nil-,,$(LIB_LDFLAGS_$(OS_CLASS)))
else
ifdef LIB_LDFLAGS_DEFAULT
LIB_LDFLAGS+=$(LIB_LDFLAGS_DEFAULT)
endif
endif
ifneq ($(strip $(LIBSRCS_$(OS_CLASS))),)
LIBSRCS += $(subst -nil-,,$(LIBSRCS_$(OS_CLASS)))
else
ifdef LIBSRCS_DEFAULT
LIBSRCS+=$(LIBSRCS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_SRCS_$(OS_CLASS))),)
LIB_SRCS += $(subst -nil-,,$(LIB_SRCS_$(OS_CLASS)))
else
ifdef LIB_SRCS_DEFAULT
LIB_SRCS+=$(LIB_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(SRCS_$(OS_CLASS))),)
SRCS += $(subst -nil-,,$(SRCS_$(OS_CLASS)))
else
ifdef SRCS_DEFAULT
SRCS+=$(SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_SRCS_$(OS_CLASS))),)
USR_SRCS += $(subst -nil-,,$(USR_SRCS_$(OS_CLASS)))
else
ifdef USR_SRCS_DEFAULT
USR_SRCS+=$(USR_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_SRCS_$(OS_CLASS))),)
PROD_SRCS += $(subst -nil-,,$(PROD_SRCS_$(OS_CLASS)))
else
ifdef PROD_SRCS_DEFAULT
PROD_SRCS+=$(PROD_SRCS_DEFAULT)
endif
endif
ifneq ($(strip $(BIN_INSTALLS_$(OS_CLASS))),)
BIN_INSTALLS+=$(subst -nil-,,$(BIN_INSTALLS_$(OS_CLASS)))
else
ifdef BIN_INSTALLS_DEFAULT
BIN_INSTALLS+=$(BIN_INSTALLS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_INSTALLS_$(OS_CLASS))),)
LIB_INSTALLS+=$(subst -nil-,,$(LIB_INSTALLS_$(OS_CLASS)))
else
ifdef LIB_INSTALLS_DEFAULT
LIB_INSTALLS+=$(LIB_INSTALLS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_OBJS_$(OS_CLASS))),)
PROD_OBJS+=$(subst -nil-,,$(PROD_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_OBJS_DEFAULT)))
PROD_OBJS+=$(PROD_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_OBJS_$(OS_CLASS))),)
USR_OBJS+=$(subst -nil-,,$(USR_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(USR_OBJS_DEFAULT)))
USR_OBJS+=$(USR_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_$(OS_CLASS))),)
OBJS+=$(subst -nil-,,$(OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_DEFAULT)))
OBJS+=$(OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_IOC_$(OS_CLASS))),)
OBJS_IOC+=$(subst -nil-,,$(OBJS_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_IOC_DEFAULT)))
OBJS_IOC+=$(OBJS_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(OBJS_HOST_$(OS_CLASS))),)
OBJS_HOST+=$(subst -nil-,,$(OBJS_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(OBJS_HOST_DEFAULT)))
OBJS_HOST+=$(OBJS_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_OBJLIBS_$(OS_CLASS))),)
PROD_OBJLIBS+=$(subst -nil-,,$(PROD_OBJLIBS_$(OS_CLASS)))
else
ifdef PROD_OBJLIBS_DEFAULT
PROD_OBJLIBS+=$(PROD_OBJLIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_OBJLIBS_$(OS_CLASS))),)
LIB_OBJLIBS+=$(subst -nil-,,$(LIB_OBJLIBS_$(OS_CLASS)))
else
ifdef LIB_OBJLIBS_DEFAULT
LIB_OBJLIBS+=$(LIB_OBJLIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_OBJLIBS_$(OS_CLASS))),)
USR_OBJLIBS+=$(subst -nil-,,$(USR_OBJLIBS_$(OS_CLASS)))
else
ifdef USR_OBJLIBS_DEFAULT
USR_OBJLIBS+=$(USR_OBJLIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_OBJS_$(OS_CLASS))),)
LIB_OBJS+=$(subst -nil-,,$(LIB_OBJS_$(OS_CLASS)))
else
ifneq (,$(strip $(LIB_OBJS_DEFAULT)))
LIB_OBJS+=$(LIB_OBJS_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_$(OS_CLASS))),)
LIBRARY+=$(subst -nil-,,$(LIBRARY_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_DEFAULT)))
LIBRARY+=$(LIBRARY_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_IOC_$(OS_CLASS))),)
LIBRARY_IOC+=$(subst -nil-,,$(LIBRARY_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_IOC_DEFAULT)))
LIBRARY_IOC+=$(LIBRARY_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(LIBRARY_HOST_$(OS_CLASS))),)
LIBRARY_HOST+=$(subst -nil-,,$(LIBRARY_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(LIBRARY_HOST_DEFAULT)))
LIBRARY_HOST+=$(LIBRARY_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(TESTLIBRARY_$(OS_CLASS))),)
TESTLIBRARY+=$(subst -nil-,,$(TESTLIBRARY_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTLIBRARY_DEFAULT)))
TESTLIBRARY+=$(TESTLIBRARY_DEFAULT)
endif
endif
ifneq ($(strip $(TESTLIBRARY_IOC_$(OS_CLASS))),)
TESTLIBRARY_IOC+=$(subst -nil-,,$(TESTLIBRARY_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTLIBRARY_IOC_DEFAULT)))
TESTLIBRARY_IOC+=$(TESTLIBRARY_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(TESTLIBRARY_HOST_$(OS_CLASS))),)
TESTLIBRARY_HOST+=$(subst -nil-,,$(TESTLIBRARY_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTLIBRARY_HOST_DEFAULT)))
TESTLIBRARY_HOST+=$(TESTLIBRARY_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(LOADABLE_LIBRARY_$(OS_CLASS))),)
LOADABLE_LIBRARY+=$(subst -nil-,,$(LOADABLE_LIBRARY_$(OS_CLASS)))
else
ifneq (,$(strip $(LOADABLE_LIBRARY_DEFAULT)))
LOADABLE_LIBRARY+=$(LOADABLE_LIBRARY_DEFAULT)
endif
endif
ifneq ($(strip $(LOADABLE_LIBRARY_HOST_$(OS_CLASS))),)
LOADABLE_LIBRARY_HOST+=$(subst -nil-,,$(LOADABLE_LIBRARY_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(LOADABLE_LIBRARY_HOST_DEFAULT)))
LOADABLE_LIBRARY_HOST+=$(LOADABLE_LIBRARY_HOST_DEFAULT)
endif
endif
ifneq ($(strip $(LOADABLE_LIBRARY_IOC_$(OS_CLASS))),)
LOADABLE_LIBRARY_IOC+=$(subst -nil-,,$(LOADABLE_LIBRARY_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(LOADABLE_LIBRARY_IOC_DEFAULT)))
LOADABLE_LIBRARY_IOC+=$(LOADABLE_LIBRARY_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_LIBS_$(OS_CLASS))),)
PROD_LIBS += $(subst -nil-,,$(PROD_LIBS_$(OS_CLASS)))
else
ifdef PROD_LIBS_DEFAULT
PROD_LIBS += $(PROD_LIBS_DEFAULT)
endif
endif
# SHRLIB_LIBS deprecated
ifneq ($(strip $(SHRLIB_LIBS_$(OS_CLASS))),)
SHRLIB_LIBS += $(subst -nil-,,$(SHRLIB_LIBS_$(OS_CLASS)))
else
ifdef SHRLIB_LIBS_DEFAULT
SHRLIB_LIBS += $(SHRLIB_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_LIBS_$(OS_CLASS))),)
LIB_LIBS += $(subst -nil-,,$(LIB_LIBS_$(OS_CLASS)))
else
ifdef LIB_LIBS_DEFAULT
LIB_LIBS += $(LIB_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_LIBS_$(OS_CLASS))),)
USR_LIBS += $(subst -nil-,,$(USR_LIBS_$(OS_CLASS)))
else
ifdef USR_LIBS_DEFAULT
USR_LIBS += $(USR_LIBS_DEFAULT)
endif
endif
#
# concat specific library contents (if defined) to SYS_PROD_LIBS
#
# SYS_PROD_LIBS deprecated
ifneq ($(strip $(SYS_PROD_LIBS_$(OS_CLASS))),)
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(OS_CLASS)))
else
ifdef SYS_PROD_LIBS_DEFAULT
SYS_PROD_LIBS += $(SYS_PROD_LIBS_DEFAULT)
endif
endif
PROD_SYS_LIBS+=$(SYS_PROD_LIBS)
ifneq ($(strip $(PROD_SYS_LIBS_$(OS_CLASS))),)
PROD_SYS_LIBS += $(subst -nil-,,$(PROD_SYS_LIBS_$(OS_CLASS)))
else
ifdef PROD_SYS_LIBS_DEFAULT
PROD_SYS_LIBS += $(PROD_SYS_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_SYS_LIBS_$(OS_CLASS))),)
LIB_SYS_LIBS += $(subst -nil-,,$(LIB_SYS_LIBS_$(OS_CLASS)))
else
ifdef LIB_SYS_LIBS_DEFAULT
LIB_SYS_LIBS += $(LIB_SYS_LIBS_DEFAULT)
endif
endif
ifneq ($(strip $(USR_SYS_LIBS_$(OS_CLASS))),)
USR_SYS_LIBS += $(subst -nil-,,$(USR_SYS_LIBS_$(OS_CLASS)))
else
ifdef USR_SYS_LIBS_DEFAULT
USR_SYS_LIBS += $(USR_SYS_LIBS_DEFAULT)
endif
endif
#
# concat specific products
#
ifneq ($(strip $(PROD_$(OS_CLASS))),)
PROD+=$(subst -nil-,,$(PROD_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_DEFAULT)))
PROD+=$(PROD_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_IOC_$(OS_CLASS))),)
PROD_IOC+=$(subst -nil-,,$(PROD_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_IOC_DEFAULT)))
PROD_IOC+=$(PROD_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_HOST_$(OS_CLASS))),)
PROD_HOST+=$(subst -nil-,,$(PROD_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(PROD_HOST_DEFAULT)))
PROD_HOST+=$(PROD_HOST_DEFAULT)
endif
endif
#
# concat specific products
#
ifneq ($(strip $(TESTPROD_$(OS_CLASS))),)
TESTPROD+=$(subst -nil-,,$(TESTPROD_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_DEFAULT)))
TESTPROD+=$(TESTPROD_DEFAULT)
endif
endif
ifneq ($(strip $(TESTPROD_IOC_$(OS_CLASS))),)
TESTPROD_IOC+=$(subst -nil-,,$(TESTPROD_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_IOC_DEFAULT)))
TESTPROD_IOC+=$(TESTPROD_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(TESTPROD_HOST_$(OS_CLASS))),)
TESTPROD_HOST+=$(subst -nil-,,$(TESTPROD_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTPROD_HOST_DEFAULT)))
TESTPROD_HOST+=$(TESTPROD_HOST_DEFAULT)
endif
endif
#
# concat specific scripts
#
ifneq ($(strip $(SCRIPTS_$(OS_CLASS))),)
SCRIPTS += $(subst -nil-,,$(SCRIPTS_$(OS_CLASS)))
else
ifdef SCRIPTS_DEFAULT
SCRIPTS += $(SCRIPTS_DEFAULT)
endif
endif
ifneq ($(strip $(SCRIPTS_IOC_$(OS_CLASS))),)
SCRIPTS_IOC+=$(subst -nil-,,$(SCRIPTS_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(SCRIPTS_IOC_DEFAULT)))
SCRIPTS_IOC+=$(SCRIPTS_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(SCRIPTS_HOST_$(OS_CLASS))),)
SCRIPTS_HOST+=$(subst -nil-,,$(SCRIPTS_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(SCRIPTS_HOST_DEFAULT)))
SCRIPTS_HOST+=$(SCRIPTS_HOST_DEFAULT)
endif
endif
#
# concat specific scripts
#
ifneq ($(strip $(TESTSCRIPTS_$(OS_CLASS))),)
TESTSCRIPTS += $(subst -nil-,,$(TESTSCRIPTS_$(OS_CLASS)))
else
ifdef TESTSCRIPTS_DEFAULT
TESTSCRIPTS += $(TESTSCRIPTS_DEFAULT)
endif
endif
ifneq ($(strip $(TESTSCRIPTS_IOC_$(OS_CLASS))),)
TESTSCRIPTS_IOC+=$(subst -nil-,,$(TESTSCRIPTS_IOC_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTSCRIPTS_IOC_DEFAULT)))
TESTSCRIPTS_IOC+=$(TESTSCRIPTS_IOC_DEFAULT)
endif
endif
ifneq ($(strip $(TESTSCRIPTS_HOST_$(OS_CLASS))),)
TESTSCRIPTS_HOST+=$(subst -nil-,,$(TESTSCRIPTS_HOST_$(OS_CLASS)))
else
ifneq (,$(strip $(TESTSCRIPTS_HOST_DEFAULT)))
TESTSCRIPTS_HOST+=$(TESTSCRIPTS_HOST_DEFAULT)
endif
endif
#
# concat specific resource files
#
ifneq ($(strip $(RCS_$(OS_CLASS))),)
RCS += $(subst -nil-,,$(RCS_$(OS_CLASS)))
else
ifdef RCS_DEFAULT
RCS += $(RCS_DEFAULT)
endif
endif
ifneq ($(strip $(PROD_RCS_$(OS_CLASS))),)
PROD_RCS += $(subst -nil-,,$(PROD_RCS_$(OS_CLASS)))
else
ifdef PROD_RCS_DEFAULT
PROD_RCS+=$(PROD_RCS_DEFAULT)
endif
endif
ifneq ($(strip $(LIB_RCS_$(OS_CLASS))),)
LIB_RCS += $(subst -nil-,,$(LIB_RCS_$(OS_CLASS)))
else
ifdef LIB_RCS_DEFAULT
LIB_RCS+=$(LIB_RCS_DEFAULT)
endif
endif

View File

@@ -1,32 +0,0 @@
#*************************************************************************
# Copyright (c) 2013 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
export TOP
ifneq ($(RELEASE_TOPS),)
define RELEASE_FLAGS_template
export $(1)
$(1)_HOST_BIN = $$(strip $$($(1)))/bin/$(EPICS_HOST_ARCH)
$(1)_HOST_LIB = $$(strip $$($(1)))/lib/$(EPICS_HOST_ARCH)
$(1)_BIN = $$(wildcard $$(strip $$($(1)))/bin/$(T_A))
$(1)_LIB = $$(wildcard $$(strip $$($(1)))/lib/$(T_A))
SHRLIB_SEARCH_DIRS += $$($(1)_LIB)
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/compiler/$(CMPLR_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/os/$(OS_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include))
RELEASE_DBD_DIRS += $$(wildcard $$(strip $$($(1)))/dbd)
RELEASE_DB_DIRS += $$(wildcard $$(strip $$($(1)))/db)
RELEASE_PERL_MODULE_DIRS += $$(wildcard $$(strip $$($(1)))/lib/perl)
endef
$(foreach top, $(RELEASE_TOPS), \
$(eval $(call RELEASE_FLAGS_template,$(top))))
endif

View File

@@ -1,94 +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 is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#---------------------------------------------------------------
# EPICS Base directories
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)
ifdef T_A
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
endif
#---------------------------------------------------------------
# EPICS Base Ioc libraries
EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
#---------------------------------------------------------------
# EPICS Base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------
# Version number for base shared libraries (and win32 products)
ifdef BASE_TOP
# Unix lib.so.<v.r.m> Darwin lib.<v.r.m>.dylib
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
# Windows only allows 2 levels of version numbering
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
BASE_CPPFLAGS += -DUSE_TYPED_RSET
endif # BASE_TOP
#---------------------------------------------------------------
# Base c preprocessor flags
# osithread default stack
OSITHREAD_USE_DEFAULT_STACK = NO
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
#---------------------------------------------------------------
# Where to find the installed build tools
# Windows does not like commands with relative paths starting ../
# but the Perl scripts in TOP/src/tools are OK
TOOLS = $(abspath $(EPICS_BASE_HOST_BIN))
FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1)))
#---------------------------------------------------------------
# EPICS Base build tools and tool flags
MAKEBPT = $(TOOLS)/makeBpt$(HOSTEXE)
DBEXPAND = $(PERL) $(TOOLS)/dbdExpand.pl
DBTORECORDTYPEH = $(PERL) $(TOOLS)/dbdToRecordtypeH.pl
DBTOMENUH = $(PERL) $(TOOLS)/dbdToMenuH.pl
REGISTERRECORDDEVICEDRIVER = $(PERL) $(TOOLS)/registerRecordDeviceDriver.pl
CONVERTRELEASE = $(PERL) $(call FIND_TOOL,convertRelease.pl)
FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
GENVERSIONHEADER = $(PERL) $(TOOLS)/genVersionHeader.pl $(QUIET_FLAG) $(QUESTION_FLAG)
#---------------------------------------------------------------
# tools for installing libraries and products
INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(QUIET_FLAG)
INSTALL_PRODUCT = $(INSTALL)
INSTALL_LIBRARY = $(INSTALL)
#---------------------------------------------------------------
# tools for making header dependancies and variable replacement
MKMF = $(PERL) $(TOOLS)/mkmf.pl
REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
#---------------------------------------------------------------
# Our versions of lex (flex) and yacc (antelope)
EYACC = $(TOOLS)/antelope$(HOSTEXE)
ELEX = $(TOOLS)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static
YACC = $(EYACC)
LEX = $(ELEX)
#---------------------------------------------------------------
# The 3.15 version of msi supports new options
MSI3_15 = $(EPICS_BASE_HOST_BIN)/msi

View File

@@ -1,74 +0,0 @@
#*************************************************************************
# Copyright (c) 2012 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# EPICS Version information
#
# Only the person making an official EPICS release should make changes in
# this file.
#
# EPICS_SITE_VERSION is defined in CONFIG_SITE for sites that want a local
# version number to be included in the reported version string.
# We define BASE_3_14 and BASE_3_15 as NO and BASE_3_16 as YES, so
# ifdef BASE_3_14
# true for 3.14 or later
# ifdef BASE_3_15
# true for 3.15 or later
# ifeq ($(BASE_3_14),YES)
# true for 3.14.x only
# ifeq ($(BASE_3_15),YES)
# true for 3.15 only
# ifeq ($(BASE_3_16),YES)
# true for 3.16 only.
BASE_3_14 = NO
BASE_3_15 = NO
BASE_3_16 = YES
# EPICS_VERSION must be a number >0 and <256
EPICS_VERSION = 3
# EPICS_REVISION must be a number >=0 and <256
EPICS_REVISION = 16
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 2
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
# Not included if zero
EPICS_PATCH_LEVEL = 0
# This will end in -DEV between official releases
EPICS_DEV_SNAPSHOT=-DEV
#EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-pre2
#EPICS_DEV_SNAPSHOT=-pre2-DEV
#EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-rc1-DEV
#EPICS_DEV_SNAPSHOT=-rc2
#EPICS_DEV_SNAPSHOT=-rc2-DEV
#EPICS_DEV_SNAPSHOT=
# No changes should be needed below here
ifneq ($(EPICS_PATCH_LEVEL),0)
EPICS_PATCH_VSTRING=.$(EPICS_PATCH_LEVEL)
endif
ifneq ($(strip $(EPICS_SITE_VERSION)),)
EPICS_SITE_VSTRING=-$(EPICS_SITE_VERSION)
endif
EPICS_SHORT_VERSION=$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)$(EPICS_PATCH_VSTRING)
EPICS_VERSION_NUMBER=$(EPICS_SHORT_VERSION)$(EPICS_DEV_SNAPSHOT)$(EPICS_SITE_VSTRING)
EPICS_VERSION_STRING="EPICS Version $(EPICS_VERSION_NUMBER)"
# Provide this in case anyone is still using the old name
COMMIT_DATE="-no-date-"

Some files were not shown because too many files have changed in this diff Show More