Compare commits

...

847 Commits

Author SHA1 Message Date
Janet B. Anderson
56fee671fe epics_R3_13_1_1 1999-01-11 15:38:57 +00:00
Marty Kraimer
4c7cfd7b2f added description of -i to help 1999-01-11 14:20:09 +00:00
Janet B. Anderson
28cdb2b5e1 Bug fix for warning and opt flags in Vx builds. 1999-01-07 23:14:16 +00:00
Janet B. Anderson
f006ec6a8e Don't copy vxWorks and vxWorks.sym into base. 1999-01-07 21:50:08 +00:00
Janet B. Anderson
f468f0e33c Changes from Mark Rivers. 1999-01-06 22:21:59 +00:00
Janet B. Anderson
3cfd9a79f5 Fixed VX_GNU_NO definition. 1999-01-06 22:10:43 +00:00
Janet B. Anderson
0c0b5d44ba Added $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) to clean rule. 1999-01-06 22:04:37 +00:00
Janet B. Anderson
95a399e4a2 Now only create package dir if package is defined. 1999-01-06 21:58:51 +00:00
Janet B. Anderson
4daf75e295 Added vendor compiler dependent options ( -KPIC -D_REENTRANT for solaris) 1999-01-06 21:52:47 +00:00
Janet B. Anderson
0ef60ec09a Added CPPSNCFLAGS to cpp step of state notation language rule 1999-01-06 21:37:23 +00:00
Janet B. Anderson
42bd805108 Created ARCH_DEP_CPPFLAGS for Vx build. 1999-01-06 21:34:55 +00:00
Janet B. Anderson
5e7ec2be6c Bug fix - added space after link definition. 1999-01-06 19:48:22 +00:00
Janet B. Anderson
2c1609e2ed perl now must be in user's path. 1999-01-06 19:43:12 +00:00
Janet B. Anderson
4d0785b899 Release string now contains update name/level only if non blank/non zero. 1999-01-06 19:35:54 +00:00
Marty Kraimer
1fc97eb429 reinitialize eoff in special 1999-01-06 19:14:21 +00:00
Marty Kraimer
54f3de4b0d cosmetic change 1999-01-06 19:11:00 +00:00
Marty Kraimer
4907dfd43d remove defining storage twice 1999-01-06 19:10:06 +00:00
Marty Kraimer
14414ab86f If dbPutNotify called dbProcess and dbProcess returned an error the notify completion callback was called twice. 1999-01-06 18:59:20 +00:00
Marty Kraimer
08761bebff remove restriction that table names must be alphanumeric 1999-01-06 18:54:26 +00:00
Ralph Lange
6619c06109 Bugfix .DEPENDS -> DEPENDS 1999-01-06 16:50:48 +00:00
Jeff Hill
5ba5209891 changes from Salikova 1998-12-21 20:59:30 +00:00
Jeff Hill
5d4eddf424 fixed typo 1998-12-21 17:50:01 +00:00
Jeff Hill
1982c777be Include the next resource id allocated in casr diagnostic 1998-12-21 17:49:05 +00:00
Jeff Hill
842f9e33cf drvEpvxi.h 1998-12-21 17:46:36 +00:00
Jeff Hill
d4f44b9bc9 fixed warning 1998-12-21 17:39:02 +00:00
Jeff Hill
d2acbb21b5 improved the portability of devLib 1998-12-19 01:32:35 +00:00
Jeff Hill
4ab910abd1 renamed createPV() to pvAttach() 1998-12-19 00:04:53 +00:00
Jeff Hill
6f8e2cd675 Changed the remove() function in tsSLList class because users were
confused by it. The name is now removeNextItem() and it is now a private
member of class tsSLNode.
1998-12-18 19:02:47 +00:00
Jeff Hill
9658302528 fixed warning 1998-12-18 18:58:20 +00:00
Janet B. Anderson
1b8da9848e Removed duplicate line. 1998-12-14 17:08:11 +00:00
Jeff Hill
4f983714c7 doc 1998-12-07 23:21:53 +00:00
Jeff Hill
31d5dee317 removed inline frm evt msk alloc 1998-12-01 23:32:15 +00:00
Jeff Hill
e1bc747104 Use EPICS_CA_BEACON_PERIOD 1998-12-01 18:54:45 +00:00
Jeff Hill
82d119fcef fixed warning 1998-11-23 23:51:04 +00:00
Jeff Hill
2ef8e387e0 added build date to corerelease() 1998-11-23 23:49:29 +00:00
Janet B. Anderson
baedd6deb2 epics_R3_13_1 1998-11-19 16:18:25 +00:00
Jeff Hill
7debd1da9d fixed casChannelI undefined symbols on WIN32 1998-11-18 18:52:49 +00:00
Marty Kraimer
2ab3555c08 added more notes 1998-11-18 16:56:20 +00:00
Marty Kraimer
bf5f43d8f0 Allow real number with leading - sign 1998-11-18 16:20:12 +00:00
Jeff Hill
30c1e46737 fixed event cancel race condition 1998-11-18 00:51:41 +00:00
Jeff Hill
e919e85aab added sem diagnostic 1998-11-17 02:43:17 +00:00
Jeff Hill
94f7436672 fixed warning 1998-11-17 02:42:39 +00:00
Jeff Hill
6d5074138f improved message 1998-11-17 02:42:00 +00:00
Jeff Hill
a79d5fa471 fixed infinite loop 1998-11-17 02:40:56 +00:00
Jeff Hill
12a36129a9 backed out changes accidently checked in 1998-11-17 02:39:17 +00:00
Jeff Hill
d2392d1bfa fixed order problem npend-- vs callBackInProgress 1998-11-17 02:17:03 +00:00
Janet B. Anderson
aafad7cc01 Optionally include host specific RELEASE definitions. 1998-11-12 22:41:31 +00:00
Marty Kraimer
6e548431a6 remove bsdProto.h 1998-11-12 18:41:21 +00:00
Jeff Hill
ebdc30a5a3 fixed case 1998-11-12 17:52:15 +00:00
Jeff Hill
35d18ac92c fixing case in name 1998-11-12 17:51:27 +00:00
Marty Kraimer
475b8a66be Changes for release 3.13.1 1998-11-11 13:45:04 +00:00
Jeff Hill
80545b9431 reduced socket buffer size 1998-11-11 01:31:59 +00:00
Jeff Hill
46be0d449a reduced socket buf sizes 1998-11-10 21:57:20 +00:00
Jeff Hill
1e262417be installed 1998-11-10 21:52:28 +00:00
Jeff Hill
1fea4b4097 ifdef out prototypes for traditional C 1998-11-10 21:35:31 +00:00
Jeff Hill
a1af039631 not used 1998-11-10 21:33:59 +00:00
Jeff Hill
c266df258b added header file & consolodated source 1998-11-10 21:20:28 +00:00
Janet B. Anderson
d1d589da72 Changed Kpic compile option to KPIC 1998-11-09 21:49:57 +00:00
Janet B. Anderson
7977848096 Unix build now always uses SHRLIB_CFLAGS when compiling library src files.
Added ARCH_CLASS facility for USR_CPPFLAGS.
1998-11-09 21:39:47 +00:00
Marty Kraimer
7a7bd7a6b9 dont call dbScanLock until interruptAccept is true 1998-11-09 19:52:23 +00:00
Marty Kraimer
12d767c98a honor the MASK and SHFT fields 1998-11-09 17:07:44 +00:00
Marty Kraimer
2ce2fc4c86 call taskSuspend instead of exit 1998-11-09 17:06:34 +00:00
Janet B. Anderson
7bf6530254 Modified slashes in wildcard specification. 1998-11-05 15:36:46 +00:00
Jeff Hill
7c947639a5 server nolonger throws exception when a poorly formed get/put call back
request arrives. Instead a get/put call back response is sent which includes
unsuccessful status
1998-10-28 23:51:01 +00:00
Jeff Hill
03fb90cee8 removed inline keyword 1998-10-27 22:06:46 +00:00
Jeff Hill
6f47cbbe03 avoid problems with early g++ 1998-10-27 21:34:19 +00:00
Jeff Hill
5c9baa5d00 fixed warnings 1998-10-27 18:28:20 +00:00
Jeff Hill
c425cea48d improved doc 1998-10-27 18:13:48 +00:00
Jeff Hill
041a9ad82b fixed warnings 1998-10-27 01:08:26 +00:00
Jeff Hill
c598b8fbad fixed warning 1998-10-27 00:57:25 +00:00
Jeff Hill
eec3ca68ef fixed warning 1998-10-27 00:49:07 +00:00
Jeff Hill
93745fa03c fixed warnings 1998-10-27 00:47:28 +00:00
Jeff Hill
3c43b78e77 eliminated warning 1998-10-27 00:43:27 +00:00
Jeff Hill
0562cf545b fixed warnings 1998-10-27 00:35:03 +00:00
Ralph Lange
ef02f8224e Bug in gdd::~gdd fixed (CA gateway crashes). 1998-10-26 11:18:41 +00:00
Jeff Hill
1c214dc407 fixed inline is too big warning 1998-10-23 19:47:12 +00:00
Jeff Hill
f91bfc1e1c fixed case problem on UNIX 1998-10-23 19:24:26 +00:00
Jeff Hill
409d2c2aaf fixed problem associated with deleting "const char *"
on the solaris compiler
1998-10-23 19:23:46 +00:00
Jeff Hill
18c24640c7 fixed missing new line at EOF 1998-10-23 16:40:47 +00:00
Jeff Hill
a80f223736 fixed HP-UX warnings 1998-10-23 00:28:21 +00:00
Jeff Hill
36b70e243f fixed problem where send was not always rearmed if this
was indirectly necessary in the send callback because
in this callback the code considered sends to be still armed
until the send callback completed
1998-10-23 00:27:15 +00:00
Jeff Hill
624f3e2284 attempted to clean up HP_UX warnings 1998-10-23 00:21:49 +00:00
Jeff Hill
4ae1a330bd attempted to clean up HP-UX warnings 1998-10-23 00:20:41 +00:00
Janet B. Anderson
5eab74508e Set iocLogDisable true if log port or log inet not defined. 1998-10-21 19:00:02 +00:00
Jeff Hill
1d5bb33527 fixed spelling & clarified use of TMP env var 1998-10-21 16:09:57 +00:00
Jeff Hill
1ba75e94e8 fixed potential event discard under heavy load 1998-10-20 18:45:10 +00:00
Janet B. Anderson
2bd9693676 Removed definitions of ioc log inet number and log filename. 1998-10-12 19:58:44 +00:00
Janet B. Anderson
a175ac0518 Modified log message. 1998-10-07 14:32:52 +00:00
Marty Kraimer
e334526dec fixed sync bugs 1998-10-06 18:09:28 +00:00
Jeff Hill
23f88290b1 added missing macros 1998-10-05 20:33:10 +00:00
Jeff Hill
c3cfcd6f7a correct LANSCE-5 make name, use ansi function prototype 1998-10-02 15:26:43 +00:00
Jeff Hill
cd8da10fa8 dont let problems converting IP address to name clobber errno 1998-10-01 23:15:20 +00:00
Jeff Hill
c9ca2a362d removed pragma 1998-10-01 23:09:29 +00:00
Jeff Hill
5dc5113919 log number of no buf errors and print them in a diagnostic 1998-10-01 23:03:15 +00:00
Jeff Hill
61e74ab5bb use proper net byte order for exception reflect 1998-10-01 22:55:41 +00:00
William Lupton
163853f5bc supported setting initial value on declaration (NB, will give compilation error if using recursive option) 1998-10-01 21:29:13 +00:00
William Lupton
f9fdb88d73 fixed FPNUM to support exponents 1998-10-01 21:28:33 +00:00
Janet B. Anderson
ae43db8152 Added new field PREC for display of double and float fields ULIM, LLIM,
SDEL, SVAL, SGNL, and WDTH. Added unsigned long fields HOPR and LOPR for
display of VAL array counts.  Changed SDEL field from SPC_NOMOD to
SPC_RESET to allow start and stop of the watch dog timer.
1998-10-01 20:28:14 +00:00
Jeff Hill
444f4c0bcc more robust in situations wherelocal IP cant be determined 1998-09-29 20:50:37 +00:00
Marty Kraimer
c0fc5c1860 SHFT was made a prompt field and also modifiable. The VAL field of mbboDirectRecord is now modifiable. 1998-09-29 15:05:27 +00:00
Marty Kraimer
486d616af1 removed unused field Prec. 1998-09-29 15:04:58 +00:00
Marty Kraimer
8d76efbb30 Changed author 1998-09-29 14:56:57 +00:00
Marty Kraimer
d7df83132c More robust when calloc fails 1998-09-29 14:55:52 +00:00
Marty Kraimer
85629b8908 Task priorities were changed so that no epics task has higher priority than netTask.
Definitions for IOEVENTSCAN and TIMESTAMP were removed.
1998-09-29 14:45:50 +00:00
Marty Kraimer
58cb660fd8 Put html doc with source 1998-09-29 14:12:16 +00:00
Marty Kraimer
161e66adc4 added dbCaGetTimeStamp 1998-09-29 14:11:33 +00:00
Marty Kraimer
aefa82520a TSsetClockFromUnix was made global 1998-09-29 14:11:03 +00:00
Jeff Hill
20773a6037 fixed warnings 1998-09-25 00:20:56 +00:00
Jeff Hill
acf112999a eliminated DLL run-down call to ca_task_exit() 1998-09-24 23:52:57 +00:00
Jeff Hill
429b7ae7a2 turned off debug output 1998-09-24 23:01:05 +00:00
Jeff Hill
7eca88fcf8 backed out previous change 1998-09-24 21:34:24 +00:00
Jeff Hill
b2dcaf3113 conn.c 1998-09-24 21:22:58 +00:00
Jeff Hill
e189a30222 subtle changes related to efficency when checking connection timers 1998-09-24 21:22:57 +00:00
Jeff Hill
ef42291613 cosmetic 1998-09-24 21:22:56 +00:00
Jeff Hill
3801cf0b81 improved message 1998-09-24 21:22:55 +00:00
Jeff Hill
75b61caa96 subtle changes related to efficency when checking connection timers 1998-09-24 21:22:54 +00:00
Jeff Hill
b40864bf6d CLR_CA_TIME() now correctly zeros the delay 1998-09-24 21:22:53 +00:00
Jeff Hill
fe16f5bd01 improved debug output 1998-09-24 21:22:52 +00:00
Jeff Hill
16f6f6e39e detect reconnect faster when IOC reboots quickly 1998-09-24 21:22:51 +00:00
Jeff Hill
fd088bfa83 added ca_get_ioc_connection_count () 1998-09-24 21:18:25 +00:00
Jeff Hill
607157e99a verify that conn is dropped when channel count goes to zero 1998-09-24 21:11:38 +00:00
Jeff Hill
2b21b5608d o test routine added
o allow large PV names
1998-09-24 21:10:38 +00:00
Jeff Hill
851b153afa cosmetic 1998-09-24 20:53:54 +00:00
Jeff Hill
c36de7d61d subtle changes which relate to not flushing the output buffer if there are bytes
pending in the input queue (improves performance)
1998-09-24 20:50:50 +00:00
Jeff Hill
461e1f3844 cosmetic 1998-09-24 20:42:30 +00:00
Jeff Hill
69ae776409 supply resource id to logBadIdWithFileAndLineno() 1998-09-24 20:41:49 +00:00
Jeff Hill
b5e4de9cff new error message 1998-09-24 20:40:56 +00:00
Jeff Hill
857a19ddef o block if unable to get buffer space for the exception message
o subtle changes related to properly dealing with situations where
both the server tool and the client tool delete the same PV simultaneously
1998-09-24 20:40:07 +00:00
Jeff Hill
608228b328 send exception in correct byte order / block if no space for exception 1998-09-24 20:35:16 +00:00
Jeff Hill
421ad0d456 cosmetic 1998-09-24 20:33:03 +00:00
Janet B. Anderson
a2bb878d29 Added strip to SHARED_LIBRARIES. 1998-09-17 15:50:40 +00:00
Marty Kraimer
2e7a0f1922 fix bugs for JDCT 1998-09-15 15:05:22 +00:00
Janet B. Anderson
42ea5f2413 Moved VX_GNU_NO definition to CONFIG_SITE (Dir for TORNADO=NO gnu gcc). 1998-09-08 15:02:04 +00:00
Janet B. Anderson
c0ed618531 Added more included for HOME dir config files. 1998-09-08 14:43:49 +00:00
Janet B. Anderson
fd67b63b75 Modified java rules. 1998-09-08 14:39:50 +00:00
Janet B. Anderson
9162b6c404 Added DLL_LDLIBS definition. 1998-09-08 14:38:11 +00:00
Janet B. Anderson
8500db7307 Added STATIC_LDFLAGS definition. 1998-09-03 16:02:42 +00:00
Janet B. Anderson
3a58071733 Fixed DLL_DEPLIBS definition. 1998-09-03 15:57:29 +00:00
Janet B. Anderson
46d989507f Added COND_PROD_SRCS to depends rule and moved rule after the definition. 1998-09-03 15:53:13 +00:00
Jeff Hill
71112a41df allow the user name to change when they use su 1998-08-12 16:36:54 +00:00
Steve Lewis
cffb3ce69e Put __STDC__ guard around errlogListener. 1998-08-06 23:08:12 +00:00
Jeff Hill
6dacae6103 changed new to pnew avoiding C++ keyword clash 1998-08-06 18:25:45 +00:00
Janet B. Anderson
df5f2235f1 Changes for RedHat Linux 5.1 from Pete Jemian 1998-08-03 14:09:17 +00:00
Jeff Hill
f903d29c73 eventsOff is no longere a private member 1998-07-23 16:48:15 +00:00
Ralph Lange
8c4e600953 Made bit B0 'DCT No' 1998-07-22 16:51:49 +00:00
Jeff Hill
652a8b289e winmm => advapi32 1998-07-08 15:50:29 +00:00
Jeff Hill
b48235c925 use arch indep types 1998-07-08 15:50:12 +00:00
Jeff Hill
3ac0769562 cosmetic 1998-07-08 15:39:16 +00:00
Jeff Hill
4207b67727 fixed lost monitors during flow control problem 1998-07-08 15:38:10 +00:00
Jeff Hill
a3a8bae82f removed mm lib 1998-07-07 23:28:42 +00:00
Jeff Hill
660db2e523 print Mbps 1998-07-07 23:05:46 +00:00
Jeff Hill
8808b28571 cosmetic changes 1998-07-07 23:04:00 +00:00
Jeff Hill
e7af37a2a1 use high precision timers 1998-07-07 23:01:42 +00:00
Jeff Hill
239061a09c winmm => advapi32 1998-07-07 22:45:13 +00:00
Jeff Hill
17d233c2d7 use high precision timers 1998-07-07 22:43:26 +00:00
Jeff Hill
a8dfe7b4f4 removed unused include 1998-07-07 22:42:07 +00:00
Jeff Hill
ffc026ca61 fixed shared/static issues on WIN32 1998-07-07 22:38:05 +00:00
Jeff Hill
597d2209ff corrected missing -d in shrlib install 1998-07-07 22:24:40 +00:00
Ralph Lange
8b6eaf6a0f += \ to / conversion when reading env.vars and RELEASE entries
+= optimized patterns when replacing tags within files
1998-06-23 15:59:33 +00:00
Jeff Hill
eca09fb129 fixed use of nill ptr in gdd::put(const gdd* dd) 1998-06-23 15:10:36 +00:00
Janet B. Anderson
d331954168 Removed definition for CROSS_COMPILER_HOST_ARCHS. 1998-06-23 14:00:27 +00:00
Jeff Hill
90f9be472c EPICS_DLL => EPICS_DLL_NO 1998-06-22 23:22:34 +00:00
Jeff Hill
94fdaba021 EPICS_DLL => EPICS_DLL_NO (so we are backwards compatible 1998-06-22 22:32:05 +00:00
Jeff Hill
3c5875c821 use ./ in from of genApps$(exe) cmd 1998-06-22 20:54:53 +00:00
Jeff Hill
25a4b6a96c doc 1998-06-19 22:28:13 +00:00
Jeff Hill
f505578397 documented my changes to R313B12 1998-06-19 22:19:59 +00:00
Ralph Lange
f0a76674af += \ to / conversion for all commandline arguments (incl. $0 -> $command) 1998-06-19 12:30:46 +00:00
Janet B. Anderson
4626994388 baseR3.13.0.beta12 1998-06-18 18:21:06 +00:00
Janet B. Anderson
82b2cbc4f0 Updated location of bat file. 1998-06-18 18:16:45 +00:00
Marty Kraimer
d8c4ebda03 URLs referenved wrong document 1998-06-18 12:32:33 +00:00
Jeff Hill
0f2fb17864 updated release notes for R3.13B12 1998-06-18 00:20:44 +00:00
Jeff Hill
b719362755 fixed inconsitent use of htonl() 1998-06-18 00:16:37 +00:00
Jeff Hill
c5cd953aba use ipAddrToA 1998-06-18 00:15:03 +00:00
Jeff Hill
be88672134 installed bwd compat casPV constructor 1998-06-18 00:09:39 +00:00
Jeff Hill
84efd88c45 deleted unused variables 1998-06-18 00:08:30 +00:00
Janet B. Anderson
081769088a Added EXE to perl definition. 1998-06-17 21:04:37 +00:00
Marty Kraimer
5c0775883e add note for win95 1998-06-17 18:43:01 +00:00
Marty Kraimer
5e0bfbc9f7 Do NOT modify $0. Copy it to another variable instead 1998-06-17 18:39:06 +00:00
Janet B. Anderson
c39be663e2 Removed the previous commit change. 1998-06-17 17:47:49 +00:00
Janet B. Anderson
e3b1b2fa59 Changed type to echo and added cygwin32 test. 1998-06-17 14:53:28 +00:00
Jeff Hill
eebf5ef09d fixed problem where beta 12 briefly didnt communicate with old CA repeaters 1998-06-17 00:39:05 +00:00
Marty Kraimer
529c35ff73 For winXX convert \ to / in $0 1998-06-16 19:23:03 +00:00
Janet B. Anderson
3c675f2565 Fixed reference to perl location. 1998-06-16 15:43:37 +00:00
Janet B. Anderson
c2cbd31fc0 Fixed perl directory specification. 1998-06-16 15:10:45 +00:00
Jeff Hill
7d81061b60 added newline at EOF 1998-06-16 03:45:02 +00:00
Jeff Hill
4dac09744e fixed prototype 1998-06-16 03:41:16 +00:00
Jeff Hill
beaab56d90 allow use of epicsAssert.h 1998-06-16 03:31:00 +00:00
Jeff Hill
98644b2ac8 added WIN32 libs 1998-06-16 03:28:53 +00:00
Jeff Hill
5e3d212189 doc 1998-06-16 03:27:46 +00:00
Jeff Hill
420dc30a5c use aToIPAddr 1998-06-16 03:25:13 +00:00
Jeff Hill
485da02820 eliminate DLL import/export warning 1998-06-16 03:22:21 +00:00
Jeff Hill
c8be1c9e5e use aToIPAddr() 1998-06-16 03:20:35 +00:00
Jeff Hill
0fe034cf64 installed 1998-06-16 03:17:38 +00:00
Jeff Hill
3fc95f0542 added smart gdd pointer header file 1998-06-16 03:17:12 +00:00
Jeff Hill
65d95867a9 fixed big problems with leaked ait/fixedString in gdd union 1998-06-16 03:16:27 +00:00
Jeff Hill
5c201c73d0 added comments 1998-06-16 03:12:40 +00:00
Jeff Hill
40f415f5c3 added sgi support 1998-06-16 03:10:51 +00:00
Jeff Hill
4935efd6b1 eliminated dangling ptr warning from bounds checker 1998-06-16 03:03:07 +00:00
Jeff Hill
e2b7a442d8 cosmetic 1998-06-16 03:01:44 +00:00
Jeff Hill
436be2d448 cleaned up fast string hash table 1998-06-16 03:00:19 +00:00
Jeff Hill
9100c5dd7e doc 1998-06-16 02:58:49 +00:00
Jeff Hill
3733b9bd40 attempted to solve err to str problems 1998-06-16 02:56:09 +00:00
Jeff Hill
261479ad0a removed ipAddrToA decl 1998-06-16 02:54:27 +00:00
Jeff Hill
75d4d73f57 use ip addr conversion in libCom - and cosmetic changes 1998-06-16 02:43:16 +00:00
Jeff Hill
6aa6cdd606 updated for new server API and use smart GDD ptr 1998-06-16 02:37:37 +00:00
Jeff Hill
a9b8a161f4 use aToIPAddr and auto attach to winsock if its a static build 1998-06-16 02:35:52 +00:00
Jeff Hill
65e1e8203e allow PVs to exist without a server 1998-06-16 02:34:14 +00:00
Jeff Hill
233dc670a3 use smart gdd ptr 1998-06-16 02:32:30 +00:00
Jeff Hill
78fc9f07f0 allow the PV to be created before the server 1998-06-16 02:31:36 +00:00
Jeff Hill
bf73514dd9 allow PV to be created before the server 1998-06-16 02:30:44 +00:00
Jeff Hill
5658c714d0 allow PVs to exist without a server 1998-06-16 02:26:09 +00:00
Jeff Hill
5e5c4e20cd cosmetic 1998-06-16 02:25:05 +00:00
Jeff Hill
d42468dd1e better diagnostics 1998-06-16 02:24:24 +00:00
Jeff Hill
f14e74c6b6 dont require that a server must exist before a PV is created 1998-06-16 02:21:49 +00:00
Jeff Hill
38bacaa84a use smart gdd ptr 1998-06-16 02:18:53 +00:00
Jeff Hill
f9e6130f17 installed 1998-06-16 02:12:05 +00:00
Jeff Hill
644320cbc3 cvtFast.h 1998-06-16 02:10:39 +00:00
Jeff Hill
4aad75a87b check for a valid host name after trying a dotted ip addr 1998-06-16 02:10:02 +00:00
Jeff Hill
6bd5b857e7 use aToIPAddr 1998-06-16 02:08:03 +00:00
Jeff Hill
1acfbc1f00 lazy init sock lib when its a static build & recoverfrom select differences in winsock 1998-06-16 02:06:32 +00:00
Jeff Hill
a1f2ed3e5f fixed spelling 1998-06-16 02:04:07 +00:00
Jeff Hill
076140f20d recover from winsock select differences 1998-06-16 02:03:22 +00:00
Jeff Hill
b3c6e4371e cosmetic 1998-06-16 01:59:54 +00:00
Jeff Hill
6f8bc78233 deleted 1998-06-16 01:58:53 +00:00
Jeff Hill
fc231af5ed fixed dll export/import problem 1998-06-16 01:58:18 +00:00
Jeff Hill
29c90caa54 fixed dll import/export problem\ 1998-06-16 01:54:28 +00:00
Jeff Hill
8968c33bdb installed 1998-06-16 01:53:00 +00:00
Jeff Hill
b439063760 added lazy init for static build 1998-06-16 01:52:32 +00:00
Jeff Hill
a0be9a16b3 consolodated code here to bsdSockResource.c 1998-06-16 01:50:37 +00:00
Jeff Hill
625ffa65cb fixed include 1998-06-16 01:48:06 +00:00
Jeff Hill
220f428e42 installed 1998-06-16 01:41:31 +00:00
Jeff Hill
e3ad99226e removed 1998-06-16 01:27:01 +00:00
Jeff Hill
e134af5b80 allow saturated clients to poll/use new consolodated IP address routines in libCom/clean up when a server and client delete the PV simultaneously 1998-06-16 01:16:09 +00:00
Jeff Hill
4183105e2e use ipAddrToA and cacDisconnectChannel() looses one parameter 1998-06-16 01:11:12 +00:00
Jeff Hill
3dfea10337 removed caHostFromInetAddr 1998-06-16 01:07:56 +00:00
Jeff Hill
aa06b8a593 removed - again 1998-06-16 01:06:04 +00:00
Jeff Hill
0967370546 call osiSleep if the delay is zero and there are no fd's selected - makes winsock happy 1998-06-16 01:04:56 +00:00
Jeff Hill
2cbfb7e787 removed netdb_depen.c 1998-06-16 01:03:03 +00:00
Jeff Hill
5c48817b29 deleted 1998-06-16 00:59:06 +00:00
Jeff Hill
2a7ac18626 attach to winsock when its a static build 1998-06-16 00:58:12 +00:00
Jeff Hill
1b00ec96fb added bad functionpointer error 1998-06-16 00:56:57 +00:00
Jeff Hill
0f45593c6d moved code from here to libCom 1998-06-16 00:56:03 +00:00
Jeff Hill
ca1f46765a moved code to libCom 1998-06-16 00:43:12 +00:00
Jeff Hill
742c4fd425 fixed include 1998-06-16 00:42:21 +00:00
Jeff Hill
00cc1caf40 consolodated code here into libCom 1998-06-16 00:41:22 +00:00
Jeff Hill
fc660b3027 cleanup 1998-06-16 00:25:31 +00:00
Jeff Hill
b610c8b3fe avoid purify warning 1998-06-16 00:24:26 +00:00
Marty Kraimer
7e68daea68 add check for null in dbAllocField 1998-06-15 20:55:15 +00:00
Marty Kraimer
f4ca56523f change dbLoadTemplate to dbLoadRecords 1998-06-15 20:20:21 +00:00
Marty Kraimer
02b4de9715 fix bugs found by Peregrine McGehee 1998-06-15 20:19:34 +00:00
Marty Kraimer
469f1b29c2 More late changes 1998-06-15 20:17:56 +00:00
Janet B. Anderson
728220c0cf R3.13.0beta12 updates. 1998-06-15 19:49:00 +00:00
Janet B. Anderson
d71f35e88e Removed DIRECTORY_TARGET references and added -d option to install lines.
Added $(EXE) to command name and replaced perl with $(PERL).
Renamed .DEPENDS to DEPENDS (for cygwin32 builds).
Added uninstall for Db directory.
1998-06-15 19:17:16 +00:00
Janet B. Anderson
43978efcf1 Moved cygwin32.bat to startup. 1998-06-15 17:11:05 +00:00
Janet B. Anderson
a17ec624c6 Moved file to startup directory. 1998-06-15 17:10:21 +00:00
Ralph Lange
dcc8fe5ed2 More Bugfixes; uses .db-stamp now. 1998-06-15 16:55:08 +00:00
Janet B. Anderson
6054d34f16 Removed DIRECTORY_TARGETS references and added -d option to install lines. 1998-06-15 16:09:38 +00:00
Marty Kraimer
045aca1db0 More editing for beta12 1998-06-15 15:53:50 +00:00
Janet B. Anderson
443cf5af58 Fix for perl script name. 1998-06-15 15:51:31 +00:00
Janet B. Anderson
52a6c09b7d Changes for R3.13.0.beta12 1998-06-15 15:30:10 +00:00
Janet B. Anderson
c60822d5e7 Modified perl location. 1998-06-15 15:11:50 +00:00
Janet B. Anderson
fdfbab644f Removed out of date file. 1998-06-15 14:50:56 +00:00
Janet B. Anderson
e20247ec11 Override for the default perl installation location. 1998-06-15 14:47:08 +00:00
Janet B. Anderson
c1999c0cbd Changes for beta12. 1998-06-15 14:22:56 +00:00
Janet B. Anderson
1a78b3eeb6 Renamed .DEPENDS to DEPENDS (for cygwin32 build) 1998-06-15 14:04:14 +00:00
Janet B. Anderson
da0800af39 Added Perl fullpath definition. 1998-06-12 21:01:49 +00:00
Janet B. Anderson
7107a2031b Added #define for SOCKERRSTR 1998-06-12 20:40:08 +00:00
Janet B. Anderson
cd16fbc3f2 Changes for shared library build. 1998-06-12 19:28:36 +00:00
Janet B. Anderson
53fab670ea Define strncasecmp for non unix builds only. 1998-06-12 19:28:07 +00:00
Marty Kraimer
aea3386205 remove unused code 1998-06-12 18:50:33 +00:00
Marty Kraimer
ee6a29d3a3 For -l command strip App and Boot from names 1998-06-12 18:42:26 +00:00
Marty Kraimer
3711d3ad06 Ralphs latest changes 1998-06-12 16:23:57 +00:00
Marty Kraimer
aecd94eb41 removed subtool 1998-06-12 15:52:23 +00:00
Marty Kraimer
e5cc6ad87c Fixed dbReportDeviceConfig so that it correctly handles LINR 1998-06-12 12:37:05 +00:00
Janet B. Anderson
682656a794 Changed perl to $(PERL) 1998-06-11 18:18:39 +00:00
Janet B. Anderson
4f41a4dd60 Removed reference to WHAT 1998-06-11 16:21:21 +00:00
Janet B. Anderson
1eb01cd0f8 Removed references to WHAT. 1998-06-11 16:20:51 +00:00
William Lupton
392e749476 Permitted pre-processor '#' lines between state-sets 1998-06-10 18:20:35 +00:00
Janet B. Anderson
ce878ffdd8 Modified cygwin32 separator definitions. 1998-06-10 17:37:04 +00:00
William Lupton
3995dbafdb addition of intLock()/intUnlock() (BESSY) 1998-06-04 19:32:12 +00:00
William Lupton
fdb0b29c0a fixed stringout typo plus cosmetic mod 1998-06-04 19:28:29 +00:00
William Lupton
69e0ffe36f fixed array bound problem (BESSY) 1998-06-04 19:26:48 +00:00
William Lupton
52e35dde60 incremented version number for Beta12 1998-06-04 19:25:29 +00:00
William Lupton
cb73e1f672 avoided intHandlerCreate() for PPC 1998-06-04 19:24:30 +00:00
William Lupton
7f3b0f64b0 replaced symFindByNameMips with symFindByNameEPICS 1998-06-04 19:23:20 +00:00
William Lupton
142aa9571a changed to use symFindByNameEPICS 1998-06-04 19:21:23 +00:00
William Lupton
d4cf4cdaf7 removed define of symFindByName (replaced by symFindByNameEPICS) 1998-06-04 19:17:08 +00:00
William Lupton
25fe26e168 initial insertion 1998-06-04 19:15:13 +00:00
William Lupton
92fcba48f2 removed config and added templates 1998-06-04 19:13:52 +00:00
Marty Kraimer
e642dbe685 RECTYPES built only on Host 1998-06-04 13:57:56 +00:00
Marty Kraimer
e41c83d2de change #< nfsCommands to #< ../nfsCommands 1998-06-04 13:57:11 +00:00
Marty Kraimer
937c7ff4f0 ScanRate change to ScanPeriod 1998-06-04 13:55:18 +00:00
Marty Kraimer
fb88316392 Allow \ for directory separator on winXX systems 1998-06-04 13:50:51 +00:00
Marty Kraimer
68b9fe501e changes for old applications 1998-06-04 13:48:07 +00:00
Janet B. Anderson
df0653ee53 Changed java install rule. 1998-06-03 14:51:51 +00:00
Marty Kraimer
6d1ecdeb96 More changes for beta12 1998-06-03 14:20:29 +00:00
Janet B. Anderson
b5d3aaa231 Added changes from Steve Hunt 1998-06-02 21:05:19 +00:00
Janet B. Anderson
f54959c473 Modified if test on SRCS and COND_PROD_SRCS. 1998-06-02 21:03:55 +00:00
Janet B. Anderson
56e607be7e Added INSTALL_TEMPLATES to uninstall rule. 1998-06-02 21:00:10 +00:00
Marty Kraimer
0d51d99642 move DBDINSTALL from Makefile.Vx to Makefile.Host 1998-06-02 20:40:13 +00:00
Marty Kraimer
2c9cf0f8cd More4 changes for beta12 1998-06-02 18:28:29 +00:00
Janet B. Anderson
4b42bb7db9 *** empty log message *** 1998-06-02 04:16:37 +00:00
Janet B. Anderson
55c2134ef7 TESTPROD handled same as PROD except not installed. 1998-06-02 02:43:38 +00:00
Janet B. Anderson
71d5c73977 Simplified makefile. 1998-06-02 01:13:39 +00:00
Janet B. Anderson
83163779c1 Changed to TESTPROD method. 1998-06-02 01:12:40 +00:00
Janet B. Anderson
3258b789dc Added strip to if statements. Changed def of PROD_OBJS. 1998-06-02 01:09:40 +00:00
Marty Kraimer
92e7023880 Still working toward beta12 1998-06-01 19:42:30 +00:00
Marty Kraimer
06f35bf4db More changes for beta12 1998-06-01 19:41:52 +00:00
Marty Kraimer
47c5e55831 remove debugging print statement 1998-06-01 19:39:46 +00:00
Marty Kraimer
2ff9c8ca94 Allow \ as well as / for microcentric folks 1998-06-01 19:38:48 +00:00
Janet B. Anderson
b4f37d7eca Removed DIRECTORY_TARGETS. 1998-06-01 19:23:27 +00:00
Jeff Hill
10551ddcb8 fixed mv167 always built problem 1998-05-29 20:39:37 +00:00
Jeff Hill
a5a8b8d263 added additional libs for non-dll build 1998-05-29 20:35:18 +00:00
Jeff Hill
4d8587a382 fixed non-dll build 1998-05-29 20:34:19 +00:00
Jeff Hill
f30571ed6d made hashing routine portable 1998-05-29 20:22:44 +00:00
Jeff Hill
8f2a7b538c use epicsAssert.h and proper form of include 1998-05-29 20:20:28 +00:00
Jeff Hill
ec3df62672 use new sock ioctl() typedef 1998-05-29 20:19:11 +00:00
Jeff Hill
3ccf720f96 fixed for non-dll build under win32 1998-05-29 20:17:39 +00:00
Marty Kraimer
f844b2c5af remove unused variable 1998-05-29 20:17:25 +00:00
Marty Kraimer
ad68af66f9 add share 1998-05-29 20:17:13 +00:00
Marty Kraimer
1eb7d4f45b remove no longer used templates 1998-05-29 20:16:57 +00:00
Jeff Hill
67648998e6 corrected use of INADDR_ANY 1998-05-29 20:16:13 +00:00
Jeff Hill
eb3b8d8834 made assert() call portable to 64 bit arch 1998-05-29 20:13:42 +00:00
Jeff Hill
a2698c7828 use new sock ioctl() typedef 1998-05-29 20:08:21 +00:00
Jeff Hill
3437531581 allow non-shareable lib build under WIN32 1998-05-29 20:03:33 +00:00
Jeff Hill
7dae2cd25b added sock ioctl() typedef 1998-05-29 19:55:59 +00:00
Jeff Hill
134fe51682 added sock ioctl() typedef and the loop back address 1998-05-29 19:55:25 +00:00
Marty Kraimer
085895a0e3 CWD was NOT supposewd to be added 1998-05-29 19:31:01 +00:00
Marty Kraimer
e262507653 Still changing 1998-05-29 19:26:58 +00:00
Marty Kraimer
c94ddfe13f Still working of bessy changes 1998-05-29 18:34:53 +00:00
Marty Kraimer
4ebc71c349 moved to makeBaseApp 1998-05-29 18:33:33 +00:00
Marty Kraimer
8fe0f0dbef New versions from Tim Mooney 1998-05-29 18:31:33 +00:00
Marty Kraimer
258633fbaa make sure delay time is at least 1 second 1998-05-29 18:30:42 +00:00
Marty Kraimer
cce25a0f8a base.* moved to makeBaseApp; DBDINSTALL removed from Makefile.Vx 1998-05-29 18:29:29 +00:00
Marty Kraimer
c1cfc9f31d get rid of a warning message 1998-05-29 18:25:13 +00:00
Marty Kraimer
6cce35a1c2 Changes for new makeBaseApp 1998-05-29 18:23:45 +00:00
Jeff Hill
11681240b6 allow use of epicsAssert.h 1998-05-29 17:25:47 +00:00
Jeff Hill
b0c667db4b improved doc 1998-05-29 17:01:59 +00:00
Jeff Hill
47837552b0 moved app type jump table to exPV class for improved readability 1998-05-29 16:45:14 +00:00
Jeff Hill
5e83b24f01 allow CA to run systems w/o local interface query capabilities (ie cygwin32) 1998-05-29 00:03:21 +00:00
Marty Kraimer
96f5e6984d added 1998-05-28 19:52:48 +00:00
Marty Kraimer
d96af74f38 major changes for new makwBaseApp 1998-05-28 19:51:50 +00:00
Jeff Hill
13b7753cf4 more changes to allow traditional C 1998-05-21 21:53:20 +00:00
Janet B. Anderson
30d9bf6dfe Added rule change updates. 1998-05-21 18:38:34 +00:00
Janet B. Anderson
abb249e574 Allow c++ code to build using b19 1998-05-21 16:28:15 +00:00
Marty Kraimer
fce25316dd introduced a bug with last bug fixes 1998-05-21 15:55:29 +00:00
Janet B. Anderson
b6f4b661cd cygwin32 b19 updates and some other changes. 1998-05-21 15:33:59 +00:00
Marty Kraimer
c8308d51b7 more updates for changes since beta11 1998-05-20 21:04:46 +00:00
Marty Kraimer
d47b64445c cvtDoubleToString will display big numbers better 1998-05-20 21:01:38 +00:00
Marty Kraimer
a1c5820561 raised DB_CA_PRI to just higher than sequencer 1998-05-20 21:00:43 +00:00
Marty Kraimer
601de8c5e5 changed from semBCreate to semMCreate 1998-05-20 20:59:46 +00:00
Marty Kraimer
07362375e4 asLib_lex.l changed to allow more characters(like dbLoadxxx)
Fixed bug that could cause deadlock when an ASG field is changed at run time.
1998-05-20 20:59:13 +00:00
Janet B. Anderson
79e96213e0 Warning messages changes. 1998-05-13 19:51:37 +00:00
Janet B. Anderson
69fadca2bb Second installment of shared library changes. 1998-05-13 14:44:21 +00:00
Janet B. Anderson
a7045a039e Dependancy bug fix. 1998-05-13 14:42:22 +00:00
Jeff Hill
35f054e17f use READONLY for const so that pre-ANSI C extensions will compile 1998-05-12 18:33:38 +00:00
Jeff Hill
7a01eaff4c added missing call to freeListCleanup() 1998-05-08 00:20:56 +00:00
Jeff Hill
c71c933f98 improved doc 1998-05-06 21:52:09 +00:00
Jeff Hill
467ad6a5a5 removed C++ loader from tornado 1998-05-06 21:51:07 +00:00
Jeff Hill
09f66ce08a updated for g++ 2.8.1 1998-05-06 21:40:02 +00:00
Jeff Hill
5452422689 eliminated use of printErrno() 1998-05-06 21:36:26 +00:00
Jeff Hill
9806688d97 eliminated use of printErrono() 1998-05-06 21:32:06 +00:00
Jeff Hill
51a907fbc6 improved doc 1998-05-06 21:28:18 +00:00
Jeff Hill
ccf7bf9ebc added changes from Steve Hunt 1998-05-06 18:32:21 +00:00
Jeff Hill
13133ba9c9 removed backslash which conuses cpp 1998-05-05 21:09:52 +00:00
Jeff Hill
7424bcfeda fixed warning 1998-05-05 21:08:49 +00:00
Jeff Hill
d65fce5b3f fixed doc 1998-05-05 21:06:20 +00:00
Jeff Hill
5dfa5ca37d rearranged to allow compilation by g++ 2.8.1 1998-05-05 18:06:58 +00:00
Jeff Hill
0fd0552bb7 cleaned up file format 1998-05-05 16:32:17 +00:00
Jeff Hill
e6888bdf2b fixed doc 1998-05-05 16:30:38 +00:00
Jeff Hill
2444ab3036 fixed warnings 1998-05-05 16:29:58 +00:00
Jeff Hill
4b1237cda7 timer duration flexibility 1998-05-05 16:25:02 +00:00
Jeff Hill
c9d031f75e Made the scan timer clean up the link in exPV to the timer
in case they change the scan timer to a one shot.
1998-05-05 16:14:19 +00:00
Jeff Hill
82974bbadb no need for special EPICS_CA_AUTO_CA_ADDR_LIST warning under win sock II 1998-05-05 16:11:38 +00:00
Jeff Hill
a6d64486d1 Use lock macros and task variable in ca_extra_event_labor() 1998-05-05 16:07:59 +00:00
Jeff Hill
6d545abe33 improved lock owner management 1998-05-05 16:05:41 +00:00
Jeff Hill
291146fd4e added lock count var 1998-05-05 16:04:19 +00:00
Jeff Hill
266a038484 use epicsAssert.h 1998-05-05 16:03:10 +00:00
Janet B. Anderson
525a506801 Changes from Mark Rivers. 1998-04-27 14:04:35 +00:00
Janet B. Anderson
15b6c1db6d port to MIPS target architecture from Nick Rees 1998-04-24 16:28:07 +00:00
Janet B. Anderson
1fc6f092bd Allow USR_LDFLAGS_<archclass> definitions. Added TARGETS to clean rule. 1998-04-23 21:18:32 +00:00
Janet B. Anderson
d6e1aed936 Allow LIBOBJS_<archclass> definitions. 1998-04-23 21:15:37 +00:00
Marty Kraimer
8dca7ebe56 make changes for Tim Mooney 1998-04-23 17:25:20 +00:00
Marty Kraimer
946c3c7886 make it a little more robust against ca problems 1998-04-23 17:22:58 +00:00
Janet B. Anderson
0a0b6d7880 Added compiler specific key words to set up shareable library (DLL) for WIN32 1998-04-23 14:03:55 +00:00
Janet B. Anderson
073c5a48ae Added compiler specific key words to set up shareable library (DLL) for WIN32 1998-04-23 13:56:10 +00:00
Jeff Hill
4d20d420f6 fixed overzelous chan check in ca_clear_channel() - when the PV is local under vxWorks 1998-04-23 01:04:05 +00:00
Jeff Hill
f0ed7be469 added ECA_BADCHID 1998-04-23 01:00:38 +00:00
Jeff Hill
ec619b727c fixed WIN32 dll build 1998-04-21 00:27:01 +00:00
Jeff Hill
e24a712347 made clientHostName virtual in casDGClient 1998-04-20 18:14:57 +00:00
Jeff Hill
bcf1d37465 better debug mesg 1998-04-20 18:11:01 +00:00
Jeff Hill
197b185351 fixed exception message for DG clients 1998-04-20 18:07:09 +00:00
Marty Kraimer
13345373bc make name fields 40 characters 1998-04-20 16:03:15 +00:00
Marty Kraimer
b5927401bc minor changes 1998-04-20 16:01:14 +00:00
Marty Kraimer
5f2780f773 new routine dbGetLinkDBFtype is now available. It returns the field type of a database link.
dbNotify was fixed to work correctly for putNotify as well as put.
 scanppl now accepts an argumeny rate. scanpel accepts an argument event_number
1998-04-20 16:00:19 +00:00
Marty Kraimer
41b32088a6 replace SEVCHK by checking return status 1998-04-20 15:41:28 +00:00
Janet B. Anderson
18184eb1ba Initial version of jeva rules and definitions. 1998-04-17 21:31:12 +00:00
Jeff Hill
e68a326277 fixed range problem in string to fp convert 1998-04-17 17:49:25 +00:00
Janet B. Anderson
69c5f8749c Initial version of shared library support 1998-04-16 22:39:10 +00:00
Jeff Hill
b5290a8f11 cosmetic 1998-04-16 21:23:10 +00:00
Jeff Hill
049944e51e convert to EPICS time stamp 1998-04-16 21:22:30 +00:00
Jeff Hill
33980c5cc3 fixed spelling in comment 1998-04-16 21:17:38 +00:00
Jeff Hill
1d4fae8d0a removed redundant solaris test 1998-04-16 21:16:35 +00:00
Jeff Hill
3b479b2028 allow copies of less than the number of elements returned 1998-04-16 21:16:09 +00:00
Jeff Hill
9be74199ab removed potential race condition 1998-04-16 21:12:55 +00:00
Janet B. Anderson
933bd23a67 Added definitions and rule changes for WIN95/NT resource files. 1998-04-16 19:06:28 +00:00
Jeff Hill
b40d56badf fixed the doc 1998-04-15 21:58:29 +00:00
Jeff Hill
8c495183cf fixed incomplete init problem 1998-04-15 21:53:02 +00:00
Jeff Hill
31ecd3c0db improved message 1998-04-15 21:52:33 +00:00
Jeff Hill
64a267df1a removed caRepeater.c from lib 1998-04-15 21:51:50 +00:00
Jeff Hill
601cbcfb0b added array as string test 1998-04-15 21:50:26 +00:00
Jeff Hill
3ec4a67b82 cosmetic 1998-04-15 00:04:05 +00:00
Jeff Hill
d496c9dee6 improved diagnostic 1998-04-14 23:51:10 +00:00
Janet B. Anderson
f0b0319778 Added test for INSTALL_LOCATION_APP. 1998-04-14 14:12:30 +00:00
Janet B. Anderson
18c023cc9c Added test for INSTALL_LOCATION_BASE. 1998-04-14 14:11:45 +00:00
Janet B. Anderson
a08022db51 Fixed wildcard definition. 1998-04-14 14:08:59 +00:00
Jeff Hill
bd388eb50e code around ms sizeof() bug V5.0 1998-04-14 00:51:33 +00:00
Jeff Hill
8964b27ee1 cosmetic 1998-04-14 00:50:00 +00:00
Janet B. Anderson
3006dd8d9f Added hkbaja47. 1998-04-13 20:22:00 +00:00
Janet B. Anderson
d4dbaec3c5 Initial version. 1998-04-13 19:55:07 +00:00
Jeff Hill
52712bf7b7 fixed task variable problem 1998-04-13 19:14:36 +00:00
Jeff Hill
9febbc8247 fixed really bad bug when clients use PV name with .xxxx in it 1998-04-10 23:15:40 +00:00
Jeff Hill
363115921d added missing byte swap and fixed comment 1998-04-10 23:14:54 +00:00
Jeff Hill
fbba753e9e fixed byte swap problems, and use default port if server tool returns PV IP addr, but no port 1998-04-10 23:13:14 +00:00
Jeff Hill
287f2777a3 cosmetic 1998-04-10 23:11:10 +00:00
Jeff Hill
ec2732b058 fixed solaris architecture specific problem where xxx>>32 was ignored 1998-04-10 23:07:33 +00:00
Jeff Hill
e0944b7e39 link with user32 lib under WIN32 1998-04-10 23:00:57 +00:00
Jeff Hill
b5f7ea85b4 added addl comments 1998-04-10 22:59:37 +00:00
Marty Kraimer
9e10969c81 add LOGNAME when looking for user 1998-04-03 16:08:19 +00:00
Janet B. Anderson
f47bf2c9e0 Added default value for OBJ. 1998-03-31 22:25:04 +00:00
Janet B. Anderson
d11f4d1cdf Added files from src/devOpt. 1998-03-26 19:25:29 +00:00
Janet B. Anderson
2d4b230a83 Added C++ munching %.out rule. 1998-03-26 17:25:49 +00:00
Janet B. Anderson
1ba094353f Added NM and MUNCH definitions. 1998-03-26 17:21:38 +00:00
Janet B. Anderson
7f6d8e2822 DLL_LIBS definition and changed LINK.cc definition. 1998-03-26 17:19:01 +00:00
Janet B. Anderson
23a184261a Added share library flags and removed unused defines. 1998-03-26 17:14:11 +00:00
Marty Kraimer
7ac76c980c Remove duplicate definition 1998-03-26 15:02:53 +00:00
Jeff Hill
cea6ad4710 addr default test now uses INADDR_BROADCAST for 64 bit arch 1998-03-24 20:55:16 +00:00
Jeff Hill
0079f71bce fixed console title/correct repeater spawn/correct winsock II URL 1998-03-24 20:55:06 +00:00
Jeff Hill
3da421560b fixed console title 1998-03-24 00:32:23 +00:00
Jeff Hill
2e52bb9c1e fixed place where shareLib.h macros were not redifed 1998-03-23 20:14:42 +00:00
Janet B. Anderson
eb74e8d5cc Changed default to STRICT. 1998-03-19 21:26:49 +00:00
Janet B. Anderson
6a50e1835a Turned off warnings for host build. 1998-03-19 21:25:11 +00:00
Marty Kraimer
e91bd4e018 Getting ready for next release 1998-03-19 20:48:15 +00:00
Marty Kraimer
e4ea112d5a Get rid of some warning messages 1998-03-19 20:46:33 +00:00
Marty Kraimer
f76ae5019b These are for string calculation operations; Not ready yet to replace postfix
and calcPerform.
1998-03-19 20:45:50 +00:00
Marty Kraimer
83f6dc4f25 Fix for building DLLs 1998-03-19 20:44:29 +00:00
Marty Kraimer
97191cfb50 get rid of some warning messages 1998-03-19 20:43:47 +00:00
Marty Kraimer
b79a25c249 Add some includes to get rid of some warning messages 1998-03-19 20:42:47 +00:00
Marty Kraimer
eb254da63b Get rid of warning messages 1998-03-19 20:42:08 +00:00
Marty Kraimer
4486982ee6 Checked for Y2K complience. It turns out it was even ok when NTP time overflows
in 2036. However it was modified so that no overflows should occur while convert
ing between NTP, UNIX, and EPICS epochs.
In addition the conversion of fractions of a second to nanaoseconds was changed
Formatting was changed so that interesting code does not run off right side of page.
Hopefully EPICS base is now fine for Y2K.
In fact it should be fine (as far as time is converned) until the Unix epoch
overflows a 32 unsigned integer in the year 2106.
1998-03-19 20:41:16 +00:00
Marty Kraimer
54cd86e819 get rid of warnimng messages 1998-03-19 20:32:33 +00:00
Marty Kraimer
94d36a5f4f Add include for string.h 1998-03-19 20:32:00 +00:00
Marty Kraimer
f9aecdd7fb Get rid of warnimg messaage 1998-03-19 20:31:27 +00:00
Jeff Hill
2163b7e60e dont use Vis C++ key words under the Cygnus GNU environment 1998-03-19 00:04:32 +00:00
Jeff Hill
49f9a3b462 use _MSC_VER to turn of vis C++ specific warning 1998-03-18 23:59:28 +00:00
Janet B. Anderson
f67a5108d7 Changed command definitions. 1998-03-18 19:25:01 +00:00
Janet B. Anderson
0fabbd1e33 Removed continuation from shell command for WinNT builds. 1998-03-18 18:44:40 +00:00
Janet B. Anderson
2e7e64db55 Makefile bug fix. 1998-03-17 19:22:37 +00:00
Janet B. Anderson
00c0d5218a Added USR_LIBS_$(ARCH_CLASS) definitions. 1998-03-16 22:38:56 +00:00
Marty Kraimer
8bad8eebff Did not work properly if DOL is a CA link that fails 1998-03-16 17:08:39 +00:00
Marty Kraimer
d462fea5fb Get rid of error messages 1998-03-16 17:07:54 +00:00
Marty Kraimer
844d2d8293 Get rid of size from DBF_NOACCESS fields 1998-03-16 17:02:29 +00:00
Marty Kraimer
2fe41fa67f include string.h 1998-03-16 17:01:27 +00:00
Marty Kraimer
ae3538ae43 For 3.13.0.beta11 1998-03-16 16:49:05 +00:00
Marty Kraimer
011804166b Changes from tech-talk messages 1998-03-16 16:44:47 +00:00
Marty Kraimer
ae6110465b Remove all non-supported stuff 1998-03-16 16:37:25 +00:00
Marty Kraimer
9a938f9626 added field attributes 1998-03-16 16:31:22 +00:00
Marty Kraimer
e4f000b3cf Dont remember what was fixed. 1998-03-16 16:29:36 +00:00
Marty Kraimer
f91fa643ba Move private stuff to another fil;e 1998-03-16 16:25:52 +00:00
Marty Kraimer
e795e4edbd make sure iocLog is started 1998-03-16 16:25:20 +00:00
Marty Kraimer
713d7fd361 get rid of warning message 1998-03-16 16:24:29 +00:00
Marty Kraimer
c6304512eb Move private definitions to postfixPvt.h 1998-03-16 16:23:42 +00:00
Marty Kraimer
e0144c5776 add include for string.h 1998-03-16 16:22:35 +00:00
Marty Kraimer
9cb14b5f13 add support for field attributes 1998-03-16 16:21:50 +00:00
Marty Kraimer
c62b683f13 Add DBR_CLASS_NAME 1998-03-16 16:21:05 +00:00
Marty Kraimer
b9dc729011 Allow dbhcr to accept filename argument 1998-03-16 16:20:16 +00:00
Marty Kraimer
769c340d64 Add DBR_STSACK_STRING and DBR_CALSS 1998-03-16 16:10:54 +00:00
Marty Kraimer
55a206cb47 Get rid of size field on DBF_NOACCESS fields 1998-03-16 16:09:35 +00:00
Marty Kraimer
2a075c0353 Add cvrt_string for DBR_CLASS 1998-03-16 15:54:39 +00:00
Marty Kraimer
fac1096850 add include for string.h 1998-03-16 15:52:10 +00:00
Marty Kraimer
7385472689 Fix problems that could cause crash when asInit called after iocInit
Add macro substitution capability
1998-03-16 15:51:10 +00:00
Jeff Hill
c301129071 added enums stub 1998-03-12 21:14:15 +00:00
Jeff Hill
67679b3ac4 use no bitfield option only on the 68k 1998-03-12 20:45:39 +00:00
Jeff Hill
82ec39512d fixed string defs 1998-03-12 20:43:35 +00:00
Jeff Hill
5276e19d59 fixed problem where 3.13.beta11 unable to connect to 3.11 with correct native type 1998-03-12 20:39:11 +00:00
Janet B. Anderson
7fb514e73e The call make is no longer printed. 1998-03-12 18:37:17 +00:00
Janet B. Anderson
f546858d47 Fixed problem - Warning: missing newline at end of file 1998-03-12 18:34:55 +00:00
Janet B. Anderson
58e3e8cc9d Removed . in path requirement. 1998-03-12 18:33:23 +00:00
Janet B. Anderson
329445119c Config changes for extensions and config simplification. 1998-03-12 04:54:55 +00:00
Janet B. Anderson
29a0eb0210 Added some comments. 1998-03-11 14:29:43 +00:00
Janet B. Anderson
17f92394b6 Added INSTALL_BIN definition. 1998-03-11 14:27:23 +00:00
Janet B. Anderson
c1a37d518a Added BUILD_TYPE definition to output Makefile. 1998-03-11 14:22:37 +00:00
Janet B. Anderson
2faf339f99 Added missing newline at end of file. 1998-03-11 14:19:35 +00:00
rwright
267247a5ce Avoided compilation warnings under Tornado 1998-03-11 01:56:15 +00:00
Jeff Hill
986d451fab link.c => link,cc 1998-03-03 00:16:30 +00:00
Jeff Hill
5bd1407214 improved doc 1998-03-02 22:17:40 +00:00
Jeff Hill
ae1a1dc7b8 improved doc 1998-03-02 22:06:15 +00:00
Jeff Hill
41655d995b installed 1998-02-27 02:59:01 +00:00
Jeff Hill
87bad70571 converted to UNIX ascii file format 1998-02-27 02:49:24 +00:00
Jeff Hill
53ff524e67 installed 1998-02-27 02:47:44 +00:00
Jeff Hill
7c6af324ec use winsock II 1998-02-27 02:33:49 +00:00
Jeff Hill
bc48b09009 install osiFileName.h 1998-02-27 02:32:40 +00:00
Jeff Hill
3dc326d89a fixed lib build before dll on WIN32 1998-02-27 02:31:21 +00:00
Jeff Hill
fa690a7776 add win32 specific libs 1998-02-27 01:36:34 +00:00
Jeff Hill
6baa5568a8 include postfix.h 1998-02-27 01:36:01 +00:00
Jeff Hill
27c4d0574f cleaned up the DLL symbol export 1998-02-27 01:34:15 +00:00
Jeff Hill
ee11ef0c1b updated for winsock II 1998-02-27 01:31:39 +00:00
Jeff Hill
82a24516fb export postfix.h and added win32 spec libs 1998-02-27 01:29:06 +00:00
Jeff Hill
5fea5bc173 moved postfix and calcPerform to postfix.h 1998-02-27 01:28:08 +00:00
Jeff Hill
c67f0cdfde include postfix.h 1998-02-27 01:14:55 +00:00
Jeff Hill
5874c2d808 use os independent path separator 1998-02-27 01:13:03 +00:00
Jeff Hill
101ae89e5f added win32 specific libs 1998-02-27 01:10:28 +00:00
Jeff Hill
5e4780164f removed DLL_LIBS and added WIN32 specific libs 1998-02-27 01:06:30 +00:00
Jeff Hill
9fb8f58040 integrated Timossi's win sock II changes 1998-02-27 01:05:04 +00:00
Jeff Hill
147ccecd00 fixed benign WIN32 message from overwritten errno 1998-02-27 01:04:03 +00:00
Jeff Hill
98cd03c75a no DLL_LIBS and added win32 specific libs 1998-02-27 01:02:43 +00:00
Jeff Hill
a50d7ad1da included postfix.h 1998-02-27 01:01:46 +00:00
Ken Evans
2a53e1fcfe Added an explicit include of tsDefs.h before cadef.h to avoid the
functions in it being declared as export and also to avoid its
allocating space when it should be declaring a reference.
1998-02-20 21:52:21 +00:00
Ken Evans
66aa22f9eb Added epicsShareAPIV for variable args functions. These cannot be
_stdcall, so the current implementation was not working.
epicsShareAPIV should be used for functions with both ... and va_list
type arguments.
1998-02-20 21:48:33 +00:00
Ken Evans
88d36c7db3 Made a large number of changes to epicsShareThings in libCom routines
to get imports and exports straight on WIN32.  Not everything is fixed
at this time.
1998-02-20 21:45:20 +00:00
Jeff Hill
cb3be0edd7 removed osiFileName.h 1998-02-20 01:24:56 +00:00
Marty Kraimer
d7e1d16536 Get rid of nextFieldSubr;
dont change user args in tsTextxxx
1998-02-19 15:00:14 +00:00
Marty Kraimer
b3f706af3b Get rid of some of the warning messages 1998-02-19 14:57:15 +00:00
Jeff Hill
9a49eab8f8 fixed gnu warning 1998-02-18 22:53:13 +00:00
Jeff Hill
2bddbfeedc fixed to run on both vis C++ 5.0 and g++ 1998-02-18 22:52:22 +00:00
Jeff Hill
6b1be2ea5c fixed warning 1998-02-18 22:46:47 +00:00
Jeff Hill
45291dbb90 improved message 1998-02-18 22:46:25 +00:00
Jeff Hill
828ac6ef19 removed osi file name stuff 1998-02-18 22:39:52 +00:00
Janet B. Anderson
7434d3315d Removed buggy TCLINDEX install rule. 1998-02-10 17:03:05 +00:00
Jeff Hill
b1051b3c53 backed prev revision 1998-02-06 03:15:48 +00:00
Jeff Hill
a6cc071443 use os independent path seperator 1998-02-06 01:55:54 +00:00
Jeff Hill
91006b6f79 use os indep path sep 1998-02-06 01:51:26 +00:00
Jeff Hill
7a5abd5635 doc 1998-02-06 01:27:35 +00:00
Jeff Hill
98d91076aa more comments 1998-02-06 01:14:16 +00:00
Jeff Hill
f923e83ab5 deleted extra include of assert.h 1998-02-06 00:51:42 +00:00
Jeff Hill
08c394a384 use ETHERNET_MAX_UDP for the recv buffer 1998-02-06 00:36:00 +00:00
Jeff Hill
76d0ec6e75 nit 1998-02-06 00:35:06 +00:00
Jeff Hill
c4bc7b07c4 some BSPs dont implement taskIdVerify() correctly
so use taskNameToId status instead
1998-02-06 00:33:46 +00:00
Jeff Hill
9b5fbcae9e comment 1998-02-06 00:29:34 +00:00
Jeff Hill
381c7db9bb added file name defs headers 1998-02-06 00:19:17 +00:00
Jeff Hill
9edc539d43 added osi file name defs 1998-02-06 00:14:53 +00:00
Jeff Hill
294a1fb43d added osi file name headers 1998-02-06 00:10:15 +00:00
Jeff Hill
5aa2aee0ea file name headers 1998-02-06 00:09:37 +00:00
Jeff Hill
3dd76200fc added errno macros 1998-02-06 00:07:37 +00:00
Jeff Hill
2bcd1ad238 use SEM_INVERSION_SAFE 1998-02-06 00:02:38 +00:00
Jeff Hill
f9aae0438f global update in test directory 1998-02-05 23:29:18 +00:00
Jeff Hill
a4754b7774 fixed hp sompiler warnings 1998-02-05 23:28:21 +00:00
Jeff Hill
b08073064e workaround vis c++ 5.0 bug 1998-02-05 23:25:19 +00:00
Jeff Hill
2a491c9c63 dont install tsBTree.h 1998-02-05 23:23:19 +00:00
Jeff Hill
c0cdc975d9 fixed truncate return status logic error
now uses macros from osiSock.h
1998-02-05 23:16:35 +00:00
Jeff Hill
8af4189f4a dont use LANL address 1998-02-05 23:13:32 +00:00
Jeff Hill
ff8445b094 nit 1998-02-05 23:12:59 +00:00
Jeff Hill
59f6f20366 use osiSock macros 1998-02-05 23:12:01 +00:00
Jeff Hill
f7aff12384 use ethernet MAX frame size 1998-02-05 23:09:58 +00:00
Jeff Hill
1ea5f73986 moved inline destructor here 1998-02-05 23:06:36 +00:00
Jeff Hill
edb0d0a879 removed static members 1998-02-05 23:05:27 +00:00
Jeff Hill
1de8dc42f6 hp comiler workaround changes 1998-02-05 23:03:39 +00:00
Jeff Hill
b891975e81 caServerOS destructor is now virtual 1998-02-05 23:01:25 +00:00
Jeff Hill
e472b2de05 removed assignement operator 1998-02-05 23:00:20 +00:00
Jeff Hill
41d8e66609 cosmetic 1998-02-05 22:56:12 +00:00
Jeff Hill
54835f8b55 moved inline func here 1998-02-05 22:54:19 +00:00
Jeff Hill
a6bda8fe0c removed trash 1998-02-05 22:52:46 +00:00
Jeff Hill
33435fb5d1 include resourceLib.h 1998-02-05 22:51:34 +00:00
Jeff Hill
e9b961bf28 added caNetAddr assignment operator 1998-02-05 22:50:43 +00:00
Jeff Hill
59c65644df workaround vis C++ 5.0 bug 1998-02-05 22:47:46 +00:00
Jeff Hill
1ee791571f removed many symbols 1998-02-05 22:46:01 +00:00
Jeff Hill
d477a67750 attach to winsock I also 1998-02-05 22:45:21 +00:00
Jeff Hill
45f6f2da71 use inversion safe mutex 1998-02-05 22:39:46 +00:00
Jeff Hill
7eb0757790 added starlet.h (SLAC's request) 1998-02-05 22:36:01 +00:00
Jeff Hill
8fb78fd187 dont delete client if send returns ECONNREFUSED 1998-02-05 22:34:33 +00:00
Jeff Hill
459e9fa1c1 added defined(_X86_) for gnu C 1998-02-05 22:31:32 +00:00
Jeff Hill
c3503f6541 fixed dll export problems 1998-02-05 22:30:34 +00:00
Jeff Hill
173f39b6fa use osiSock macros 1998-02-05 22:29:42 +00:00
Jeff Hill
ee812ff899 use SOCKERRSTR macro 1998-02-05 22:06:03 +00:00
Jeff Hill
6957237fa1 fixed pre-ansi compiler no macros problem 1998-02-05 22:05:05 +00:00
Jeff Hill
66e5942b5c added ETHERNET_MAX_UDP 1998-02-05 22:04:08 +00:00
Jeff Hill
5bf27c9d79 use FD_SETSIZE macro 1998-02-05 22:01:16 +00:00
Jeff Hill
79375295b8 fixed dll export 1998-02-05 21:58:41 +00:00
Jeff Hill
8c968bb0fa added no pend event in event call back test 1998-02-05 21:56:46 +00:00
Jeff Hill
1c805b073c detect attempts by user to clear bogus channel 1998-02-05 21:55:49 +00:00
Jeff Hill
39edab9046 cosmetic 1998-02-05 21:29:14 +00:00
Jeff Hill
e8856b480e add ellVerify() 1998-02-05 21:28:29 +00:00
Jeff Hill
104c5960ab removed questionable inline 1998-02-05 21:12:10 +00:00
Jeff Hill
2fac2b68b1 use SOCK error defs and use priority inheritance mutex 1998-02-05 21:08:52 +00:00
Jeff Hill
7a560d4795 added the capability to define subsystem code in
the subsystem header file
1998-02-05 21:03:06 +00:00
rwright
cba017d4c9 William Lupton's fix for i=0,j=0 sequencer bug 1998-02-04 22:53:03 +00:00
Janet B. Anderson
887059f618 Added the tcl lib rules and definitions. 1998-02-04 16:34:11 +00:00
Janet B. Anderson
1507c97f34 Added tcl lib rules and definitions. 1998-02-04 16:33:19 +00:00
Ken Evans
935d7f3146 Added more information to the comments. 1998-02-03 17:28:20 +00:00
Ken Evans
da17a3cf81 Modified things related to epicsExportSharedSymbols so the imports and
exports are in the right places.
1998-02-03 17:26:26 +00:00
Janet B. Anderson
b06272fbf4 Added CP definition. 1998-01-23 17:31:33 +00:00
Marty Kraimer
55210b7a7f Forgot mbbiDirectSoft 1998-01-22 15:24:18 +00:00
Marty Kraimer
df1d467188 get rid of some warning messages 1998-01-22 14:48:43 +00:00
Marty Kraimer
94b3a7f5f9 changes for devSymb 1998-01-21 21:11:12 +00:00
Marty Kraimer
d99f23e050 INC all header files 1998-01-21 21:07:02 +00:00
Marty Kraimer
77ca6d0df1 include old device definitions 1998-01-21 21:03:46 +00:00
Marty Kraimer
f3eb906bf3 restructure; new Symb support 1998-01-21 20:48:12 +00:00
Marty Kraimer
fe2d8d5564 fixed include statements 1998-01-21 15:52:16 +00:00
Marty Kraimer
6b43dc7a84 Fix include statements 1998-01-21 15:41:50 +00:00
Marty Kraimer
909c0bb190 Add field aoRecord; Use generated menu values; fix includes 1998-01-21 15:40:37 +00:00
Marty Kraimer
a2033259b3 remove db_post_events for calc change (dbPut does it)
fix include statements
1998-01-21 15:38:43 +00:00
Marty Kraimer
f51f395d82 Add new conversion field EOFF
Fix include statements
1998-01-21 15:36:48 +00:00
Marty Kraimer
c57c4b562a The include path now supports the unix convention that an empty directory name means the current directory.
The lex grammer was changed so that it for quoted strings can contain any ascii character except a quote.
1998-01-21 15:15:50 +00:00
Marty Kraimer
8df9f0bbb8 Fix usage messages 1998-01-21 15:03:31 +00:00
Marty Kraimer
6257cdd29c allow quoted strings to contain any ascii character 1998-01-21 15:02:43 +00:00
Marty Kraimer
c618ea173e Allow quoted strings to contain any ascii character 1998-01-21 15:01:57 +00:00
Marty Kraimer
276d661ce4 cleanup includes 1998-01-20 22:09:00 +00:00
Marty Kraimer
75be8d5de3 New major version 1998-01-20 22:07:32 +00:00
Marty Kraimer
0f7623ad77 Doesnt belong in base 1998-01-20 21:59:02 +00:00
Marty Kraimer
fe4649e044 Changed Scl to Slc wherever this occured.
Added support for signed 16 bit analog values.
1998-01-20 21:58:19 +00:00
Marty Kraimer
06325e34bb remove devMpc.c 1998-01-20 21:53:56 +00:00
Marty Kraimer
bec2b11d04 fix inclues 1998-01-20 21:53:05 +00:00
Marty Kraimer
2f3a295d5d add includes for error messages 1998-01-20 21:51:58 +00:00
Marty Kraimer
7563f566ca add steppermotor.h 1998-01-20 21:50:42 +00:00
Marty Kraimer
529703ef54 added the arch_stack_factor for 64 bit architectures; changes for errlog 1998-01-20 21:49:55 +00:00
Marty Kraimer
5415d39249 New errlog facility. Replaces old epicsPrintf stuff 1998-01-20 21:42:46 +00:00
Marty Kraimer
30d8a2d528 Replaced by extension product msi 1998-01-20 21:40:40 +00:00
Marty Kraimer
9c8779c150 Changes for 64 bit architectures 1998-01-20 21:39:28 +00:00
Marty Kraimer
10bad1d091 Make it get initialized the first time any routine is called 1998-01-20 21:38:28 +00:00
Marty Kraimer
d892d7cba5 add dbDefs.h 1998-01-20 21:36:51 +00:00
Marty Kraimer
290eeda605 Obsolete: See errlog code 1998-01-20 21:35:52 +00:00
Marty Kraimer
47477269bf created for 64 bit architecture support 1998-01-20 21:35:08 +00:00
Marty Kraimer
34f56a6c66 Change for new errlog implementation 1998-01-20 21:29:13 +00:00
Marty Kraimer
c773d20bca Adding files 1998-01-20 21:21:53 +00:00
Marty Kraimer
730f0e7b2e add taskwd call to seqAuxTask 1998-01-20 21:20:57 +00:00
Marty Kraimer
8a81103901 Clean up and get rid of warninmg messages 1998-01-20 21:16:29 +00:00
Marty Kraimer
4bfe2bf8ee Fix include statements 1998-01-20 16:20:07 +00:00
Marty Kraimer
fa408da672 The no alarm string changed from "" to "NO_ALARM" 1998-01-20 16:19:04 +00:00
Marty Kraimer
af15099122 errMsg => errPrintf; changes for iocHook 1998-01-20 16:17:26 +00:00
Marty Kraimer
126c9da8ba initHooks MUST be product or else old code will break 1998-01-20 16:13:08 +00:00
Marty Kraimer
ef53dd7069 initHooks is now library function 1998-01-20 16:10:21 +00:00
Marty Kraimer
9a6af026a5 This is version described in 3.13beta11 App Dev Guide 1998-01-20 16:09:26 +00:00
Marty Kraimer
b736f540cf Add DBE_LOG to DBE_VALUE 1998-01-20 16:00:58 +00:00
Marty Kraimer
3febbc8791 Fix include statements 1998-01-20 16:00:22 +00:00
Marty Kraimer
899fe2ff7b devMpc removed 1998-01-20 15:59:23 +00:00
Marty Kraimer
07ab4e3d5d 1) Soft raw device support is uncommenmted
2) Device support for the Allen Bradley SLC is changed.
1998-01-20 15:57:59 +00:00
Marty Kraimer
18000fb9f6 1) Fixed bug that caused asRegisterClientCallback to fail on UNIX
2) asLib_lex.l changed to allow more characters(like dbLoadxxx)
1998-01-20 15:18:52 +00:00
Janet B. Anderson
dc274bb8f6 Changed perl to $(PERL). 1997-12-18 22:07:04 +00:00
Janet B. Anderson
35096c4d5a Linux specific changes to solaris file. 1997-12-18 19:42:19 +00:00
Janet B. Anderson
eda286d572 Linux change. 1997-12-18 19:03:18 +00:00
Janet B. Anderson
6fbbef45d1 Initial version copied from os/Solaris. 1997-12-18 18:55:00 +00:00
Marty Kraimer
68fb4bbf96 make first line #!/usr/bin/perl 1997-12-08 13:56:18 +00:00
Janet B. Anderson
024544a7fd Added target frc5ce and sparc files. 1997-12-04 18:44:08 +00:00
Johnny Tang
d677d61d81 take out the extra event post 1997-11-25 20:47:52 +00:00
Janet B. Anderson
5008542e01 Changed local variables val,hyst,lalm,hihi,high,low,lolo to long. 1997-11-24 19:17:00 +00:00
Janet B. Anderson
5d1fb04d46 Added html to uninstall directories. 1997-11-19 21:52:07 +00:00
Janet B. Anderson
44918762d5 User flags changed to += 1997-11-19 21:46:51 +00:00
Janet B. Anderson
68522430b3 Host build now installs dbd files. 1997-11-19 21:45:59 +00:00
Janet B. Anderson
457851b7ae Changes for tornado yes/no. 1997-11-19 21:41:34 +00:00
Janet B. Anderson
ff122e6a06 Appdir definition now refers to TOP 1997-10-23 15:20:39 +00:00
Janet B. Anderson
3b4bde6b7f Added rules and definintions for installing html files. 1997-10-21 21:49:08 +00:00
Janet B. Anderson
eb4b867ea4 Corrected misspelling. 1997-10-21 21:21:02 +00:00
Janet B. Anderson
bc8ea3d567 Added makeBaseApp directory. 1997-10-21 21:20:08 +00:00
Janet B. Anderson
d450236074 Modified user definition for WIN95. 1997-10-21 21:18:19 +00:00
Janet B. Anderson
499b4271cf New definition for APPDIR. 1997-10-21 14:38:21 +00:00
Marty Kraimer
f2518ff9d4 When taking first entry from lcl_buff_list did not check for null 1997-10-16 12:55:15 +00:00
Marty Kraimer
ed18159b0a Moving makeBaseApp to separate directory 1997-10-15 17:47:19 +00:00
Marty Kraimer
204c8b9fb3 Comment out Jeff's change 1997-10-15 15:31:08 +00:00
Marty Kraimer
6c32c9833f Add rule to make build faster 1997-10-14 14:21:10 +00:00
Marty Kraimer
5031b294b2 Get rid of check for home directory 1997-10-14 13:59:53 +00:00
Marty Kraimer
d0a8812231 1) Fixed bug that caused asRegisterClientCallback to fail on UNIX
2) asLib_lex.l changed to allow more characters(like dbLoadxxx)
1997-10-14 13:40:39 +00:00
Marty Kraimer
61f1e8b12f still original 1997-10-10 14:22:14 +00:00
Marty Kraimer
2d8de8ae0f Support for vxWorks 5.3 1997-10-10 13:52:48 +00:00
Marty Kraimer
0514607df6 Change for installing templates 1997-10-10 13:52:15 +00:00
Marty Kraimer
7096b5d0c3 Createing templates for makeBaseApp 1997-10-10 13:44:04 +00:00
Marty Kraimer
e655b37cbd new version using templates 1997-10-10 13:39:28 +00:00
Janet B. Anderson
1601030b7d Changed spaces to tabs in capfast rules. 1997-09-23 16:24:49 +00:00
Janet B. Anderson
0aa8e9fee0 Added missing trailing @ in the adl2dl rules. 1997-09-17 19:22:22 +00:00
Janet B. Anderson
3786da9b05 Removed dependancies from implicit rule lines. Added .C implicit rules. 1997-09-15 19:45:47 +00:00
Janet B. Anderson
14e196ad40 Backed out accidental commit. 1997-09-15 19:27:12 +00:00
Janet B. Anderson
41bcd2cff5 Added capfast changes from Rozelle. 1997-09-15 19:16:46 +00:00
Janet B. Anderson
425aa806bb Gnu changes from Rozelle. 1997-09-15 19:16:44 +00:00
Jeff Hill
f1e6a5e07c dont include stdarg.h in traditional C code 1997-08-05 19:52:57 +00:00
Jeff Hill
d69f6169ae cosmetic changes 1997-08-05 00:53:38 +00:00
Jeff Hill
96d696085a changed some inline func to normal func 1997-08-05 00:53:02 +00:00
Jeff Hill
86305c8680 cleaned up locking 1997-08-05 00:51:40 +00:00
Jeff Hill
8b97305072 fixed problems in aitString and the conversion matrix 1997-08-05 00:51:16 +00:00
Jeff Hill
1e8abfda04 fixed warnings 1997-08-05 00:47:27 +00:00
Jeff Hill
8944d5ac55 dont depend on TMP env var under WIN32 1997-08-05 00:44:01 +00:00
Jeff Hill
0ecc5418bd fixed warning 1997-08-05 00:43:19 +00:00
Jeff Hill
86f23791fe increased min and also max beacon period 1997-08-05 00:40:59 +00:00
Jeff Hill
ecdd53438e installed 1997-08-05 00:37:50 +00:00
Jeff Hill
d024459140 removed warnings 1997-08-05 00:37:12 +00:00
Jeff Hill
42e4a0f668 added aToIPAddr 1997-08-05 00:31:45 +00:00
Jeff Hill
4f77b1966a include shareLib.h 1997-08-05 00:30:42 +00:00
Jeff Hill
49eff8ad41 check both sides of the fd range 1997-08-05 00:29:45 +00:00
Jeff Hill
38e3cd15a3 cosmetic changes 1997-08-05 00:28:42 +00:00
Jeff Hill
4563d3e0a2 win32 keyword change 1997-08-05 00:25:39 +00:00
Jeff Hill
4022ae6480 win32 keyword changed 1997-08-05 00:23:05 +00:00
Jeff Hill
fda59fe268 added beacon anomaly flag init/allow ip 255.255.255.255 1997-08-04 23:37:20 +00:00
Jeff Hill
9c2e2a9d9b use correct data type for port 1997-08-04 23:31:24 +00:00
Jeff Hill
2e9dd7b93b detect IOC reboot faster that EPICS_CA_CONN_TMO 1997-08-04 23:30:53 +00:00
Jeff Hill
b832b8822e fixed warning 1997-08-04 23:01:36 +00:00
Jeff Hill
28f9bcce32 use correct data type for an IP port 1997-08-04 22:55:42 +00:00
Jeff Hill
4d6068e62b mutex clean up 1997-08-04 22:54:28 +00:00
Jeff Hill
24ecb97b5b changed AR args for WIN32 1997-08-04 22:39:28 +00:00
Jeff Hill
a97f9903eb removed := from example 1997-08-04 22:38:53 +00:00
Jeff Hill
2a90bef451 installed 1997-08-04 22:36:39 +00:00
Jeff Hill
628f555a55 include CONFIG.UNIX/allow AR macro on win32 1997-08-04 22:36:02 +00:00
Jeff Hill
29ba0655a9 cleaned up doc 1997-08-04 22:26:50 +00:00
Janet B. Anderson
0ef23d7ff7 Fixed buggy edf rule, added install from epics base comment - lange 1997-07-30 16:51:09 +00:00
Janet B. Anderson
4ffa56b43f Fixed help comments - lange 1997-07-30 16:49:05 +00:00
Janet B. Anderson
972707174a Comments added. 1997-07-30 15:21:53 +00:00
Janet B. Anderson
993c285456 Changed cyclic ftp location. 1997-07-24 20:12:35 +00:00
Janet B. Anderson
f55d861f40 Added aten2 function pre Nick Rees. 1997-07-23 15:06:43 +00:00
Janet B. Anderson
1166ced8dd Modified stt rules per Nick Rees. 1997-07-23 14:58:47 +00:00
Janet B. Anderson
fa08892c57 Added *bat files. 1997-07-23 14:46:55 +00:00
Marty Kraimer
f9f501eaae Add new functionality 1997-07-17 19:28:37 +00:00
Janet B. Anderson
818ca7a335 Changed def for CCC_TEMPL_INST_FLAG per M. Rivers 1997-07-15 15:53:44 +00:00
Janet B. Anderson
ec662b2888 Remove whitespace in ARCH definition. 1997-07-14 20:20:47 +00:00
Janet B. Anderson
18a36406b4 epics_R3_13_0_beta11 1997-07-14 14:04:12 +00:00
Marty Kraimer
a983d85e4d Latest version from Ned Arnold 1997-07-11 12:48:05 +00:00
Marty Kraimer
eea6343b41 Change for fix to postfix and calcPerform 1997-07-11 12:21:28 +00:00
Marty Kraimer
ed3cefacef Change so that 0 is INVALID_ 1997-07-11 12:20:35 +00:00
Marty Kraimer
b9f80350e0 Suppress warning message. Add BT to report 1997-07-11 12:19:40 +00:00
Jeff Hill
8dafadc276 improved CPU consumption by select() under vxWorks 1997-07-10 19:33:20 +00:00
Jeff Hill
9879337178 const=>READONLY 1997-07-10 19:28:36 +00:00
Janet B. Anderson
0e12d558f8 Changed Tar to tar in filename. 1997-07-01 18:32:16 +00:00
Janet B. Anderson
51ea2db4bc Changed Tar to tar in output filename. 1997-07-01 18:29:17 +00:00
Jeff Hill
495a981971 installed 1997-06-30 23:47:02 +00:00
Jeff Hill
f5733cd3af use %p for pointers 1997-06-30 23:40:50 +00:00
Jeff Hill
5101067bcc use %p with pointers 1997-06-30 22:54:34 +00:00
Janet B. Anderson
5e90bc7d9c Added struct ifafilt line which eliminates dozens of warnings. 1997-06-30 18:31:43 +00:00
Janet B. Anderson
773ed271e1 Removed alpha specific lines which are no longer needed. 1997-06-30 18:29:45 +00:00
Jeff Hill
402695bd97 rolled back to ms vis C++ 4.0 1997-06-30 18:17:56 +00:00
Jeff Hill
0e89c83296 guess at DEC C++ compiler bug workaround 1997-06-30 18:16:13 +00:00
Marty Kraimer
10c615951a include intLib.h 1997-06-30 14:49:51 +00:00
Janet B. Anderson
49da0a0217 Fixed permissions problem. 1997-06-30 14:36:09 +00:00
Marty Kraimer
6f4962853b Per Ned's request 1997-06-30 14:26:24 +00:00
Marty Kraimer
00da316456 Allow null init subroutine 1997-06-30 13:54:34 +00:00
Marty Kraimer
cd20d8d662 scanOnce: Protect rngBufPut with intLock 1997-06-30 13:35:21 +00:00
Marty Kraimer
9ae05dc580 dbl: Must not close if stdout 1997-06-30 12:55:36 +00:00
Marty Kraimer
bdc4e828ef GPIBEFASTO: Last fix was TOO strict 1997-06-30 12:53:06 +00:00
Jeff Hill
f95b8bf7d9 fixed gnu compiler incompatibility 1997-06-27 23:50:54 +00:00
Janet B. Anderson
cd6204a63d Added EPICS_* defs. 1997-06-26 13:45:23 +00:00
Marty Kraimer
9135cf7cce leave exactly as reported 1997-06-25 21:55:11 +00:00
Marty Kraimer
cd3e9a7baa fixed bug in ProcessCallback 1997-06-25 21:42:42 +00:00
Janet B. Anderson
32f895bde5 Changed to double colen rules and added comment. 1997-06-25 20:14:07 +00:00
Marty Kraimer
71617fdcf7 Fixed bug of null being passed to printf for %s 1997-06-25 18:34:23 +00:00
Marty Kraimer
f230abdb8e only if precision really bad for FLOAT,DOUBLE change it 1997-06-25 18:33:27 +00:00
Marty Kraimer
b8e27a117f add calcoutRecord 1997-06-25 18:31:15 +00:00
Marty Kraimer
7bcedb00c0 Increase stacj size for seqAux 1997-06-25 18:05:31 +00:00
Marty Kraimer
030ddafd68 It was use address 0 for a DBADDR 1997-06-25 18:04:21 +00:00
Marty Kraimer
e22074d616 Add filename arg to dbl 1997-06-25 18:03:11 +00:00
Marty Kraimer
50f65a1709 New rules file 1997-06-25 18:00:53 +00:00
Janet B. Anderson
7811995c84 Changed INSTALL_BIN to EPICS_BASE_HOST_BIN 1997-06-25 16:40:46 +00:00
Janet B. Anderson
579d974d9e Initial version. 1997-06-25 14:48:49 +00:00
Janet B. Anderson
0679667891 Made some R3.13 changes. 1997-06-25 14:12:06 +00:00
Janet B. Anderson
78e9f3592c Added ADL2DL definition from Nick Rees. 1997-06-25 14:09:40 +00:00
Janet B. Anderson
d840379e05 Added adl2dl rule and simplified mangen rules. 1997-06-25 14:03:57 +00:00
Jeff Hill
52c292f13a fixed warning 1997-06-25 06:47:47 +00:00
Jeff Hill
c8ec70de08 fixed comment 1997-06-25 06:47:15 +00:00
Jeff Hill
d5476089b1 fixed install outside base 1997-06-25 06:42:38 +00:00
Jeff Hill
3d1fdefe34 removed junk 1997-06-25 06:36:42 +00:00
Jeff Hill
43468a04d8 removed merge marks 1997-06-25 06:32:20 +00:00
Jeff Hill
b67fb3c48a fixed template inst problem 1997-06-25 06:29:18 +00:00
Jeff Hill
017ba5731f added missing prototype 1997-06-25 06:20:17 +00:00
Jeff Hill
1f63baf549 fixed warning 1997-06-25 06:19:38 +00:00
Jeff Hill
13a13ed914 fixed warnings 1997-06-25 06:17:38 +00:00
Jeff Hill
8fdfb8738a added scan on int bug fix from mit 1997-06-25 06:13:41 +00:00
Jeff Hill
50a059f6a4 added diagnostic 1997-06-25 06:12:49 +00:00
Jeff Hill
a461022100 removed 1997-06-25 06:11:07 +00:00
Jeff Hill
bab390ddab deleted 1997-06-25 06:10:22 +00:00
Jeff Hill
7a0890fb97 moved perl scripts here 1997-06-25 06:02:42 +00:00
Jeff Hill
e84d7f342f ported log server to win32 1997-06-25 05:59:23 +00:00
Jeff Hill
24e2120e7c fixed warnings 1997-06-25 05:57:07 +00:00
Jeff Hill
c633b4fd70 align with API changes 1997-06-25 05:56:38 +00:00
Jeff Hill
3179fc2211 removed templInst.cc 1997-06-25 05:53:52 +00:00
Jeff Hill
b28a06a474 moved resourceLib.cc into resourceLib.h 1997-06-25 05:48:41 +00:00
Jeff Hill
d5048d7237 cleaned up pc port 1997-06-25 05:45:55 +00:00
Jeff Hill
4b66e7e181 added truncateFile.c 1997-06-25 05:42:54 +00:00
Jeff Hill
d7868a20f1 removed templInst.cc 1997-06-25 05:09:00 +00:00
Jeff Hill
c5fc3bb8de fixwd uninstall target 1997-06-25 00:50:06 +00:00
Jeff Hill
4457eb453f removed out of date comments 1997-06-25 00:49:12 +00:00
Jeff Hill
24b582bf0f moved T_A default up 1997-06-25 00:48:06 +00:00
Jeff Hill
d52b7fadd4 moved to tools dir 1997-06-25 00:47:13 +00:00
Janet B. Anderson
49d2c6e784 New mangen rules from Nick Rees 1997-06-17 18:01:37 +00:00
Janet B. Anderson
ba437ba591 Updated mangen rules from Nick Rees 1997-06-17 14:31:49 +00:00
Janet B. Anderson
0db241b85b Changed E2SR to E2DB. 1997-06-16 16:46:49 +00:00
Janet B. Anderson
e6f97007ad Nicks rule breaks apps and extensions. 1997-06-13 19:37:36 +00:00
Jeff Hill
3fd93fc6f4 allow epicsAssert.h 1997-06-13 18:26:15 +00:00
Jeff Hill
bfa29ec02b fixed tests 1997-06-13 17:42:53 +00:00
Jeff Hill
c1a16243db enable default build of C++ again 1997-06-13 17:06:35 +00:00
Jeff Hill
9bf8c54adf use epics assert 1997-06-13 17:03:54 +00:00
Jeff Hill
ca3f51269d installed 1997-06-13 17:02:58 +00:00
Jeff Hill
510b32ccfc fixed warning 1997-06-13 16:57:38 +00:00
Janet B. Anderson
5c430b24a4 Dont build C++ src codes. 1997-06-13 16:10:52 +00:00
Janet B. Anderson
c8a8f4c0e1 Changes recommended by Nick Rees. 1997-06-13 15:17:51 +00:00
Marty Kraimer
7a809e2e1e Add comment about editing file in iocBoot/ioc* 1997-06-13 14:53:35 +00:00
Jeff Hill
fdbfab2da2 send server port with beacon 1997-06-13 09:44:52 +00:00
Jeff Hill
50e53c3b60 fixed warnings 1997-06-13 09:39:09 +00:00
Jeff Hill
6c974f9cf5 fixed warnings 1997-06-13 09:31:46 +00:00
Jeff Hill
a48efbd861 added dllmain.cc 1997-06-13 09:30:36 +00:00
Jeff Hill
2752749f5e startup up winsock for the fd manager 1997-06-13 09:29:26 +00:00
Jeff Hill
d3bce294c3 fixed generated conversion functions 1997-06-13 09:26:04 +00:00
Jeff Hill
6a51de27e5 spelling 1997-06-13 09:23:38 +00:00
Jeff Hill
779eea486e C++ changes 1997-06-13 09:22:51 +00:00
Jeff Hill
2b67d03514 fixed compiler compatibility problems 1997-06-13 09:21:53 +00:00
Jeff Hill
830d2ff061 installed 1997-06-13 09:20:26 +00:00
Jeff Hill
84b35b89ef updated 1997-06-13 09:20:02 +00:00
Jeff Hill
6d0f7e878a install 1997-06-13 09:16:52 +00:00
Jeff Hill
951d97e7ff connect proto changes 1997-06-13 09:16:17 +00:00
Jeff Hill
ccb8a554ab connect/search proto changes 1997-06-13 09:14:29 +00:00
Jeff Hill
2cc65e1912 fixed yacc/lex rules for pc and no knts 1997-06-13 09:10:14 +00:00
Jeff Hill
84544919cf eliminated knts shell 1997-06-13 09:09:32 +00:00
Jeff Hill
f29a18fb06 added log server param 1997-06-13 08:56:51 +00:00
Jeff Hill
373963601e updated instr 1997-06-13 08:55:06 +00:00
Jeff Hill
03225a337e removed unused unistall target 1997-06-13 08:53:00 +00:00
Janet B. Anderson
009ec62aab Restored old values. I should not have made previous commit. 1997-06-12 21:21:40 +00:00
Janet B. Anderson
5f79145db6 Aps values entered. 1997-06-12 20:52:45 +00:00
Janet B. Anderson
592eb7a0d5 devVxiTDM removed. Used only by linac. 1997-06-12 19:24:54 +00:00
Janet B. Anderson
8d33c7127c devVxiTDM.c removed. Used only by linac. 1997-06-12 19:24:19 +00:00
Janet B. Anderson
19a8c56a69 devVxiTDM removed. Used only by linac. 1997-06-12 19:23:25 +00:00
Marty Kraimer
daeb1247d8 get latest version 1997-06-12 13:48:54 +00:00
Marty Kraimer
fce5bb7398 remove devSysmon 1997-06-11 15:45:42 +00:00
Marty Kraimer
e0122a1f18 renamed devAiStats to devVXStats. removed devSysmon 1997-06-11 15:26:37 +00:00
Marty Kraimer
fe782e3e4e Removed because APS specific 1997-06-11 15:24:36 +00:00
Marty Kraimer
5824a6096c get_enum_str must take address from DBADDR.pfield not from record 1997-06-11 15:19:09 +00:00
Marty Kraimer
4908e28d31 Renamed file 1997-06-11 15:17:54 +00:00
Marty Kraimer
423e24fe8b Include all of $(SHARE)/config/CONFIG_APP if SHARE is defined. 1997-06-05 18:53:56 +00:00
Marty Kraimer
db49a2babb Allow message about referenced but undefined to be suppressed 1997-06-05 18:28:50 +00:00
Marty Kraimer
e11c120f6b suppress warning message for unexpanded macros. 1997-06-05 18:16:54 +00:00
Marty Kraimer
9155de5b30 incremented var_count too quickly 1997-06-04 21:55:57 +00:00
Janet B. Anderson
599b22b70b Modifications for DEC Alpha - Mark Rivers. 1997-06-04 14:17:09 +00:00
Janet B. Anderson
6509cf77bf epics_R3_13_0_beta10 1997-05-30 15:40:56 +00:00
Janet B. Anderson
3c6ac06cff Added comment. 1997-05-30 15:21:07 +00:00
Marty Kraimer
eba09bd6af get rid of warning messages when using TS_1900_TO_* 1997-05-30 13:17:21 +00:00
Marty Kraimer
b95644e9d7 Get rid of warning messages for LONG_MIN 1997-05-30 13:16:18 +00:00
Johnny Tang
6b415ddb49 update 1997-05-29 22:39:18 +00:00
Johnny Tang
88f27261f0 update 1997-05-29 21:56:43 +00:00
Johnny Tang
de29d6868d add ifdef for select call to support HP-UX 1997-05-29 21:37:38 +00:00
Johnny Tang
6e143c1b3c update 1997-05-29 21:32:36 +00:00
Janet B. Anderson
ffe28c21d6 cygwin32 b18 changes. 1997-05-28 16:29:58 +00:00
Marty Kraimer
4abdee5635 Create soft link for share only if SHARE defined. 1997-05-28 13:38:34 +00:00
Janet B. Anderson
ae42cd5dfd installEpics needed by extensions until conversion to Makefile.Host. 1997-05-27 15:48:15 +00:00
Johnny Tang
dbd9309810 fd_set cast in select for both Hp and Sun 1997-05-27 14:53:11 +00:00
Jim Kowalkowski
5d78536ad5 just some notes 1997-05-23 18:18:19 +00:00
Jim Kowalkowski
c41f2e9514 Fixed bug in new/delete operators for gddBounds1D, 2D, and 3D 1997-05-19 19:23:51 +00:00
Jim Kowalkowski
757be61d57 library support for the tick timers on the mvme167 1997-05-13 14:36:57 +00:00
Jim Kowalkowski
df10654f77 New version of ldpp 1997-05-13 14:35:15 +00:00
Jim Kowalkowski
e7773db7a7 special bus error recovery code for recovery from bus error due to bus extenders 1997-05-13 14:34:40 +00:00
Jim Kowalkowski
9f6dc20fd8 added comments at top 1997-05-13 14:23:04 +00:00
Jim Kowalkowski
f654800370 New example server that monitors all the IOC on a network 1997-05-13 14:19:40 +00:00
Marty Kraimer
f810436bb1 Removed inc:: $(INSTALL_INCREC) from Makefile.Vx 1997-05-09 19:23:14 +00:00
Johnny Tang
5593db0caf added int * cast in select for HP port compatibility 1997-05-08 19:49:12 +00:00
Johnny Tang
e9a04e688f added osiSock.h for hp port 1997-05-08 19:44:29 +00:00
Johnny Tang
b8fe2ed007 fix error for LINK.c and LINK.cc 1997-05-08 19:41:04 +00:00
938 changed files with 59212 additions and 40019 deletions

View File

@@ -10,6 +10,12 @@
# [-b] - For fully built release
#
# $Log$
# Revision 1.11 1997/07/01 18:29:17 jba
# Changed Tar to tar in output filename.
#
# Revision 1.10 1997/01/17 19:59:37 jba
# Use config/CONFIG_BASE_VERSION to get version info.
#
# Revision 1.9 1996/09/04 21:41:36 jba
# Top level dir no longer passed to MakeRelease
#
@@ -101,25 +107,26 @@ if [ -z "${EPICS_VERSION}" ];
RELS="R${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}";
echo TOP: Creating ../${RELS}.Tar;
echo TOP: Creating ../${RELS}.tar;
if [ -f ${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.";
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
# Create list of files and dirs to include in tar file
cd ..
ls base/README* | xargs tar cvf ${RELS}.Tar
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 \
@@ -152,7 +159,7 @@ find base/config -name CVS -prune -o -name SCCS -prune -o ! -type d -print \
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
cat /tmp/make_release.out.$$ | xargs tar rvf ${RELS}.tar
rm /tmp/make_release.out.$$

View File

@@ -18,6 +18,16 @@ include $(TOP)/config/CONFIG_BASE
DIRS = src config
INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
#
# 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 uninstall clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
include $(TOP)/config/RULES_TOP
release:
@@ -28,7 +38,6 @@ built_release:
@echo TOP: Creating Fully Built Release...
@./MakeRelease -b $(INSTALL_LOCATION)
uninstall::
@DIR1=`pwd`;cd $(INSTALL_LOCATION);DIR2=`pwd`;cd $$DIR1;\
if [ "$$DIR1" != "$$DIR2" ]; then $(RMDIR) $(INSTALL_LOCATION)/config; fi
$(INSTALL_BIN)/%.pl: $(TOP)/src/tools/%.pl
$(PERL) $(TOP)/src/tools/installEpics.pl -d -m 555 $< $(INSTALL_BIN)

191
README
View File

@@ -7,36 +7,53 @@ $Id$
Notes:
1. Before you can build or really use EPICS, you must properly set the
environemnt variable HOST_ARCH. The epics/startup/HostArch script file
has been provided to set HOST_ARCH.
1. Before you can build or use EPICS, the environemnt variable HOST_ARCH
must be set. The epics/startup/HostArch script file has been provided
to set HOST_ARCH.
2. You must use GNU make (which is now THE supported make utility) for
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 files:
1.1 To configure EPICS, edit the following file:
config/CONFIG_SITE - Build choices/HOST_ARCH/Vx location.
config/CONFIG_SITE.* - Location of X, etc.
config/CONFIG - For overriding specific variables.
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.mv167 CONFIG.YOUR_ARCH
edit CONFIG.YOUR_ARCH - For compiler flags / etc.
cp CONFIG.Vx.mv167 CONFIG.Vx.YOUR_ARCH
edit CONFIG.Vx.YOUR_ARCH - For compiler flags / etc.
cp CONFIG.Vx.68k CONFIG.Vx.YOUR_ARCH_CLASS
cp CONFIG_SITE.Vx.68k CONFIG_SITE.Vx.YOUR_ARCH_CLASS
- ONLY IF you are adding a new architecture class,
see note in Appendix A.
edit CONFIG_BASE - Add architecture to list.
edit CONFIG_SITE - Add architecture to CROSS_COMPILER_TARGET_ARCHS list.
1.3 To build EPICS:
@@ -45,11 +62,11 @@ Notes:
(Same as "gnumake inc install")
gnumake all - Same as "gnumake"
gnumake clean - To clean temporary object files. Top level
clean will remove all the O.ARCH dirs, not
only those specified in BUILD_ARCHS.
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 uninstall all"
gnumake rebuild - Same as "gnumake clean all"
1.4 "Partial" build commands:
@@ -123,26 +140,48 @@ manager. It specifies:
etc.
----------------------------------------------------------------------------
CONFIG.ARCH - This file defines a particular architecture. It
CONFIG.Host.ARCH - This file defines a particular host architecture. It
contains the following variables:
BUILD_TYPE: Unix / Vx
ARCH_CLASS: 68k / sun4 / hp700 / etc.
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_SITE.ARCH - Contains site specific definitions pertaining to a
particular architecture. This file's primary usefulness is to
----------------------------------------------------------------------------
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.
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.
----------------------------------------------------------------------------
RULES.Vx - Rules for building with VxWorks makefiles.
CONFIG_BASE_VERSION - Defines the version of base.
----------------------------------------------------------------------------
RULES.Unix - Rules for building with Unix makefiles.
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.
----------------------------------------------------------------------------
@@ -158,12 +197,16 @@ Filename SYS_MGR ADD_VX_ARCH ADD_UNIX_ARCH DEVELOPER
CONFIG m - - m
CONFIG_SITE m m m -
CONFIG_SITE_ENV m - - -
CONFIG.ARCH - c c -
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.Unix - - - -
RULES.Host - - - -
CONFIG_BASE - - - -
CONFIG_BASE_VERSION - - - -
CONFIG_COMMON - - - -
CONFIG_ENV - - - -
RULES_ARCHS - - - -
@@ -187,59 +230,61 @@ RULES_TOP - - - -
src/db/Makefile.Vx (An example EPICS makefile)
^ ^
| +--- 3. RULES.Vx
| +--- 2. RULES.Vx
| Default rules.
+------- 2. CONFIG
^ ^ ^ ^
| | | |
| | | +- 1. CONFIG_SITE
| | | HOST_ARCH = sun4
| | | BUILD_ARCHS = $(HOST_ARCH) mv167 hkv2f
| | | VX_DIR = /vxworks
| | | More.
| | +--- 2. CONFIG_COMMON
| | General info about base.
| +----- 3. CONFIG.hkv2f
| ^ BUILD_TYPE = Vx
| | ARCH_CLASS = 68k
| | Arch Specific Compiler Flag Setup
| +--- a. CONFIG.Vx.68k
| Compiler/utility setup for ARCH_CLASS
+------- 4. CONFIG_SITE.hkv2f
Site Specific setup
+----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)
^ ^
| +--- 3. RULES.Unix
| +--- 2. RULES.Vx
| Default rules.
+------- 2. CONFIG
^ ^ ^ ^
| | | |
| | | +- 1. CONFIG_SITE
| | | HOST_ARCH = sun4
| | | BUILD_ARCHS = $(HOST_ARCH) mv167 hkv2f
| | | VX_DIR = /vxworks
| | | More.
| | +--- 2. CONFIG_COMMON
| | General info about base.
| +----- 3. CONFIG.sun4
| BUILD_TYPE = Unix
| ARCH_CLASS = sun4
| Arch Specific Compiler Flag Setup
+------- 4. CONFIG_SITE.sun4
Directory locations
+----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
----------------------------------------------------------------------------
Part 4 --- EPICS makefile rules
----------------------------------------------------------------------------
Rules supported by lower level Makefiles:
depends - Generate include dependencies
build - Builds objects, using libraries from "build_libs"
install - Installs executables in bin/ARCH
clean - Cleans objects

View File

@@ -1,103 +1,88 @@
Compiling EPICS on WIN32 (Windows95/NT)
---------------------------------------
-kuk- 11/18/96 questions & comments please
mailto:kasemir@atdiv.lanl.gov
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 EPICS base using Tornado, MS Visual C
and some additional tools: gnumake, a UNIX-like shell, awk, sed, ...
(See below where to get these.)
* load EPICS on a PC IOC (486, pentium),
load simple databases
* 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 as a DLL.
The remaining libraries are statically linked and
therefore only accessible from programming languages like C,
not general WIN32 apps.
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.
* missing: the sequencer, makeExampleApp etc. and long term tests
1) see what you have
--------------------
To compiler EPICS on WIN32, we need
To compile EPICS on WIN32, we need
WindRiver Systems Tornado (used: 1.0)
Microsoft Visual C (used: 4.0)
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:
a Unix-like shell
gnumake
basename
date
mv
touch
sort
gnu make - www.gnu.org (we used 3.76)
perl - www.perl.org (we used 5.003)
All the above except. the shell are available 'on the net'
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!
I could not find a shell that's fully operational.
The best one seems to be the Cygnus bash for WIN32, though it
still has errors and doesn't come with sources that compile
under MS VC++.
I use a small self-written shell called knts,
again: Contact me if you need it.
* The final solution to make the shell, basename, date, ...
* obsolete:
* Use
* 1) no shell scripts
* 2) Perl which is available for Unix and WIN32
In addition we need some binaries that I have no sources
for, yet, but that come with Tornado if and only if you
INSTALL THE FULL PACKAGE (!)
Including the 'WTX Test Suite i386/i486'
(under "Select Sub-components" when installing Tornado)
You should find in your <Tornado>/host/x86-win32/bin dir:
awk, cat, cp, rm, mkdir
(There is also a bash and a GNU-make which are really poor,
and WindRiver told me that they do not consider to support
those in the future, so I no longer use them.)
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 base/bin/WIN32
- The NTtools that you've built in step 1
- 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
- The Tornado binaries
Check with e.g.:
/users/kay/Src/epics/nttools >echo $Path
c:\users\kay\src\epics\base\bin\WIN32;c:\users\kay\src\epics\NTtools\bin;C:\NT40
\system32;C:\NT40;c:\msdev\bin;C:\users\Tornado\host\x86-win32\bin
>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 operatin system, on Win95, it's $PATH instead.
knts tries to use PATH and falls back on Path,
what should wok on both systems.
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:\usersTornado
WIND_HOST_TYPE=x86-win32
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.
@@ -109,29 +94,26 @@ MSDevDir=C:\MSDEV
include=c:\msdev\include;c:\msdev\mfc\include
lib=c:\msdev\lib;c:\msdev\mfc\lib
(Setting env. vars. is different: for NT, use Settings/System,
for Win95 use autoexec.bat)
Select host arch to build:
HOST_ARCH=WIN32 (used by the make system)
For EPICS, set:
Set the "TMP" environment variable if you need to specify where
temporary files are created.
# select host arch to build:
HOST_ARCH=WIN32
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.
EPICS_CA_ADDR_LIST 128.165.32.255 (addr of WIN32 host)
EPICS_CA_AUTO_CA_ADDR_LIST NO
EPICS_CA_CONN_TMO 30.0
EPICS_CA_BEACON_PERIOD 15.0
EPICS_CA_REPEATER_PORT 5065
EPICS_CA_SERVER_PORT 5064
EPICS_TS_MIN_WEST 420 (Germany: -120)
To debug knts, set KNTS to 5:
KNTS=5
export KNTS
You should do this, however, only if you really want the debugging info.
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
-----------------
@@ -139,23 +121,61 @@ You should do this, however, only if you really want the debugging info.
Prepare apx. 2 ltr. Tee and type:
cd <epics>/base
gnumake
make (use gnu make)
Watch for errors and send them to me.
There might be loads of compiler warnings.
Known errors:
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 vreated things.
for newly created things.
Very seldom this is fatal, so you have to
stop gnumake and restart it.
* This is strange because Windows95/NT don't care
* 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

View File

@@ -1,18 +1,22 @@
The templates supplied with EPICS base are in $(EPICS)/base/src/cxxTemplates
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 or smart linker instead). Other compilers
a template database snd/or smart linker instead). Other compilers
(such as g++) provide only limited support for other forms of
instantiation.
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.
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
@@ -20,7 +24,6 @@ program.
#include <classXYZ.h>
#include <templXXX.h>
#include <templXXX.cc>
//
// if the compiler supports explicit instantiation of

87
README.cygwin32 Normal file
View File

@@ -0,0 +1,87 @@
Compiling EPICS on cygwin32 (Windows95/NT)
------------------------------------------
Right now this port of EPICS to cygwin32 it is possible to
compile the EPICS base for the cygwin32 Host using Cygnus' beta19
release of the GNU-win32 tools.
To build EPICS on Win95 or NT using cygwin32, we need
EPICS base distribution, R3.12.0.beta12 or later, available
from http://aps.anl.gov/...
Cygnus's latest gnu-win32 distribution, available from
http://www.cygnus.com/misc/gnu-win32/ (release b19 or later)
Perl,version 5.003 or later, available from
http://www.perl.org/CPAN/ports/win32/
Optional items
CVS, version 1.9 or later, available from
http:/download.cyclic.com
windows-nt - cvs-1.9.10.tar.gz
patch.exe
win32gnu.dll
vim ( Vi IMproved), version 4.5 or later, available from
http://www.cygnus.com/misc/gnu-win32/
BUILD INSTRUCTIONS
------------------
1) Install the gnu-win32 binary release
---------------------------------------
Download the whole release, cdk.exe, to get the developemnt tools
First move out of the way any older versions of gnuwin32
Run cdk.exe and follow the install instructions.
Don't forget to create a \tmp dir and setup the \bin dir.
(Create a \temp dir if you install cvs.)
mkdir \tmp
mkdir \temp
mkdir \bin
cd \bin
copy C:\cygnus\b19\H-i386-cygwin32\bin\sh.exe sh.exe
Install the b19.1 bug fix update to the Cygwin32 library.
(Optional: Install the GNU-WIN32 compiler replacement from
the ECGS project)
2) Install the perl distribution
--------------------------------
pw32i316.exe (Execute and follow instructions)
3) Install the epics base distribution
--------------------------------------
mkdir <epicsBaseReleaseDir>
chdir <epicsBaseReleaseDir>
cp <dirname>\<basereleasename>.gz .
gunzip -d <basereleasename>.gz
chmod +w -R *
4) Set environment variables and path using cygwin32.bat
-------------------------------------------------------------
<edit cygwin32.bat changing paths if necessary>
cd <epicsBaseReleaseDir>\startup
cygwin32.bat
5) Set site specific parms in epics base\config files
-----------------------------------------------------
cd <epicsBaseReleaseDir>\base\config
<edit CONFIG_SITE* files>
6) Build epics base
-------------------
cd <epicsBaseReleaseDir>\base
make
7) Create an EPICS application area (note forward slashes on perl cmd)
---------------------------------------------------------------------
mkdir <epicsappdir>
cd <epicsappdir>
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -l
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -t example example

View File

@@ -1,12 +1,28 @@
#
# supplement README for HP700 and Alpha OSF/1 builds
# supplement README for HP700
#
# Johnny Tang 5-29-97
#
# M. Anderson and J. Tang
1. VxWorks 5.2 for HP-UX
- Directory permissions may not be correct across multiple machines, so a
- Make sure that you have set VX_DIR and VX_GNU to your
VxWorks root directory.
% chmod -R ugo+rw base extensions
- Under $(VX_DIR), create a soft link:
hp700.68k -> hp9700.68k
might be necessary.
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.

1399
RELEASE_NOTES.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,30 +2,60 @@
# $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
# assume T_A is the host arch if not specified
ifndef T_A
T_A = $(HOST_ARCH)
endif
# 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.$(T_A)
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(T_A)
#
-include $(EPICS_BASE)/config/CONFIG_SITE.$(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.
@@ -35,7 +65,7 @@ include $(EPICS_BASE)/config/CONFIG.$(T_A)
# Build client objects statically ? must be either YES or NO
#STATIC_BUILD=NO
# Unix Optimization, must be either YES or NO
#UNIX_OPT=YES
#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
@@ -43,4 +73,10 @@ include $(EPICS_BASE)/config/CONFIG.$(T_A)
# 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

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

@@ -0,0 +1,77 @@
# 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 =
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 = -fPIC
#ACC_SHRLIB_CFLAGS_YES = -fPIC -D_BSD_SOURCE
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 =
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 = -MM
# 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
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

58
config/CONFIG.Host.LynxOS Normal file
View File

@@ -0,0 +1,58 @@
# CONFIG.Host.LynxOS
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.Host.LynxOS
ARCH_CLASS = LynxOS
# Include definitions common to all Unix archs
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
AR = ar -rc
ARCMD = $(AR) $@
RANLIB = ranlib -t
# Configure OS vendor C compiler
ACC_ANSI = $(ACC) -ansi -mposix -D_X86_
ACC_STRICT = $(ACC) -ansi -mposix -D_X86_ -pedantic
ACC_TRAD = $(ACC)
ACC_WARN_YES = -Wall
ACC_WARN_NO = -w
ACC_OPT_YES = -O
ACC_OPT_NO = -g
ACC_SFLAGS_YES = -Bstatic
ACC_SFLAGS_NO=
ACC_SLIBS_YES =
ACC_SLIBS_NO=
ACC_SHRLIB_CFLAGS_YES =
ACC_SHRLIB_LDFLAGS_YES =
# Configure OS vendor C++ compiler
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC)
CCC_TEMPL_INST_FLAG = -pedantic -mposix -D_X86_ -DEXPL_TEMP
CCC_WARN_YES = -Wall
CCC_WARN_NO = -w
CCC_OPT_YES = -O
CCC_OPT_NO = -g
CCC_SFLAGS_YES = -Bstatic
CCC_SFLAGS_NO=
CCC_SLIBS_YES =
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG = -pedantic -mposix -D_X86_
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
# in effect this overides orig def in CONFIG_COMMON :
# which is GCC_STRICT = $(GCC) -ansi -pedantic
GCC_STRICT = $(GCC)
G++_STRICT = $(G++) -Wtraditional -mposix -D_X86_ -DEXPL_TEMP
ARCH_DEP_CFLAGS = -DLynxOS -mposix -D_X86_
ARCH_DEP_LDFLAGS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx

View File

@@ -0,0 +1,80 @@
# CONFIG.Host.UnixCommon
#
# 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:%=.%)
SHRLIB_LDFLAGS = $($(ANSI)_SHRLIB_LDFLAGS_$(strip $(SHARED_LIBRARIES)))
DLL_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_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 $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a))
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
#--------------------------------------------------
# Determine ld flags
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%)
#USR_LDLIBS = $(PRODNAME_DEPLIBS:%=-L%) $(PROD_DEPLIBS:%=-L%) $(USR_DEPLIBS)\
# $(USR_XLDLIBS)
#--------------------------------------------------
# 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

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

@@ -0,0 +1,258 @@
# CONFIG.Host.WIN32
#
# This file is maintained by the EPICS community.
# Sites may override these definitions in CONFIG_SITE.WIN32
# Use std path variables from ms
HOME = $(HOMEDRIVE)$(HOMEPATH)
#
# You currently get Visual C++ even if you ask for GNU.
#
# !! 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 -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 = $(subst $(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%))

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

@@ -0,0 +1,46 @@
# 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_DEPENDS_FLAG =
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
ARCH_DEP_LDLIBS =

View File

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

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

@@ -0,0 +1,63 @@
# 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
# 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
CCC = CC
CCC_NORMAL = $(CCC) +p
CCC_STRICT = $(CCC) +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_DEPENDS_FLAG =
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
ARCH_DEP_LDLIBS =

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

@@ -0,0 +1,48 @@
# 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 =
####KRCC = ??
ARCH_DEP_CFLAGS = -DSGI
ARCH_DEP_LDFLAGS =

View File

@@ -0,0 +1,61 @@
# 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 -lXext -lX
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 -lXext -lX
CCC_SLIBS_NO=
CCC_DEPENDS_FLAG = -xM1
ARCH_DEP_CFLAGS = -DSOLARIS
# socket and nsl needed by libca.a
ARCH_DEP_LDLIBS = -lsocket -lnsl

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

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

View File

@@ -1,131 +0,0 @@
#
# $Id$
#
# This file is maintained by the EPICS community.
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
# BUILD_TYPE
# Currently either Vx or Unix
BUILD_TYPE = Unix
GCC = gcc
ACC = acc
SUNCC = cc
AR = ar
ARFLAGS = r
ARCMD = $(AR) $(ARFLAGS)
RANLIB = ranlib
RANLIBFLAGS = -t
YACC = $(EYACC)
LEX = $(ELEX)
G++ = g++
CCC = CC
MV = mv
RMDIR = rm -rf
MKDIR = mkdir
CHMOD = "/bin/chmod"
WHAT = what
ACC_ANSI_INVOKE_W_NO = $(ACC) -Xa -w
ACC_ANSI_INVOKE_W_YES = $(ACC) -Xa
ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -w
ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs
ACC_STRICT_INVOKE_W_NO = $(ACC) -Xc -w
ACC_STRICT_INVOKE_W_YES = $(ACC) -Xc
SUNCC_TRAD_INVOKE_W_NO = $(SUNCC) -w
SUNCC_TRAD_INVOKE_W_YES = $(SUNCC)
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_NO = $(GCC) -ansi -pedantic
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS =
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
ACC_SFLAGS_YES= -Bstatic
ACC_SFLAGS_NO=
CC_SFLAGS_YES= -Bstatic
CC_SFLAGS_NO=
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB)
UNIX_LDLIBS = -lm
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \
$(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override SUN defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) > .DEPENDS
DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Linux

136
config/CONFIG.LynxOS Normal file
View File

@@ -0,0 +1,136 @@
# $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_CONFIG_DIR_YES =
VX_INCLUDE_YES =
VX_GNU_YES =
VX_GNU_BIN_YES =
VX_GNU_LIB_YES =
# pre Torando directory definitions
VX_CONFIG_DIR_NO =
VX_INCLUDE_NO =
VX_GNU_NO =
VX_GNU_BIN_NO =
# directory definitions
VX_DIR =
VX_CONFIG_DIR =
VX_INCLUDE =
VX_GNU =
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

119
config/CONFIG.Vx Normal file
View File

@@ -0,0 +1,119 @@
# $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_CONFIG_DIR_YES = $(VX_DIR)/target/config
VX_INCLUDE_YES = $(VX_DIR)/target/h
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
VX_GNU_BIN_YES = $(VX_GNU)/bin
VX_GNU_LIB_YES = $(VX_GNU)/lib
# pre Torando directory definitions
VX_CONFIG_DIR_NO = $(VX_DIR)/config
VX_INCLUDE_NO = $(VX_DIR)/h
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
# directory definitions
VX_DIR = $(VX_DIR_$(TORNADO))
VX_CONFIG_DIR = $(VX_CONFIG_DIR_$(TORNADO))
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
VX_GNU = $(VX_GNU_$(TORNADO))
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
#--------------------------------------------------
# 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
#--------------------------------------------------
# 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))
#--------------------------------------------------
# Operating system flags
OP_SYS_INCLUDES = -I$(VX_INCLUDE)
OP_SYS_CFLAGS = -DvxWorks -DV5_vxWorks -fno-builtin
OP_SYS_LDFLAGS =
OP_SYS_LDLIBS =
#--------------------------------------------------
# Optimization flag overrides
GCC_OPT_YES = -O2 -fstrength-reduce
GCC_OPT_NO =
G++_OPT_YES = -O2 -fstrength-reduce
G++_OPT_NO =
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

@@ -1,121 +0,0 @@
# $Id$
#
# This file is maintained by the EPICS community.
AR = $(VX_GNU_BIN)/ar68k
RANLIB = $(VX_GNU_BIN)/ranlib68k
YACC = $(EYACC)
LEX = $(ELEX)
CC = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc
CPP = $(VX_GNU_BIN)/cpp68k -nostdinc
#CPP = $(CC) -E
GCC = $(CC)
LD = $(VX_GNU_BIN)/ld68k -r
EPICS_LDLIBS =
MV=mv
RM=rm -f
MKDIR = mkdir
RMDIR=rm -rf
WHAT = what
#----------------------------
# Only G++ currently supported
CPLUSPLUS = G++
CXXCMPLR = NORMAL
VX_OPT = YES
BOARD = $(subst mv,MV,$(T_A))
CPU = 68000
OS = VXWORKS
#----------------------------
CCC = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc
AR_CCC = $(VX_GNU_BIN)/ar68k
CPP_CCC = $(VX_GNU_BIN)/cpp68k -nostdinc
RANLIB_CCC = $(VX_GNU_BIN)/ranlib68k
LD_CCC = $(VX_GNU_BIN)/ld68k
CCC_CCFLAGS =
CCC_ARCH_DEP_CCFLAGS =
CCC_ARCH_DEP_LDFLAGS =
G++ = $(GNU_BIN)/sun3-g++ -B$(GNU_LIB)/gcc-lib/ -nostdinc -DEXPL_TEMPL
AR_G++ = $(GNU_BIN)/sun3-ar
CPP_G++ = $(GNU_BIN)/sun3-cpp
RANLIB_G++ = $(GNU_BIN)/sun3-ranlib
LD_G++ = $(GNU_BIN)/sun3-ld
G++_ARCH_DEP_CCFLAGS = --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
-DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
G++_ARCH_DEP_LDFLAGS = -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
CCC_NORMAL = $(CCC)
CCC_STRICT = $(CCC) -ansi -pedantic -Wtraditional \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_NORMAL = $(G++)
G++_STRICT = $(G++) -ansi -pedantic -Wtraditional
CXX = $($(CPLUSPLUS)_$(CXXCMPLR))
AR_CXX = $(AR_$(CPLUSPLUS))
CPP_CXX = $(CPP_$(CPLUSPLUS))
RANLIB_CXX = $(RANLIB_$(CPLUSPLUS))
LD_CXX = $(LD_$(CPLUSPLUS))
ARCH_DEP_CXXFLAGS += $($(CPLUSPLUS)_ARCH_DEP_CCFLAGS) $(ARCH_DEP_CFLAGS)
ARCH_DEP_CXXLDFLAGS = $($(CPLUSPLUS)_ARCH_DEP_LDFLAGS) $(ARCH_DEP_LDFLAGS)
# special c library requirements
SPECIAL_LANG =
# Compiler flags, don't mess with this
# Optimization flags
VX_OPT_YES = -O
VX_OPT_NO =
VX_OPT_FLAGS = $(VX_OPT_$(VX_OPT))
# Include files
VX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/vxWorks -I$(VX_INCLUDE)
# Warnings
#At some time we should turn on pedantic
VX_WARN_YES = -Wall -pedantic -ansi
#VX_WARN_YES = -Wall
VX_WARN_NO =
VX_WARN_FLAGS = $(VX_WARN_$(VX_WARN))
# Operating system flags
VX_OP_SYS_FLAGS = -DvxWorks -DV5_vxWorks
# Arch dependent flags are set in CONFIG_ARCH.*
VX_CFLAGS = $(VX_OPT_FLAGS) $(VX_WARN_FLAGS) \
$(VX_INCLUDES) $(VX_OP_SYS_FLAGS)
VX_CXXFLAGS += $(VX_CFLAGS)
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VX_CFLAGS)
CXXFLAGS = $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(VX_CXXFLAGS)
LDFLAGS = $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(VX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(VX_LDLIBS)
CXXLDLIBS = $(TARGET_LDLIBS) $(USR_CXXLDLIBS) $(ARCH_DEP_LDLIBS) $(VX_LDLIBS)
CXXLDFLAGS = $(TARGET_LDFLAGS) $(USR_CXXLDFLAGS) $(ARCH_DEP_CXXLDFLAGS) $(VX_LDFLAGS)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
# Build compile line here
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(LD) $(LDFLAGS) -o
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
LINK.cc = $(LD_CXX) $(CXXLDFLAGS) -o
CPPSNCFLAGS = $(VX_INCLUDES)
DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS
DEPENDS_RULE.cc = -$(COMPILE.cc) -M $(SRCS.cc) >> .DEPENDS
# Allow site host architecture specific overrides
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(ARCH_CLASS).$(HOST_ARCH)

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

View File

@@ -3,14 +3,14 @@
#
# This file is maintained by the EPICS community.
BUILD_TYPE = Vx
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCPU=MC68060 -m68040 -DCPU_FAMILY=MC680X0
ARCH_DEP_CPPFLAGS = -DCPU=MC68020 -DCPU_FAMILY=MC680X0
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 -DCPU_FAMILY=MC680X0
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

View File

@@ -3,14 +3,14 @@
#
# This file is maintained by the EPICS community.
BUILD_TYPE = Vx
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 68k
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0
ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0
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=MC68040 -DCPU_FAMILY=MC680X0
ARCH_DEP_CFLAGS = -msoft-float

View File

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

View File

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

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 -DCPU_FAMILY=MC680X0
ARCH_DEP_CFLAGS = -m68030

View File

@@ -1,92 +1,17 @@
# $Id$
# CONFIG.Vx.pc486
#
# This file is maintained by the EPICS community.
# OLDINSTALL def used only for releases prior to R3.12.2.2
# Unix Compiler and other Utilities
OLDINSTALL = echo CONFIG.Vx.486 OLDINSTALL
CP =$(PERL) $(EPICS_BASE)/src/tools/cp.pl
MV =$(PERL) $(EPICS_BASE)/src/tools/mv.pl
RM =$(PERL) $(EPICS_BASE)/src/tools/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE)/src/tools/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE)/src/tools/rm.pl -rf
CHMOD=echo
# overrides defines in CONFIG_SITE that don't fit Tornado
#
# We are lucky because
# this should not really be site specific
#
# (if Tornado is installed correctly
# -> WIND_BASE, WIND_HOST_TYPE set )
#
# At first we hack a little bit on WIND_BASE
# to convert the DOS style into a Unix style path:
#
# If C: was in WIND_BASE, it's converted into c: (lowercase),
# then c: is removed and all '\' are converted into '/'.
SANE_WIND_BASE := $(subst \,/,$(subst c:,,$(subst C:,c:,$(WIND_BASE))))
VX_DIR := $(SANE_WIND_BASE)/target
VX_GNU := $(SANE_WIND_BASE)/host/$(WIND_HOST_TYPE)
VX_GNU_BIN := $(VX_GNU)/bin
VX_GNU_LIB := $(VX_GNU)/lib
VX_IMAGE = $(VX_CONFIG_DIR)/$(T_A)/vxWorks
VX_IMAGE_SYM = $(VX_CONFIG_DIR)/$(T_A)/vxWorks.sym
AR = $(VX_GNU_BIN)/ar386
RANLIB = $(VX_GNU_BIN)/ranlib386
YACC = $(EYACC)
LEX = $(ELEX)
CC = $(VX_GNU_BIN)/cc386 -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc -fno-builtin -fno-defer-pop
CPP = $(VX_GNU_BIN)/cpp386 -nostdinc
#CPP = $(CC) -E
GCC = $(CC)
LD = $(VX_GNU_BIN)/ld386 -r
EPICS_LDLIBS =
# special c library requirements
SPECIAL_LANG =
# Compiler flags, don't mess with this
# Optimization flags
VX_OPT_YES = -O
VX_OPT_NO = -O0
VX_OPT_FLAGS = $(VX_OPT_$(VX_OPT))
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = 386
# Include files
VX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/vxWorks -I$(VX_INCLUDE)
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = pc486
# Warnings
#At some time we should turn on pedantic
#VX_WARN_YES = -Wall -pedantic
VX_WARN_YES = -W
VX_WARN_NO =
VX_WARN_FLAGS = $(VX_WARN_$(VX_WARN))
# Operating system flags
VX_OP_SYS_FLAGS = -DvxWorks -DV5_vxWorks
# Arch dependent flags are set in CONFIG_ARCH.*
VX_CFLAGS = $(VX_OPT_FLAGS) $(VX_WARN_FLAGS) \
$(VX_INCLUDES) $(VX_OP_SYS_FLAGS)
VX_LDFLAGS = -o
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
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
CFLAGS = $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VX_CFLAGS)
LDFLAGS = $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(VX_LDFLAGS)
# Build compile line here
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CC) -x 'c++' -DEXPL_TEMPL $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(LD) $(LDFLAGS)
CPPSNCFLAGS = $(USR_INCLUDES) $(VX_INCLUDES)
DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS
DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.68k

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

View File

@@ -1,131 +0,0 @@
# CONFIG.WIN32 -kuk-
#
# The current make-system for WIN32
# needs
# * gnumake (OK, sources for WIN32 are available)
# * Perl (e.g. from www.perl.com )
# * a UNIX-like shell (ouch!)
#
# I found no fully operational shell and no sources for WIN32 so far,
# Cygnus' bash e.g. cannot handle this:
# (echo a>a; echo b>>a)
# Right now I use the knts that I wrote and simplified scripts.
# Jeff eliminated many shell-lines in Makefile.*.
#
# Use std path variables from ms
HOME = $(HOMEDRIVE)$(HOMEPATH)
# BUILD_TYPE
# Currently either Vx or Host (latter used to be Unix
BUILD_TYPE=Host
#
# optimize/debug flags
#
HOST_OPT = YES
CXX_OPT_FLAGS_YES = -Ox
# -Zi : included debugging info
CXX_OPT_FLAGS_NO = -Zi
CXX_OPT_FLAGS = $(CXX_OPT_FLAGS_$(HOST_OPT))
LINK_OPT_FLAGS_YES =
LINK_OPT_FLAGS_NO = -debug
LINK_OPT_FLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
# 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
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
YACC = $(EYACC)
LEX = $(ELEX)
CC = cl -nologo
CP = $(PERL) $(EPICS_BASE)/src/tools/cp.pl
MV = $(PERL) $(EPICS_BASE)/src/tools/mv.pl
RM = $(PERL) $(EPICS_BASE)/src/tools/rm.pl -f
MKDIR = $(PERL) $(EPICS_BASE)/src/tools/mkdir.pl
RMDIR = $(PERL) $(EPICS_BASE)/src/tools/rm.pl -rf
EXE=.exe
OBJ=.obj
# Include files
HOST_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) \
-I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(ARCH_CLASS)
# Operating system flags (from win32.mak)
#
# __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
#
# -MDd : use MSVCRTD (run-time as DLL, multi-thread support)
# this also calls for _DLL
#
OP_SYS_FLAGS:=-MDd $(CXX_OPT_FLAGS) -VMG -VMV -DWIN32 -D_WIN32 -D_DEBUG -D_WINDOWS \
-D_X86_ -D_NTSDK -D_DLL -D__STDC__=0
HOST_LDLIBS:=user32.lib kernel32.lib wsock32.lib advapi32.lib winmm.lib
HOST_LDFLAGS:=-nologo -libpath:$(EPICS_BASE_LIB)
# 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
# yes, for MS it's I386 for 386, 486, Pentium!
# don't mix this with VxWorks which has different BSPs for [34]86 !
WIN32_DLLFLAGS:=$(HOST_LDFLAGS) $(HOST_LDLIBS)\
-subsystem:windows -dll -incremental:no $(LINK_OPT_FLAGS) -machine:I386
ARCH_DEP_CFLAGS =
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
HOST_CFLAGS = $(HOST_SFLAGS) $(HOST_INCLUDES) $(OP_SYS_FLAGS)
HOST_CXXFLAGS = $(HOST_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(HOST_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(HOST_CFLAGS)
CXXFLAGS = $(HOST_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(HOST_CXXFLAGS)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
CXX=cl -nologo
LDFLAGS=$(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(HOST_LDFLAGS)
LDLIBS=$(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(HOST_LDLIBS)
# Override SUN defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
# 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
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -DEXPL_TEMPL -c -Tp
LINK.c=link $(LINK_OPT_FLAGS) $(LDFLAGS) -out:$@
LINK.cc=$(LINK.c)
# The DEPENDS_RULE may be a script on other systems,
# if you need different rules for .c and .cc,
# that script has to figure out what to call.
#
DEPENDS_RULE = @echo no DEPENDS_RULE defined in CONFIG.WIN32

View File

@@ -1,143 +0,0 @@
# CONFIG.Unix.alpha
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
# Currently either Vx or Host
BUILD_TYPE = Host
ARCH_CLASS = alpha
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
GCC = gcc
ACC = cc
AR = ar -rc
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(AR)
ARCMD = $($(CPLUSPLUS)_AR)
RANLIB = ranlib
YACC = $(EYACC)
LEX = $(ELEX)
G++ = g++
CCC = cc
CP=cp
MV = mv
RM=rm -f
RMDIR = rm -rf
MKDIR = mkdir
CHMOD = "/bin/chmod"
WHAT = what
EXE=
OBJ=.o
ACC_ANSI_INVOKE_W_NO = $(ACC) -std -w
ACC_ANSI_INVOKE_W_YES = $(ACC) -std
ACC_STRICT_INVOKE_W_YES = $(ACC) -std1 -w
ACC_STRICT_INVOKE_W_NO = $(ACC) -std1
ACC_TRAD_INVOKE_W_NO = $(ACC) -std0 -w
ACC_TRAD_INVOKE_W_YES = $(ACC) -std0
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_NO = $(GCC) -ansi -pedantic
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS =
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
ACC_SFLAGS_YES= -non_shared
ACC_SFLAGS_NO= -call_shared
CC_SFLAGS_YES= -non_shared
CC_SFLAGS_NO= -call_shared
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
SPECIAL_LDFLAGS =
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB)
UNIX_LDLIBS = -lm
# Architecture specific build flags
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
ARCH_DEP_LDLIBS = -lnsl
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \
$(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
# Unlike the 'Unix' makesystem, output flags -o .. are now part of LINK.c[c]
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPEND_RULE.c = @echo no DEPENDS_RULE.c defined in CONFIG.alpha
DEPEND_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.alpha

View File

@@ -1,138 +0,0 @@
#
# $Id$
#
# This file is maintained by the EPICS community.
BUILD_TYPE = Host
ARCH_CLASS = cygwin32
GCC = gcc
G++ = g++
#==========================
# Fix for cygwin32 beta17.1 includes
CXX_INCLUDES = /usr/local/include/g++
#==========================
# Override values in CONFIG_SITE
ANSI=GCC
STANDARD=GCC
CPLUSPLUS=G++
EXE=.exe
OBJ=.o
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
ARCMD = $($(CPLUSPLUS)_AR)
RANLIB = ranlib
YACC = $(EYACC)
LEX = $(ELEX)
RMDIR = rm -rf
MKDIR = mkdir
CP=cp
MV=mv
RM=rm -f
CHMOD = xxxx
WHAT = echo
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
GCC_LD_LIBS =
GCC_LD_FLAGS =
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
LD_LIBS_OLD = $($(STANDARD)_LD_LIBS)
LD_LIBS_ANSI = $($(ANSI)_LD_LIBS)
LD_LIBS_STRICT = $($(ANSI)_LD_LIBS)
CCOMPILER_LDLIBS = $(LD_LIBS_$(CMPLR))
LD_FLAGS_OLD = $($(STANDARD)_LD_FLAGS)
LD_FLAGS_ANSI = $($(ANSI)_LD_FLAGS)
LD_FLAGS_STRICT = $($(ANSI)_LD_FLAGS)
CCOMPILER_LDFLAGS = $(LD_FLAGS_$(CMPLR))
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
# GNU make likes CXX
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
SL_OLD = $($(STANDARD)_SLIBS_$(STATIC_BUILD))
SL_ANSI = $($(ANSI)_SLIBS_$(STATIC_BUILD))
SL_STRICT = $(SL_ANSI)
UNIX_SLIBS = $(SL_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) $(CCOMPILER_LDFLAGS)
UNIX_LDLIBS = $(UNIX_SLIBS) -lm $(CCOMPILER_LDLIBS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCYGWIN32
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS) -I$(CXX_INCLUDES)
#ARCH_DEP_LDLIBS = -lsocket -lnsl
# -lsocket needed by libca.a
# -lnsl needed by libca.a
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
#DEPENDS_RULE.c = -$(COMPILE.c) -xM $(SRCS.c) > .DEPENDS
#DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.cygwin32
DEPENDS_RULE = -$(COMPILE.c) -MM $(SRCS.c) $(SRCS.cc) > .DEPENDS

View File

@@ -1,17 +0,0 @@
# $Id$
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
BUILD_TYPE = Vx
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCPU=MC68020 -m68020 -DCPU_FAMILY=MC680X0

View File

@@ -1,144 +0,0 @@
# CONFIG.Unix.hp700
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
# Currently either Vx or Unix
BUILD_TYPE = Unix
ARCH_CLASS = hp700
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
GCC = gcc
ACC = cc -Aa
HPACC = cc -Aa
HPCC = cc -Ac
TRADCC = cc
AR = ar
ARCMD = $(AR) $(ARFLAGS)
RANLIB = ranlib
YACC = $(EYACC)
LEX = $(ELEX)
G++ = g++
CCC = CC
CP=cp
MV = mv
RM=rm -f
RMDIR = rm -rf
MKDIR = mkdir
CHMOD = "/bin/chmod"
WHAT = what
EXE=
OBJ=.o
ACC_ANSI_INVOKE_W_NO = $(ACC) -w
ACC_ANSI_INVOKE_W_YES = $(ACC)
ACC_TRAD_INVOKE_W_NO = $(TRADCC) -w
ACC_TRAD_INVOKE_W_YES = $(TRADCC)
ACC_STRICT_INVOKE_W_NO = $(ACC) -w
ACC_STRICT_INVOKE_W_YES = $(ACC)
HPACC_ANSI_INVOKE_W_NO = $(HPACC) -w
HPACC_ANSI_INVOKE_W_YES = $(HPACC)
HPCC_TRAD_INVOKE_W_NO = $(HPCC) -w
HPCC_TRAD_INVOKE_W_YES = $(HPCC)
HPACC_STRICT_INVOKE_W_NO = $(HPACC) -w
HPACC_STRICT_INVOKE_W_YES = $(HPACC)
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS =
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
# Static Build options
ACC_SFLAGS_YES= -Wl,-a,archive
ACC_SFLAGS_NO=
CC_SFLAGS_YES= -Wl,-a,archive
CC_SFLAGS_NO=
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
SPECIAL_LDFLAGS =
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB)
UNIX_LDLIBS = -lm
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \
$(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
ARFLAGS = rv
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPENDS_RULE.c = @echo no DEPENDS_RULE.c defined in CONFIG.hp700
DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.hp700

View File

@@ -1,16 +0,0 @@
# $Id$
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
BUILD_TYPE = Vx
# For Vx directories of form:
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
ARCH_CLASS = 68k
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCPU=MC68040 -msoft-float -DCPU_FAMILY=MC680X0

View File

@@ -1,16 +0,0 @@
# BUILD_TYPE
# Currently either Vx or Unix
BUILD_TYPE = Vx
# For Vx directories of form:
#
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
#
ARCH_CLASS = 68k
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0

View File

@@ -1,26 +0,0 @@
# BUILD_TYPE
# Currently either Vx or Unix
BUILD_TYPE = Vx
# For Vx directories of form:
#
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
#
# And configuration files:
#
# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4
#
ARCH_CLASS = pc486
include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS)
# Architecture specific build flags
# Defines:
# CPU, CPU_FAMILY is used by VxWorks header files,
# _X86_ is used in base/src/ca
#
# -g is for debugging information, I didn't know where elso to put it
#
ARCH_DEP_CFLAGS = -DCPU=I80486 -m486 -DCPU_FAMILY=I80x86 -D_X86_ -g

View File

@@ -1,138 +0,0 @@
#
# $Id$
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
# Currently either Vx or Host
BUILD_TYPE = Host
ARCH_CLASS = sgi
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
GCC = cc
ACC = cc
AR = ar
ARCMD = $(AR) $(ARFLAGS)
ARFLAGS = r
RANLIB =
YACC = $(EYACC)
LEX = $(ELEX)
G++ = g++
CCC = CC
CP=cp
MV = mv
RM=rm -f
RMDIR = rm -rf
MKDIR = mkdir
CHMOD = "/bin/chmod"
WHAT = what
EXE=
OBJ=.o
ACC_ANSI_INVOKE_W_NO = $(ACC) -xansi -w
ACC_ANSI_INVOKE_W_YES = $(ACC) -xansi
ACC_STRICT_INVOKE_W_NO = $(ACC) -xansi -w
ACC_STRICT_INVOKE_W_YES = $(ACC) -xansi
ACC_TRAD_INVOKE_W_NO = $(ACC) -cckr -Xs -w
ACC_TRAD_INVOKE_W_YES = $(ACC) -cckr -Xs
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_NO = $(GCC) -ansi -pedantic
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
C_OLD = $(KRCC_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS =
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
ACC_SFLAGS_YES= -Bstatic
ACC_SFLAGS_NO=
CC_SFLAGS_YES= -Bstatic
CC_SFLAGS_NO=
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB)
UNIX_LDLIBS = -lm
ARCH_DEP_CFLAGS = -DSGI
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \
$(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
# Unlike the 'Unix' makesystem, output flags -o .. are now part of LINK.c[c]
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) > .DEPENDS
DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.sgi

View File

@@ -1,168 +0,0 @@
#
# $Id$
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
# Currently either Vx or Host
BUILD_TYPE = Host
ARCH_CLASS = solaris
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
GCC = /opt/gnu/bin/gcc
ACC = $(SPARCWORKS)/bin/cc
# SUNCC doesn't exist under Solaris
#
# required by sun's C++ compiler
#
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR)
RANLIB =
YACC = $(EYACC)
LEX = $(ELEX)
G++ = /opt/gnu/bin/g++
CCC = /opt/SUNWspro/bin/CC
CP=cp
MV=mv
RM=rm -f
MKDIR=mkdir
RMDIR=rm -rf
CHMOD = "/bin/chmod"
WHAT = what
EXE=
OBJ=.o
ACC_ANSI_INVOKE_W_NO = $(ACC) -Xa -w
ACC_ANSI_INVOKE_W_YES = $(ACC) -Xa
ACC_STRICT_INVOKE_W_YES = $(ACC) -Xc -v
ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -w
ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs
ACC_LD_FLAGS =
ACC_LD_LIBS =
SUNCC_TRAD_INVOKE_W_NO = $(ACC_TRAD_INVOKE_W_NO)
SUNCC_TRAD_INVOKE_W_YES = $(ACC_TRAD_INVOKE_W_YES)
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
GCC_LD_LIBS =
GCC_LD_FLAGS =
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
LD_LIBS_OLD = $($(STANDARD)_LD_LIBS)
LD_LIBS_ANSI = $($(ANSI)_LD_LIBS)
LD_LIBS_STRICT = $($(ANSI)_LD_LIBS)
CCOMPILER_LDLIBS = $(LD_LIBS_$(CMPLR))
LD_FLAGS_OLD = $($(STANDARD)_LD_FLAGS)
LD_FLAGS_ANSI = $($(ANSI)_LD_FLAGS)
LD_FLAGS_STRICT = $($(ANSI)_LD_FLAGS)
CCOMPILER_LDFLAGS = $(LD_FLAGS_$(CMPLR))
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS = -L$(SPECIAL_LANG)
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
#ACC_SFLAGS_YES= -dn
ACC_SFLAGS_YES= -Bstatic
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
ACC_SLIBS_NO=
ACC_SFLAGS_NO=
CC_SFLAGS_YES= -dn
CC_SFLAGS_NO=
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
SL_OLD = $($(STANDARD)_SLIBS_$(STATIC_BUILD))
SL_ANSI = $($(ANSI)_SLIBS_$(STATIC_BUILD))
SL_STRICT = $(SL_ANSI)
UNIX_SLIBS = $(SL_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) $(CCOMPILER_LDFLAGS)
UNIX_LDLIBS = $(UNIX_SLIBS) -lm $(CCOMPILER_LDLIBS)
# Architecture specific build flags
ARCH_DEP_CFLAGS = -DSOLARIS
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
ARCH_DEP_LDLIBS = -lsocket -lnsl
# -lsocket needed by libca.a
# -lnsl needed by libca.a
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \
$(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override SUN defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
# Unlike the 'Unix' makesystem, output flags -o .. are now part of LINK.c[c]
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPENDS_RULE.c = -$(COMPILE.c) -xM $(SRCS.c) > .DEPENDS
DEPENDS_RULE.cc = -$(COMPILE.cc) -xM $(SRCS.cc) >> .DEPENDS

View File

@@ -1,167 +0,0 @@
#
# $Id$
#
# This file is maintained by the EPICS community.
# BUILD_TYPE
# Currently either Vx or Host
BUILD_TYPE = Host
ARCH_CLASS=sun4
# Compiler and utility invocation (supply path to compiler here)
# (with warning flags built in)
# Paths to compilers
GCC = gcc
ACC = /usr/lang/acc
SUNCC = cc
RANLIB = ranlib
RANLIBFLAGS = -t
YACC = $(EYACC)
LEX = $(ELEX)
G++ = g++
CCC = /usr/lang/CC
RMDIR = rm -rf
MKDIR = mkdir
CHMOD = "/bin/chmod"
CP=cp
MV=mv
RM=rm -f
WHAT = what
EXE=
OBJ=.o
#
# original before use of sun C++
#
#
# required by sun's C++ compiler
#
ARFLAGS = r
AR = ar
_AR = $(AR) $(ARFLAGS)
G++_AR = $(_AR)
CCC_AR = $(CCC) -xar -o
ARCMD = $($(CPLUSPLUS)_AR)
ACC_ANSI_INVOKE_W_NO = $(ACC) -Xa -w
ACC_ANSI_INVOKE_W_YES = $(ACC) -Xa
ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -w
ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs
ACC_STRICT_INVOKE_W_NO = $(ACC) -Xc -w
ACC_STRICT_INVOKE_W_YES = $(ACC) -Xc -vc
ACC_LD_FLAGS = -L$(SPECIAL_LANG)
ACC_LD_LIBS =
SUNCC_TRAD_INVOKE_W_NO = $(SUNCC) -w
SUNCC_TRAD_INVOKE_W_YES = $(SUNCC)
GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w -D__USE_FIXED_PROTOTYPES__
GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi -D__USE_FIXED_PROTOTYPES__
GCC_STRICT_INVOKE_W_NO = $(GCC) -ansi -pedantic -D__USE_FIXED_PROTOTYPES__
GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic -D__USE_FIXED_PROTOTYPES__
GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w
GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional
GCC_LD_LIBS = -liberty
GCC_LD_FLAGS =
C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN))
C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN))
C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES)
CC = $(C_$(CMPLR))
LD_LIBS_OLD = $($(STANDARD)_LD_LIBS)
LD_LIBS_ANSI = $($(ANSI)_LD_LIBS)
LD_LIBS_STRICT = $($(ANSI)_LD_LIBS)
CCOMPILER_LDLIBS = $(LD_LIBS_$(CMPLR))
LD_FLAGS_OLD = $($(STANDARD)_LD_FLAGS)
LD_FLAGS_ANSI = $($(ANSI)_LD_FLAGS)
LD_FLAGS_STRICT = $($(ANSI)_LD_FLAGS)
CCOMPILER_LDFLAGS = $(LD_FLAGS_$(CMPLR))
CCC_NORMAL_INVOKE_W_NO = $(CCC) +p
CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w
CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w
CCC_LD_FLAGS = -L$(SPECIAL_LANG)
CCC_LD_LIBS =
CCC_TEMPL_INST_FLAG =
G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w
G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall
G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \
-Wmissing-prototypes -Woverloaded-virtual \
-Wwrite-strings -Wconversion -Wstrict-prototypes\
-Wpointer-arith -Winline
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN))
CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES)
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
# GNU make likes CXX instead of CCC
CXX = $(CXX_$(CXXCMPLR))
# Static Build options
ACC_SFLAGS_YES= -Bstatic
ACC_SFLAGS_NO=
CC_SFLAGS_YES= -Bstatic
CC_SFLAGS_NO=
GCC_SFLAGS_YES= -static
GCC_SFLAGS_NO=
SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD))
SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
SF_STRICT = $(SF_ANSI)
UNIX_SFLAGS = $(SF_$(CMPLR))
# Optimization
OPTIM_YES = -O
OPTIM_NO =
UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT))
# Include files
UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \
-I$(EPICS_BASE_INCLUDE)/os/$(T_A)
# Operating system flags
OP_SYS_FLAGS = -DUNIX
UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) $(CCOMPILER_LDFLAGS)
UNIX_LDLIBS = -lm $(CCOMPILER_LDLIBS)
ARCH_DEP_CFLAGS = -DSUNOS4
ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS)
UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS)
UNIX_CXXFLAGS = $(UNIX_CFLAGS)
# Target specific flags
TARGET_CFLAGS = $($(basename $@)_CFLAGS)
TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS)
TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS)
TARGET_LDFLAGS = $($(basename $@)_LDFLAGS)
TARGET_LDLIBS = $($(basename $@)_LDLIBS)
TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS)
CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) \
$(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG)
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS)
# Override SUN defaults
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
# changed from 'Unix' makesystem:
# link command now contains the output flag '-o $@'
LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) > .DEPENDS
DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.sun4

View File

@@ -12,6 +12,7 @@ DIRS = tools
DIRS += include
DIRS += cxxTemplates
DIRS += toolsComm
DIRS += makeBaseApp
DIRS += libCom
DIRS += libvxWorks
DIRS += cvtDctsdr
@@ -42,14 +43,19 @@ 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)
#
# this speeds up the build by turning off implicit rules search
#
.PHONY:: $(EPICS_BASE)/config/CONFIG
.PHONY:: $(EPICS_BASE)/config/CONFIG.* $(EPICS_BASE)/config/CONFIG_*
.PHONY:: $(EPICS_BASE)/config/RULES.* $(EPICS_BASE)/config/RULES_* .DEPENDS
.PHONY:: $(HOME)/.EPICS_CONFIG $(HOME)/.EPICS_CONFIG.$(HOST_ARCH)
# for EPICS Makefiles (which are not created from other files)
.PHONY:: $(TOP)/config/CONFIG
.PHONY:: $(TOP)/config/CONFIG.* $(TOP)/config/CONFIG_*
.PHONY:: $(TOP)/config/RULES.* $(TOP)/config/RULES_* DEPENDS
.PHONY:: $(HOME)/EPICS_CONFIG $(HOME)/EPICS_CONFIG.$(HOST_ARCH)
.PHONY:: ../Makefile.Vx ../Makefile.Unix ../Makefile.Host Makefile

View File

@@ -9,9 +9,9 @@
EPICS_VERSION=3
EPICS_REVISION=13
EPICS_MODIFICATION=0
EPICS_UPDATE_NAME=beta
EPICS_UPDATE_LEVEL=9
EPICS_MODIFICATION=1
EPICS_UPDATE_NAME=
EPICS_UPDATE_LEVEL=1
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}"

View File

@@ -25,41 +25,39 @@ 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
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
EPICS_BASE_DBD = $(EPICS_BASE)/dbd
EPICS_EXTENSIONS_INCLUDE = $(EPICS_EXTENSIONS)/include
EPICS_EXTENSIONS_TEMPLATES = $(EPICS_EXTENSIONS)/templates
DIVIDER = .
OBJ = .
RES = .
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(HOST_ARCH)
# private versions of lex/yacc from EPICS
EYACC = $(EPICS_BASE)/bin/$(HOST_ARCH)/antelope$(EXE)
ELEX = $(EPICS_BASE)/bin/$(HOST_ARCH)/e_flex$(EXE) -S$(EPICS_BASE_INCLUDE)/flex.skel.static
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 e.g. CONFIG_SITE
# otherwise override this in CONFIG_SITE_HOST_ARCH.<host_arch>
PERL=perl
# install from EPICS
INSTALL = $(PERL) $(EPICS_BASE)/bin/$(HOST_ARCH)/installEpics.pl
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
INSTALL_PRODUCT = $(INSTALL)
# dbtools from EPICS
# state notation language compiler (installed from base/src/sequencer)
SNC = $(EPICS_BASE)/bin/$(HOST_ARCH)/snc
# vxWorks definitions
VX_CONFIG_DIR = $(VX_DIR)/config
VX_INCLUDE = $(VX_DIR)/h
VX_GNU_BIN = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
VX_GNU_LIB = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
SNC = $(EPICS_BASE_HOST_BIN)/snc$(EXE)
ifdef T_A
@@ -70,15 +68,161 @@ INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A)
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
EPICS_EXTENSIONS_LIB = $(EPICS_EXTENSIONS)/lib/$(T_A)
EPICS_EXTENSIONS_BIN = $(EPICS_EXTENSIONS)/bin/$(T_A)
#--------------------------------------------------
# GNU compiler defaults
VX_IMAGE = $(VX_CONFIG_DIR)/$(T_A)/vxWorks
VX_IMAGE_SYM = $(VX_CONFIG_DIR)/$(T_A)/vxWorks.sym
GCC_ANSI = $(GCC) -ansi
GCC_STRICT = $(GCC) -ansi -pedantic
GCC_TRAD = $(GCC) -traditional
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 = -fPIC
GCC_SHRLIB_LDFLAGS_YES = -shared
# location of installed vxWorks image
EPICS_VX_IMAGE = $(EPICS_BASE_BIN)/vxWorks
EPICS_VX_IMAGE_SYM = $(EPICS_BASE_BIN)/vxWorks.sym
G++_NORMAL = $(G++) -ansi -pedantic
G++_STRICT = $(G++) -ansi -pedantic -Wtraditional
G++_TRAD = $(G++) -traditional
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
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 = -fPIC
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 =
#--------------------------------------------------
# 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)
#--------------------------------------------------
# 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) $(TARGET_INCLUDES) $(EPICS_INCLUDES) $(OP_SYS_INCLUDES)
CFLAGS = $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
$(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VENDOR_DEP_CFLAGS) $(STATIC_CFLAGS)\
$(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)
# Build compile line here
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c $(SOURCE_FLAG)
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(SOURCE_CXXFLAG)
endif

View File

@@ -20,13 +20,18 @@
# Default environment settings
# Channel Access:
# EPICS_CA_ADDR_LIST augment beacon/search dest ip addr list
# 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
# 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 sec before sending echo request from client.
# 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.
@@ -39,23 +44,73 @@ 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_CA_BEACON_PERIOD
# quiescent sec between server beacons.
# EPICS_CAS_INTF_ADDR_LIST - list of IP addresses identifying
# a limited set of interfaces that the server should bind to.
# If this parameter is empty then connections are accepted
# from any interface. 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.
# 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.
# 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=""
@@ -63,11 +118,9 @@ EPICS_CAS_SERVER_PORT=
# Log Server:
# EPICS_IOC_LOG_PORT Log server port number.
# EPICS_IOC_LOG_PORT Log server port number etc.
EPICS_IOC_LOG_PORT=7004
# Other services:
EPICS_CMD_PROTO_PORT=

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

View File

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

View File

@@ -0,0 +1,12 @@
# CONFIG_HOST_ARCH.UnixCommon
#
# Unix command definitions
CP = cp
MV = mv
RM = rm -f
MKDIR = mkdir
RMDIR = rm -rf
CHMOD = "/bin/chmod"

View File

@@ -0,0 +1,18 @@
# 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
# Use std path variables from ms
HOME = $(HOMEDRIVE)$(HOMEPATH)

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

View File

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

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,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 =
##########################

View File

@@ -20,6 +20,7 @@
# sgi
# Linux
# WIN32
# LynxOS
#
# HOST_ARCH now an environment variable
# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch)
@@ -37,59 +38,88 @@ endif
# hkv2f
# niCpu030
# pc486
# frc5ce
# hkbaja47
#
CROSS_COMPILER_TARGET_ARCHS=mv167
# 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
# VxWorks directory
#VX_DIR=/usr/csite/vw/5.1.1/vw
#VX_DIR=/usr/local/vw/vxV51.mm
#VX_DIR=/usr/local/vw/vxV52/vw
VX_DIR=/usr/local/vw/vxV52p1/vw
# 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/tornado101
# Gnu directory for gcc
#VX_GNU = $(VX_DIR)
VX_GNU = $(VX_DIR)/../vxgccV2.2.3.1
# 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
# Gnu directory for g++
# 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
GNU_BIN = $(GNU_DIR)/bin
GNU_LIB = $(GNU_DIR)/lib
# Client ANSI Compiler
# GCC (gcc -ansi)
# ACC (acc)
# HPACC (cc -Aa)
#ANSI=HPACC
# Client ANSI C Compiler (for Host builds)
# GCC (gcc -ansi) GNU
# ACC (acc) OS VENDOR
# HPACC (cc -Aa) OTHER VENDOR
ANSI=ACC
# Client Standard C Compiler choice
# GCC (gcc -traditional)
# ACC (acc -Xs)
# SUNCC (cc)
# HPCC (cc -Ac)
#STANDARD=HPCC
STANDARD=ACC
# C++ Compiler
# C++ Compiler (for Host builds)
# G++ (g++) GNU C++
# CCC (CC) OS VENDOR C++
#CPLUSPLUS=G++
#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 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 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
UNIX_OPT=YES
HOST_OPT=YES
# VxWorks Optimization
# must be either YES or NO
@@ -97,12 +127,15 @@ VX_OPT=YES
# Generate Verbose Compiler Warnings for Unix
# must be either YES or NO
UNIX_WARN=YES
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 =
@@ -115,3 +148,6 @@ 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

@@ -1,9 +1,15 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs
# APS overrides of definitions
GCC = gcc
G++ = g++
CC = gcc
CCC = g++
ACC = gcc
PLUSPLUS = g++
CXX = g++

View File

@@ -3,5 +3,6 @@
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
SHARED_LIBRARIES = YES

View File

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

View File

@@ -1,20 +0,0 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default SUN compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT

View File

@@ -1,29 +0,0 @@
# $Id$
#
# This file is maintained by the EPICS community.
# Site host architecture specific overrides for Vx.68k
#
ANSI=GCC
STANDARD=GCC
CPLUSPLUS=G++
VX_DIR=/vw/vxV52p1/vw
VX_GNU=/usr/local
VX_GNU_BIN = $(VX_GNU)/bin
VX_GNU_LIB = $(VX_GNU)/lib
AR=$(VX_GNU_BIN)/m68k-wrs-vxworks-ar.exe
RANLIB=$(VX_GNU_BIN)/m68k-wrs-vxworks-ranlib.exe
CC=$(VX_GNU_BIN)/m68k-wrs-vxworks-gcc.exe -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc
G++=$(VX_GNU_BIN)/m68k-wrs-vxworks-g++.exe -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc
CPP=$(VX_GNU_BIN)/m68k-wrs-vxworks-cpp.exe -nostdinc
LD=$(VX_GNU_BIN)/m68k-wrs-vxworks-ld.exe -r
# Not in cygwin32
WHAT = echo

View File

@@ -1,21 +0,0 @@
#
# CONFIG_SITE.Unix.alpha
#
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT

View File

@@ -1,21 +0,0 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default compiler, 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=ANSI
# Default C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
SPECIAL_LANG = .

View File

@@ -1,21 +0,0 @@
#
# CONFIG_SITE.Unix.hp700
#
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT

View File

@@ -1,9 +0,0 @@
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs

View File

@@ -1,9 +0,0 @@
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs

View File

@@ -1,9 +0,0 @@
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs

View File

@@ -1,9 +0,0 @@
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs

View File

@@ -1,9 +0,0 @@
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Epics defs

View File

@@ -1,6 +0,0 @@
# $Log$
# Revision 1.1.2.1 1996/11/25 20:20:22 jhill
# installed
#
# -kuk-

View File

@@ -1,27 +0,0 @@
#
# $Id$
#
# Revision 1.2 1994/06/28 00:02:32 bordua
# First cut at the RULES and CONFIGS.
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default SUN compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT
# Special C library requirements
SPECIAL_LANG =

View File

@@ -1,26 +0,0 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default SUN compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT
# Unbundled C compiler stuff
SPARCWORKS = /opt/SUNWspro
#SPECIAL_LANG = $(SPARCWORKS)/lib
SPECIAL_LANG = .

View File

@@ -1,31 +0,0 @@
#
# $Id$
#
# Site Specific Configuration Information
# Only the local epics system manager should modify this file
# Default SUN compiler, 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=ANSI
# Default SUN C++ compiler, individual Makefiles will override
# if they are coded to a higher standard.
# STRICT - ANSI C++ force strict warning flags
# NORMAL - ANSI C++ optional warning flags
CXXCMPLR=NORMAL
#CXXCMPLR=STRICT
#CMPLR=STRICT
#ANSI=GCC
#STANDARD=GCC
#CPLUSPLUS=G++
# Special C library requirements
#SPECIAL_LANG = /usr/lang/SC3.0.1
#SPECIAL_LANG = /usr/lang/lib
SPECIAL_LANG = .

View File

@@ -38,8 +38,8 @@ EPICS_TS_NTP_INET=
# 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=164.54.8.167
EPICS_IOC_LOG_FILE_NAME=/home/phebos1/epics/apple/log/iocLog.text
EPICS_IOC_LOG_INET=
EPICS_IOC_LOG_FILE_NAME=
EPICS_IOC_LOG_FILE_COMMAND=
EPICS_IOC_LOG_FILE_LIMIT=1000000

View File

@@ -1,105 +0,0 @@
Short Description of the "Host" (vs. "Unix") Build System
---------------------------------------------------------
7-30-96 -kuk-
questions/comments please mailto:kasemir@atdiv.lanl.gov
To build EPICS on the WIN32 architecture
the "old" make-system using Makefile.Unix in each
subdir and RULES.Host was not suitable because
it is too much Unix-dependent.
A "new" system using Makefile.Host and RULES.Host
was used instead. This "host" system should work
on all other architectures as well.
The idea is that ALL architectures should be able to use
the "host" system in future because.
The syntax of the 'Host' Makefiles is described
in 'Sample.Makefile.Host'. Any suggestions for a
better syntax (in connection whith ideas how to
implement this in RULES.Host!) are very welcome!
To use it, only a few changes should be necessary:
A) In CONFIG.<WIN32, sun4, hp700, ... whatever you are using>:
1) Set
BUILD_TYPE=Host
instead of 'Unix'. This switches you over to using
Makefile.Host instead of Makefile.Unix.
2) Set ARCH_CLASS to the correct architecture class.
(ARCH_CLASS used to be defined in the past, right now
it seems it's only set for VxWorks targets, not hosts).
ARCH_CLASS is used to define system-dependent
CFLAGS, library contents etc. in Makefile.Host,
so it should describe the general architecture,
maybe
WIN32 : this is the only one really supported in Makefile.Host by now
BSD for sun4,
SYSV for ??,
Maybe this "general arch" is not sufficient, so we will
end up using
ARCH_CLASS=WIN32, sun4, hp700, ....
as it used to be.
3) Make sure that the following (new) macros are defined:
CP =$(PERL) $(EPICS_BASE)/src/tools/cp.pl
MV =$(PERL) $(EPICS_BASE)/src/tools/mv.pl
RM =$(PERL) $(EPICS_BASE)/src/tools/rm.pl -f
MKDIR=$(PERL) $(EPICS_BASE)/src/tools/mkdir.pl
RMDIR=$(PERL) $(EPICS_BASE)/src/tools/rm.pl -rf
or
CP=cp
MV=mv
RM=rm -f
MKDIR=mkdir
RMDIR=rm -rf
EXE=
OBJ=.o
4) LINK.c and LINK.cc must now include the target-flag, e.g.:
LINK.c = $(CC) $(LDFLAGS) -o $@
because the "-o $@" is also system dependent (it's -Fe$@ for WIN32)
5) The bin directory for the host based epics tools
$(EPICS)/base/bin/$(HOST_ARCH)
must be in your PATH.
B) Adjust Makefile.Host
If you are trying to build EPICS now, there might be errors
because the Makefile.Host files are only tested on WIN32, yet.
If changes are necessare in some base/src/???/Makefile.Host,
refer to Sample.Makefile.Host in the base/config dir.
The current make-system for WIN32
needs
* gnumake (OK, sources for WIN32 are available)
* several UNIX tools: sed, grep, ... (dito)
* a UNIX-like shell (ouch!)
I found no fully operational shell and no sources for WIN32 so far,
Cygnus' bash e.g. cannot handle this:
(echo a>a; echo b>>a)
Right now I use the knts that I wrote and simplified scripts.
Jeff eliminated many shell-lines in Makefile.*,
the final solution could be:
1) replace shell, awk, grep, sed, ... by Perl!
2) use C code
Perl looks like a real option because it's available
for many platforms and maybe the best idea for
'portable scripts'.

View File

@@ -11,47 +11,24 @@ CONFIGS += CONFIG_BASE_VERSION
CONFIGS += CONFIG_COMMON
CONFIGS += CONFIG_ENV
CONFIGS += CONFIG.WIN32
CONFIGS += CONFIG.pc486
CONFIGS += CONFIG.Linux
CONFIGS += CONFIG.alpha
CONFIGS += CONFIG.hp700
CONFIGS += CONFIG.sgi
CONFIGS += CONFIG.solaris
CONFIGS += CONFIG.sun4
CONFIGS += CONFIG.hkv2f
CONFIGS += CONFIG.mv147
CONFIGS += CONFIG.mv162
CONFIGS += CONFIG.mv162lc
CONFIGS += CONFIG.mv167
CONFIGS += CONFIG.niCpu030
CONFIGS += CONFIG.Host.$(HOST_ARCH)
CONFIGS += CONFIG_HOST_ARCH.$(HOST_ARCH)
CONFIGS += CONFIG.Host.UnixCommon
CONFIGS += CONFIG_HOST_ARCH.UnixCommon
CONFIGS += CONFIG.Vx.68k
CONFIGS += CONFIG.Vx
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG.Vx.%)
CONFIGS += CONFIG_SITE
CONFIGS += CONFIG_SITE_ENV
CONFIGS += CONFIG_SITE.WIN32
CONFIGS += CONFIG_SITE.pc486
CONFIGS += CONFIG_SITE.Linux
CONFIGS += CONFIG_SITE.alpha
CONFIGS += CONFIG_SITE.hp700
CONFIGS += CONFIG_SITE.sgi
CONFIGS += CONFIG_SITE.solaris
CONFIGS += CONFIG_SITE.sun4
CONFIGS += CONFIG_SITE.hkv2f
CONFIGS += CONFIG_SITE.mv147
CONFIGS += CONFIG_SITE.mv162lc
CONFIGS += CONFIG_SITE.mv162
CONFIGS += CONFIG_SITE.mv167
CONFIGS += CONFIG_SITE.niCpu030
CONFIGS += $(subst ../,,$(wildcard ../CONFIG_SITE*))
CONFIGS += RULES.Host
CONFIGS += RULES.Unix
CONFIGS += RULES.Vx
CONFIGS += RULES_ARCHS
CONFIGS += RULES_DIRS
CONFIGS += RULES_TOP
CONFIGS += RULES.Db
CONFIGS += RULES.ioc
include $(TOP)/config/RULES.Host

View File

@@ -1,30 +0,0 @@
#
# $Id$
#
TOP = ../..
include $(TOP)/config/CONFIG_BASE
CONFIGS += CONFIG
CONFIGS += CONFIG_BASE
CONFIGS += CONFIG_COMMON
CONFIGS += CONFIG_ENV
CONFIGS += CONFIG.Vx.68k
CONFIGS += CONFIG_SITE
CONFIGS += CONFIG_SITE_ENV
CONFIGS += $(HOST_ARCH:%=CONFIG.%)
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG.%)
CONFIGS += $(HOST_ARCH:%=CONFIG_SITE.%)
CONFIGS += $(CROSS_COMPILER_TARGET_ARCHS:%=CONFIG_SITE.%)
CONFIGS += RULES.Unix
CONFIGS += RULES.Vx
CONFIGS += RULES_ARCHS
CONFIGS += RULES_DIRS
CONFIGS += RULES_TOP
include $(TOP)/config/RULES.Unix

View File

@@ -1,59 +0,0 @@
#RULES.Db
SUBTOOL = $(EPICS_BASE_BIN)/subtool
PREFIX=$(shell echo $* | sed -e 's-[0-9]--g' | sed -e 's-\.db--g')
ARCHS += $(BUILD_ARCHS) host cross
ACTIONS += clean inc depends buildInstall build
actionArchTargets = $(foreach action, $(ACTIONS) install,\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
all install :: inc buildInstall
buildInstall: .DEPENDS dbd $(DBFROMTEMPLATE) $(INDDBFROMTEMPLATE) $(PROD)
inc build depends:
$(TOP)/dbd:
$(MKDIR) $(TOP)/dbd
dbd: $(TOP)/dbd
ifndef WIN32
ln -s $(TOP)/dbd dbd
endif
$(DBFROMTEMPLATE):%.db: %.template %.substitutions
$(RM) $@
$(SUBTOOL) $*.template $*.substitutions > $@
$(INDDBFROMTEMPLATE):%.db: %.substitutions
$(RM) $@
ifndef WIN32
$(SUBTOOL) $(PREFIX).template $*.substitutions > $@
endif
.DEPENDS: Makefile
@$(RM) $@
ifndef WIN32
@for NAME in $(INDDBFROMTEMPLATE) garbage_marty ; do \
if [ $$NAME != garbage_marty ] ; then \
PREFIX="`echo $$NAME | sed -e 's-[0-9]--g' | sed -e 's-\.db--g'`";\
echo "$$NAME: $$PREFIX.template" >> $@;\
fi ; \
done
endif
clean::
@$(RM) dbd $(DBFROMTEMPLATE) $(INDDBFROMTEMPLATE) .DEPENDS $(PROD)
$(actionArchTargets) :%:
$(MAKE) $(word 1, $(subst $(DIVIDER), ,$@))
$(ARCHS):%: install
.PHONY :: $(ARCHS) $(ACTIONS)
.PHONY :: $(actionArchTargets)
-include .DEPENDS

View File

@@ -1,4 +1,4 @@
#
# $Id$
#
# Rules for making things specified in Makefile.Host
@@ -28,8 +28,10 @@
# 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 %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
# This prevents base/src/include/*.h from being installed. Why??
#vpath %.h ../os/$(ARCH_CLASS) ../os/generic ..
vpath %.h $(USER_VPATH)
@@ -44,9 +46,9 @@ vpath %.h $(USER_VPATH)
# 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>
# 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
@@ -54,22 +56,23 @@ vpath %.h $(USER_VPATH)
# 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,
# 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
# 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 (x$(USR_CFLAGS_$(ARCH_CLASS)),x)
ifneq ($(strip $(USR_CFLAGS_$(ARCH_CLASS))),)
USR_CFLAGS+=$(subst -nil-,,$(USR_CFLAGS_$(ARCH_CLASS)))
else
ifdef USR_CFLAGS_DEFAULT
@@ -77,7 +80,7 @@ USR_CFLAGS+=$(USR_CFLAGS_DEFAULT)
endif
endif
ifneq (x$(USR_CXXFLAGS_$(ARCH_CLASS)),x)
ifneq ($(strip $(USR_CXXFLAGS_$(ARCH_CLASS))),)
USR_CXXFLAGS+=$(subst -nil-,,$(USR_CXXFLAGS_$(ARCH_CLASS)))
else
ifdef USR_CXXFLAGS_DEFAULT
@@ -85,9 +88,25 @@ 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 (x$(INC_$(ARCH_CLASS)),x)
ifneq ($(strip $(INC_$(ARCH_CLASS))),)
# os-specific includes go to the include/os-directory:
OSINC += $(subst -nil-,,$(INC_$(ARCH_CLASS)))
else
@@ -98,7 +117,7 @@ endif
# concat specific library contents (if defined) to LIBCONTENS
#
ifneq (x$(LIBSRCS_$(ARCH_CLASS)),x)
ifneq ($(strip $(LIBSRCS_$(ARCH_CLASS))),)
LIBSRCS += $(subst -nil-,,$(LIBSRCS_$(ARCH_CLASS)))
else
@@ -117,7 +136,7 @@ endif
#
# concat specific library contents (if defined) to PROD_LIBS
#
ifneq (x$(PROD_LIBS_$(ARCH_CLASS)),x)
ifneq ($(strip $(PROD_LIBS_$(ARCH_CLASS))),)
PROD_LIBS += $(subst -nil-,,$(PROD_LIBS_$(ARCH_CLASS)))
else
@@ -128,10 +147,24 @@ 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 (x$(SYS_PROD_LIBS_$(ARCH_CLASS)),x)
ifneq ($(strip $(SYS_PROD_LIBS_$(ARCH_CLASS))),)
SYS_PROD_LIBS += $(subst -nil-,,$(SYS_PROD_LIBS_$(ARCH_CLASS)))
else
@@ -145,7 +178,7 @@ endif
#
# concat specific products
#
ifneq (x$(PROD_$(ARCH_CLASS)),x)
ifneq ($(strip $(PROD_$(ARCH_CLASS))),)
PROD += $(subst -nil-,,$(PROD_$(ARCH_CLASS)))
else
@@ -159,7 +192,7 @@ endif
#
# concat specific scripts
#
ifneq (x$(SCRIPTS_$(ARCH_CLASS)),x)
ifneq ($(strip $(SCRIPTS_$(ARCH_CLASS))),)
SCRIPTS += $(subst -nil-,,$(SCRIPTS_$(ARCH_CLASS)))
else
@@ -170,72 +203,20 @@ endif
endif
# -------------------------------------------------------------------
# adjust names to platform specific pre-/postfixes,
# this is ugly (ifdef XXX...) but hopefully get's you there...
# -------------------------------------------------------------------
# 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!
ifdef LIBRARY
ifdef LIBOBJS
ifndef WIN32
# handle plain Unix first because it's easy: <lib> -> lib<lib>.a
LIBNAME:=$(LIBRARY:%=lib%.a)
# concat specific resource files
#
ifneq ($(strip $(RCS_$(ARCH_CLASS))),)
RCS += $(subst -nil-,,$(RCS_$(ARCH_CLASS)))
else
# WIN32 library name:
LIBNAME:=$(LIBRARY).lib
# check if DLL or plain lib requested:
ifeq ($(LIBTYPE),SHARED)
# create name for dll, import file
DLLNAME:=$(LIBRARY).dll
# libs defined that we need to link the DLL with?
DLL_DEP_LIBS:=$(DLL_LIBS:%=%.lib)
endif # LIBTYPE=SHARED
endif # WIN32
ifdef RCS_DEFAULT
RCS += $(RCS_DEFAULT)
endif
endif # LIBRARY and LIBOBJS
# dito for libraries used by PROD
#
ifdef PROD_LIBS
# add to USR_LDLIBS so that the libs are linked
ifdef WIN32
PRODDEPLIBS:=$(PROD_LIBS:%=$(INSTALL_LIB)/%.lib)
USR_LDLIBS += -libpath:$(INSTALL_LIB) $(PROD_LIBS:%=%.lib)
else
# On Unix: library "ca" is linked with "-lca" etc.
PRODDEPLIBS=$(PROD_LIBS:%=$(INSTALL_LIB)/lib%.a)
USR_LDLIBS += -L$(INSTALL_LIB) $(PROD_LIBS:%=-l%)
endif
endif
# dito for system libraries used by PROD
#
ifdef SYS_PROD_LIBS
ifdef WIN32
# add to USR_LDLIBS so that the libs are linked
# we need the full path because there is no "-L" option on WIN32....
USR_LDLIBS += $(SYSPRODDEPLIBS)
else
# On Unix: it is difficult to determine where the
# system lib is (because of add on compilere).
# Therefore no additions to PRODDEPLIBS for
# system libraries.
#
USR_LDLIBS += $(SYS_PROD_LIBS:%=-l%)
endif
# adjust executables
ifdef TESTPROD
TESTPROD := $(addsuffix $(EXE), $(TESTPROD))
endif
# adjust executables
@@ -243,10 +224,16 @@ ifdef PROD
PROD := $(addsuffix $(EXE), $(PROD))
endif
ifdef TESTPROD
TESTPROD := $(addsuffix $(EXE), $(TESTPROD))
#---------------------------------------------------------------
# if we are not building base add base includes and ld dirs
# (convenience for extensions and applications)
ifneq ($(EPICS_BASE),$(TOP))
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
endif
endif
#---------------------------------------------------------------
# ----------------------------------------------------
# create names (lists) for installed things
# ----------------------------------------------------
@@ -254,21 +241,25 @@ endif
# each list starts with the destination directory name(s)
# to make sure it's there
INCREC +=$(RECTYPES) $(MENUS)
INSTALL_PROD= $(PROD:%= $(INSTALL_BIN)/%)
# DLLs (only defined on WIN32) are like executables:
ifdef DLLNAME
INSTALL_DLLS=$(DLLNAME:%=$(INSTALL_BIN)/%)
endif
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),$(INSTALL_MAN)/man$(n) $(MAN$(n):%= $(INSTALL_MAN)/man$(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)
@@ -277,108 +268,229 @@ 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))
DIRECTORY_TARGETS = $(INSTALL_INCLUDE) $(INSTALL_INCLUDE)/os \
$(INSTALL_OSINCLUDE) $(INSTALL_DOC) \
$(INSTALL_LOCATION_BIN) $(INSTALL_BIN) $(INSTALL_LIB) \
$(INSTALL_LOCATION_LIB) $(INSTALL_CONFIG) \
$(MAN_DIRECTORY_TARGETS) $(INSTALL_MAN) \
$(INSTALL_TEMPLATES)
ifdef TEMPLATES_DIR
DIRECTORY_TARGETS += $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
#---------------------------------------------------------------
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
#---------------------------------------------------------------
# must use c++ linker if linking to shared libs with c++ code
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
ifneq ($(strip $(CPLUSPLUS)),)
LINK.c = $(LINK.cc)
endif # CPLUSPLUS
endif # LIBTYPE
# Main target
#---------------------------------------------------------------
# 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)
CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
CXXFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
# check if shared libraries requested
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
PROD_VERSION =$(SHRLIB_VERSION)
ifeq ($(findstring cc,$(suffix $(LIBSRCS))),cc)
SHRLIB_LINKER = $(CXX)
else
SHRLIB_LINKER = $(CC)
endif
LIBTARGETS += $(SHRLIBNAME) $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS)
endif # SHARED_LIBRARIES=YES
endif # LIBOBJS
endif # LIBRARY
#---------------------------------------------------------------
# Main targets
all:: install
build:: $(LIBNAME) $(DLLNAME) \
$(INSTALL_LOCATION_LIB) $(INSTALL_LIB)\
$(INSTALL_LIBS) $(INSTALL_DLLS) $(PROD) $(TESTPROD)
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) \
$(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
inc:: $(INSTALL_INCLUDE) $(INSTALL_INC) \
$(INSTALL_INCLUDE)/os $(INSTALL_OSINCLUDE) $(INSTALL_OSINC)
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
rebuild:: clean install
install:: inc buildInstall
buildInstall :: build $(TARGETS) $(INSTALL_LOCATION_BIN) \
$(INSTALL_BIN) $(INSTALL_SCRIPTS) $(INSTALL_PROD) \
$(INSTALL_MAN) $(INSTALL_MANS) \
$(INSTALL_DOC) $(INSTALL_DOCS) \
$(INSTALL_TEMPLATES) $(INSTALL_TEMPLATES_SUBDIR) $(INSTALL_TEMPLATE) \
$(INSTALL_CONFIG) $(INSTALL_CONFIGS)
depends:: $(LIBSRCS) $(SRCS)
$(RM) .DEPENDS
touch .DEPENDS
ifdef $(SRCS.c)
$(DEPENDS_RULE.c)
endif
ifdef $(SRCS.cc)
$(DEPENDS_RULE.cc)
endif
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) $(INC)
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) *$(RES) $(TARGETS) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
#---------------------------------------------------------------
# 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)))
COND_PROD_LIBS=$(foreach prod, $(basename $(PROD)), $($(prod)_LIBS))
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_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)))
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
@$(RM) $@
$(PRODNAME_LINKER) $(PRODNAME_OBJS) $(PRODNAME_RESS) $(LDLIBS)
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): $(PROD_OBJS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS)
@$(PROD_MAKE_COMMAND)
endif
endif #ifdef PRODNAME
endif #ifdef PROD
#---------------------------------------------------------------
# Java classes and packages
#
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
DIRECTORY_TARGETS += $(INSTALL_JAVA)
ifdef PACKAGE
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
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)/%)
JAR_OPTIONS = cvf
ifdef MANIFEST
JAR_OPTIONS = cvmf
endif
JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
$(DIRECTORY_TARGETS) :
$(MKDIR) $@
# The order of the following dependencies is
# VERY IMPORTANT !!!!
build:: $(TESTCLASSES) $(JAR)
# If you want to break this on WIN32, please forget
# that $(COMPILE.cc) is like $(COMPILE.c) for WIN32
# except the first one ends in -Tp to select 'C++'.
#
# EPICS uses .cc for C++, which is not recognized
# by MS Visual C++, so -Tp has to be directly in front of
# the source file.
# -> put the source file directly after $(COMPILE.cc),
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR)
# explicit list of source files given for PROD ?
# (otherwise implicit rules .c -> $(EXE), .cc -> $(EXE)
ifdef SRCS
clean::
@$(RM) $(TESTCLASSES) $(JAR)
ifeq ($(findstring cc,$(suffix $(SRCS))),cc)
PROD_LINKER = $(LINK.cc)
else
PROD_LINKER = $(LINK.c)
endif
%.class:%.java
@echo Creating java class file $@
$(RM) $@
$(JAVACCMD) $<
PROD_OBJS=$(addsuffix $(OBJ), $(basename $(SRCS)))
$(PROD): $(PROD_OBJS) $(PRODDEPLIBS)
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
@echo Creating java class file $@
@$(RM) $@
$(PROD_LINKER) $(PROD_OBJS) $(LDLIBS)
endif
$(JAVACCMD) -d $(INSTALL_JAVA) $<
# explicit list of source files given for TESTPROD ?
# (otherwise implicit rule .c -> $(OBJ) -> $(EXE)
ifdef TESTPROD_SRCS
ifeq ($(findstring cc,$(suffix $(TESTPROD_SRCS))),cc)
TESTPROD_LINKER = $(LINK.cc)
else
TESTPROD_LINKER = $(LINK.c)
endif
TESTPROD_OBJS=$(addsuffix $(OBJ), $(basename $(TESTPROD_SRCS)))
$(TESTPROD): $(TESTPROD_OBJS) $(PRODDEPLIBS)
$(JAR):%.jar: $(JAR_DEPFILES)
@echo Creating java jar file $@
@$(RM) $@
$(TESTPROD_LINKER) $(TESTPROD_OBJS) $(LDLIBS)
endif
$(JARCMD)
$(INSTALL_JAVA)/%.jar: %.jar
@echo "Installing jar file $@"
$(INSTALL) -d -m 644 $< $(@D)
#---------------------------------------------------------------
#---------------------------------------------------------------
# Generic Rules for 'simple' targets that
# can be generated from a single source with same basename.
#
@@ -389,12 +501,26 @@ endif
# 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'
%$(EXE): %.c $(PRODDEPLIBS)
#
# The order of the following rules is
# VERY IMPORTANT !!!!
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS)
$(RM) DEPENDS
touch DEPENDS
$(DEPENDS_RULE)
%$(EXE): %.c
@$(RM) $@
$(COMPILE.c) $<
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
%$(EXE): %.cc $(PRODDEPLIBS)
%$(EXE): %.cc
@$(RM) $@
$(COMPILE.cc) $<
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
%$(EXE): %.C
@$(RM) $@
$(COMPILE.cc) $<
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
@@ -407,21 +533,29 @@ endif
@$(RM) $@
$(COMPILE.cc) $<
%.c %.h: ../%.y
@$(RM) y.tab.c y.tab.h
%$(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) $<
@if [ -f y.tab.c ]; \
then \
echo "$(MV) y.tab.c $*.c"; \
$(RM) $*.c; \
$(MV) y.tab.c $*.c; \
fi
@if [ -f y.tab.h ]; \
then \
echo "$(MV) y.tab.h $*.h"; \
$(RM) $*.h; \
$(MV) y.tab.h $*.h; \
fi
$(MV) y.tab.c $*.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(MV) y.tab.h $*.h
endif
%.c: ../%.l
@$(RM) lex.yy.c
@@ -439,162 +573,176 @@ endif
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
@echo "converting $<
ln -s $< $*.st
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
@$(RM) $*.st
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.edf: ../%.sch $(DEPSCHS)
%.edf: ../%.sch
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Adl2dl rule
%.dl : ../%.adl
-$(ADL2DL) $< $@
# Mangen Rule:
%.1:%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Rules for building LIBRARY with LIBSRCS
# (which are now LIBNAME, LIBOBJS)
#
ifdef WIN32
$(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)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(USER_DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(USER_DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(DBDNAME): ../$(DBDEXPAND)
@echo expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
ifeq ($(LIBTYPE),SHARED)
# A WIN32 dll has tree parts:
# x.dll: the real dll (DLLNAME)
# x.lib: what you link to progs that use the dll (LIBNAME)
# x.exp: what you need to build the dll (in no variable)
#
# the latter two are created automatically when building the dll:
$(LIBNAME): $(DLLNAME)
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS)
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS)
# test if there is a def file for this dll:
#
DLL_DEF_FILE := ../$(LIBRARY).def
ifeq ($(DLL_DEF_FILE), $(wildcard $(DLL_DEF_FILE)))
DLL_DEF := -def:$(DLL_DEF_FILE)
endif
# 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 $@, -D_WINDLL, $(findstring $@,$(LIBOBJS)))
$(DLLNAME): $(LIBOBJS)
link $(WIN32_DLLFLAGS)\
-implib:$(LIBNAME) -out:$(DLLNAME) $(DLL_DEF)\
$(DLL_DEP_LIBS) $(ARCH_DEP_LDLIBS) $(HOST_LDLIBS) $(LIBOBJS)
else
# still on WIN32, this time no DLL but plain lib requested:
$(LIBNAME): $(LIBOBJS)
lib -nologo -verbose -out:$(LIBNAME) $(LIBOBJS)
lib -nologo -list $(LIBNAME)
endif # LIBTYPE is SHARED ?
else # not WIN32
# usual Unix rule for lib creation
# rule for lib (archive of object files) creation
$(LIBNAME): $(LIBOBJS)
$(RM) $@
$(ARCMD) $@ $(LIBOBJS)
@if [ ! -z "$(RANLIB)" ] ; then\
echo $(RANLIB) $@; \
$(RANLIB) $@; \
fi
endif # ifdef WIN32
# end of library creation rules
$(ARCMD) $(LIBOBJS)
ifdef RANLIB
$(RANLIB) $@;
endif # RANLIB
$(INSTALL_BIN)/%: ../os/$(ARCH_CLASS)/%
@echo "Installing os-specific script $@"
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: %
@echo "Installing binary $@"
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing script $@"
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
@$(INSTALL) -m 644 $< $(INSTALL_LIB)
@if [ ! -z "$(RANLIB)" ] ; then\
$(RANLIB) $(RANLIBFLAGS) $@; \
fi
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
ifdef RANLIB
$(RANLIB) $(RANLIBFLAGS) $@
endif # RANLIB
$(INSTALL_LIB)/%.lib: %.lib
@echo "Installing library $@"
@$(INSTALL) -m 644 $< $(INSTALL_LIB)
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
$(INSTALL_SHRLIB)/lib%: lib%
@echo "Installing library $@"
@$(INSTALL) -d -m 555 $< $(INSTALL_SHRLIB)
ifdef SHRLIB_VERSION
@$(RM) $(@:%.$(SHRLIB_VERSION)=%)
ln -s $< $(@:%.$(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) -m 644 $< $(INSTALL_CONFIG)
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(INSTALL_CONFIG)/%: ../%
@echo "Installing config file $@"
@$(INSTALL) -m 644 $< $(INSTALL_CONFIG)
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing man file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing man file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing include file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing include file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing doc $@"
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_DOC)/%: ../%
@echo "Installing doc $@"
@$(INSTALL) -m 644 $< $(INSTALL_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) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: %
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: %.o %.c
-include .DEPENDS
-include DEPENDS
.PHONY:: all inc depends build install clean rebuild buildInstall

View File

@@ -1,19 +1,31 @@
# $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 \
@@ -29,7 +41,8 @@ pre_build::
rebuild:: clean install
build:: pre_build $(LIBNAME) $(TARGETS) $(PROD)
build:: pre_build $(LIBNAME) $(TARGETS) $(PROD)\
$(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
inc:: $(INSTALL_INCLUDE) $(INSTALL_INC) $(INSTALL_INCLUDE)/os \
$(INSTALL_OSINCLUDE) $(INSTALL_OSINC)
@@ -41,10 +54,13 @@ buildInstall :: build \
$(TARGETS) \
$(INSTALL_LOCATION_BIN) $(INSTALL_BIN) \
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
$(INSTALL_MAN) $(INSTALL_MANS) \
$(INSTALL_MAN) $(INSTALL_MANS) $(INSTALL_HTMLS) \
$(INSTALL_DOC) $(INSTALL_DOCS) $(INSTALL_TEMPLATES) \
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATE) \
$(INSTALL_CONFIG) $(INSTALL_CONFIGS)
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
depends:: $(SRCS.c) $(SRCS.cc)
ifdef SRCS
@@ -130,35 +146,72 @@ $(TARGETS) $(PROD): $(DEPLIBS)
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(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:%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
$(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)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(USER_DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(USER_DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(DBDNAME): ../$(DBDEXPAND)
@echo expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand $(USER_DBDFLAGS) $< > $@
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
$(RM) $@
$(ARCMD) $@ $(LIBOBJS)
$(ARCMD) $(LIBOBJS)
@if [ ! -z "$(RANLIB)" ] ; then\
echo $(RANLIB) $@; \
$(RANLIB) $@; \
@@ -166,58 +219,78 @@ $(LIBNAME): $(LIBOBJS)
$(INSTALL_BIN)/%: %
@echo "Installing Binary $@"
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing Binary $@"
@$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN)
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_LIB)/%.a: %.a
@echo "Installing library $@"
@$(INSTALL) -m 644 $< $(INSTALL_LIB)
@$(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) -m 644 $< $(INSTALL_CONFIG)
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(INSTALL_CONFIG)/%: ../%
@echo "Installing Config File $@"
@$(INSTALL) -m 644 $< $(INSTALL_CONFIG)
@$(INSTALL) -d -m 644 $< $(INSTALL_CONFIG)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing man file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing man file $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing Include File $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing Include File $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing doc $@"
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
@$(INSTALL) -d -m 644 $< $(INSTALL_DOC)
$(INSTALL_DOC)/%: ../%
@echo "Installing doc $@"
@$(INSTALL) -m 644 $< $(INSTALL_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 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: %
@echo "Installing template $@"
@$(INSTALL) -d -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)
@$(INSTALL) -d -m 644 $< $(@D)
.PRECIOUS: %.o %.c

View File

@@ -1,5 +1,13 @@
# $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)/%)
@@ -10,8 +18,9 @@ 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)/%))
$(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)/%)
@@ -24,10 +33,13 @@ INSTALL_DBDNAME = $(DBDNAME:%= $(INSTALL_DBD)/%)
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
DIRECTORY_TARGETS = $(INSTALL_INCLUDE) $(INSTALL_DOC) $(INSTALL_DBD) \
$(INSTALL_OSINCLUDE) $(INSTALL_INCLUDE)/os \
$(INSTALL_LOCATION_BIN) $(INSTALL_BIN) \
$(MAN_DIRECTORY_TARGETS) $(INSTALL_MAN)
# if we are not building base add base includes
#
ifneq ($(EPICS_BASE),$(TOP))
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
endif
endif
all:: install
@@ -38,19 +50,17 @@ pre_build::
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD) $(DBDNAME)
inc:: $(INSTALL_INCLUDE) $(INSTALL_INC) $(INSTALL_INCLUDE)/os \
$(INSTALL_OSINCLUDE) $(INSTALL_OSINC)
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
install:: inc buildInstall
buildInstall :: build $(INSTALL_INCREC)\
$(INSTALL_LOCATION_BIN) \
$(INSTALL_BIN) $(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
$(TARGETS) $(INSTALL_PROD) \
$(INSTALL_MAN) $(INSTALL_MANS)\
$(INSTALL_DOC) $(INSTALL_DOCS) \
$(INSTALL_MANS) $(INSTALL_DOCS) \
$(INSTALL_HTMLS) \
$(INSTALL_SCRIPTS) $(INSTALL_INSTALLS)\
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBS) $(INSTALL_BPTS) \
$(INSTALL_DBDNAME)
ifdef BIN_INSTALLS
@@ -58,25 +68,15 @@ buildInstall :: binInstalls
endif
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
$(RM) DEPENDS
touch DEPENDS
$(DEPENDS_RULE)
clean::
@echo "Cleaning"
@$(RM) *.i *.o *.a $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
$(DIRECTORY_TARGETS) :
@$(MKDIR) $@
# The order of the following dependencies is
# VERY IMPORTANT !!!!
@@ -104,19 +104,28 @@ $(DIRECTORY_TARGETS) :
$(RM) $@
$(COMPILE.cc) $<
%.c: ../%.y
$(RM) y.tab.c y.tab.h
# 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) $<
@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
$(MV) y.tab.c $*.c
ifeq ($(findstring -d, $(YACCOPT)),-d)
$(MV) y.tab.h $*.h
endif
%.c: ../%.l
$(RM) lex.yy.c
@@ -128,77 +137,83 @@ $(DIRECTORY_TARGETS) :
%.c: ../%.st
@echo "preprocessing $*.st"
@$(RM) $*.i
$(CPP) $(CPPFLAGS) $< $*.i
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< $*.i
@echo "converting $*.i"
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
%.c: %.stt
@echo "converting $<
@$(RM) $@
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
ln -s $< $*.st
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
@$(RM) $*.st
# Capfast Rules:
%.db: %.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.db: ../%.edf
$(E2DB) $(E2SR_SYSFLAGS) $(E2SR_FLAGS) $<
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
%.edf: ../%.sch $(DEPSCHS)
%.edf: ../%.sch
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
# Adl2dl rule
%.dl : ../%.adl
-$(ADL2DL) $< $@
# Mangen Rule:
%.1:%
$(RM) $(<F)
$(RM) $(<F).nr
ln -s $<
$(MANGEN) -s $(<F)
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
# Mangen Rule:
%.1:../%
$(MANGEN) -s $<
$(MV) $(<F).nr $(<F).1
binInstalls: $(BIN_INSTALLS)
$(INSTALL) -m 555 $^ $(INSTALL_BIN)
$(INSTALL) -d -m 555 $^ $(INSTALL_BIN)
$(INSTALL_DBD)/%: %
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(INSTALL_DBD)
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
$(INSTALL_DBD)/%: ../%
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(INSTALL_DBD)
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
%Record.h: %Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(USER_DBDFLAGS) $<
%Record.h: ../%Record.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
$(USER_DBDFLAGS) $<
menu%.h: menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
menu%.h: ../menu%.dbd
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
bpt%.dbd: bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
bpt%.dbd: ../bpt%.data
$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
$(DBDNAME): ../$(DBDEXPAND)
@echo expanding dbd
@$(RM) $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand\
$(USER_DBDFLAGS) $< > $@
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
$(LIBNAME): $(LIBOBJS)
@echo Building library $@
@@ -208,15 +223,15 @@ $(LIBNAME): $(LIBOBJS)
$(LIBNAME_CXX): $(LIBOBJS_CXX)
@echo Building CXX library $@
@$(RM) $@
$(LINK.cc) $@ $(LIBOBJS_CXX) $(CXXLDLIBS)
$(LINK.cc) $@ $(LIBOBJS_CXX) $(LDLIBS)
$(INSTALL_BIN)/%: %
@echo "Installing $@"
@$(INSTALL) -m 555 $< $(INSTALL_BIN)
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
$(INSTALL_BIN)/%: ../%
@echo "Installing $@"
@$(INSTALL) -m 555 $< $(INSTALL_BIN)
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
#
# avoid confusing circular dependency message when
@@ -224,43 +239,52 @@ $(INSTALL_BIN)/%: ../%
#
ifneq ($(INSTALL_BIN),$(EPICS_BASE_BIN))
$(INSTALL_BIN)/%: $(EPICS_BASE_BIN)/%
@echo "Installing $@"
@$(INSTALL) -m 555 $< $(INSTALL_BIN)
@echo "Installing $@ from EPICS base"
@$(INSTALL) -d -m 555 $< $(INSTALL_BIN)
endif
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : %
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(addsuffix /%,$(MAN_DIRECTORY_TARGETS)) : ../%
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: %
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_INCLUDE)/%: ../%
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(@D)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: %
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
@$(INSTALL) -d -m 644 $< $(@D)
$(INSTALL_DOC)/%: ../%
@echo "Installing $@"
@$(INSTALL) -m 644 $< $(INSTALL_DOC)
@$(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
-include DEPENDS
ifneq (,$(wildcard ../baseLIBOBJS))
$(LIBNAME): ../baseLIBOBJS
endif
$(LIBNAME): ../Makefile.Vx
#=====> ???? the following line causes a rebuild every time
#=====> $(LIBNAME): ../Makefile.Vx
$(DBDNAME): ../base.dbd $(RECTYPES:%.h=../%.dbd)

View File

@@ -1,56 +0,0 @@
#RULES.ioc
ifndef WIN32
APPDIR := $(shell grep '.*".*App/' st.* | sed -e 's/.*"\(.*App\).*/\1/' | sort -u )
endif
ASCF = $(TOP)/../ascf
TARGETBIN = $(TOP)/bin/$(ARCH)
ARCHS = $(BUILD_ARCHS) host cross
ACTIONS += clean inc depends buildInstall build
actionArchTargets = $(foreach action, $(ACTIONS) install,\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
all install :: inc buildInstall
buildInstall: makelinks
inc build depends:
makelinks:
ifndef WIN32
@$(RM) ascf bin vxWorks vxWorks.sym dbd share $(APPDIR)
ln -s $(ASCF) ascf
ln -s $(TARGETBIN) bin
ln -s $(TARGETBIN)/vxWorks vxWorks
ln -s $(TARGETBIN)/vxWorks.sym vxWorks.sym
ln -s $(TOP)/dbd dbd
ln -s $(SHARE) share
@for dir in $(APPDIR) scum ; do \
if [ $$dir = scum ]; then \
: ; \
elif [ -d $(TOP)/$$dir ]; then \
ln -s $(TOP)/$$dir $$dir ; \
echo "ln -s $(TOP)/$$dir $$dir" ; \
elif [ -d $(MASTER_IOCAPPS)/$$dir ]; then \
ln -s $(MASTER_IOCAPPS)/$$dir $$dir ; \
echo "ln -s $(MASTER_IOCAPPS)/$$dir $$dir" ; \
else \
echo "$$dir not found" ; \
fi ; \
done
endif
clean::
@$(RM) ascf bin vxWorks vxWorks.sym dbd share $(APPDIR)
$(actionArchTargets) :%:
$(MAKE) $(word 1, $(subst $(DIVIDER), ,$@))
$(ARCHS):%: install
.PHONY :: $(ARCHS) $(ACTIONS)
.PHONY :: $(actionArchTargets)

View File

@@ -2,7 +2,7 @@
# $Id$
#
# EPICS RULES_ARCH
# by Matthew Needes and Mike Bordua and Janet Andersoni and Jeff Hill
# by Matthew Needes and Mike Bordua and Janet Anderson and Jeff Hill
#
all:: install
@@ -23,12 +23,12 @@ archPart = $(word 2, $(subst $(DIVIDER), ,$@))
hostArchs = $(HOST_ARCH)
hostActionArchTargets = $(foreach x, $(ACTIONS),\
$(foreach arch,$(hostArchs), $(x)$(DIVIDER)$(arch)))
ifeq (Makefile.$(BUILD_TYPE), $(wildcard Makefile.$(BUILD_TYPE)))
ifeq (Makefile.Host, $(wildcard Makefile.Host))
hostDirs = $(addprefix O.,$(hostArchs))
$(hostActionArchTargets) : $(hostDirs)
$(MAKE) -C O.$(archPart) -f ../Makefile.$(BUILD_TYPE) T_A=$(archPart) $(actionPart)
$(MAKE) -C O.$(archPart) -f ../Makefile.Host T_A=$(archPart) BUILD_TYPE=Host $(actionPart)
$(hostArchs) : % : O.%
$(MAKE) -C O.$@ -f ../Makefile.$(BUILD_TYPE) T_A=$@
$(MAKE) -C O.$@ -f ../Makefile.Host T_A=$@ BUILD_TYPE=Host
else
$(hostActionArchTargets) :
$(hostArchs) :
@@ -43,24 +43,24 @@ crossActionArchTargets = $(foreach x, $(ACTIONS), \
ifeq (Makefile.Vx, $(wildcard Makefile.Vx))
crossDirs = $(addprefix O.,$(crossArchs))
$(crossActionArchTargets) : $(crossDirs)
$(MAKE) -C O.$(archPart) -f ../Makefile.Vx T_A=$(archPart) $(actionPart)
$(MAKE) -C O.$(archPart) -f ../Makefile.Vx T_A=$(archPart) BUILD_TYPE=Vx $(actionPart)
$(crossArchs) : % : O.%
$(MAKE) -C O.$@ -f ../Makefile.Vx T_A=$@
$(MAKE) -C O.$@ -f ../Makefile.Vx T_A=$@ BUILD_TYPE=Vx
else
$(crossActionArchTargets) :
$(crossArchs) :
endif
$(hostDirs) :
$(PERL) $(EPICS_BASE)/config/makeMakefile.pl $@ $(BUILD_TYPE)
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Host
$(crossDirs) :
$(PERL) $(EPICS_BASE)/config/makeMakefile.pl $@ Vx
$(PERL) $(EPICS_BASE_HOST_BIN)/makeMakefile.pl $@ Vx
#
# host/cross action targets
#
$(ACTIONS) : % : %$(DIVIDER)host %$(DIVIDER)cross
$(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))
@@ -76,7 +76,7 @@ cross : $(crossArchs)
#
# special clean rule
#
clean :
clean ::
$(RMDIR) $(hostDirs) $(crossDirs)
clean$(DIVIDER)% :
$(RMDIR) O.$*

View File

@@ -23,18 +23,20 @@ actionArchTargets = $(foreach action, $(ACTIONS) install,\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
installArchTargets = $(foreach action, install,\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
all install :: inc buildInstall
rebuild:: clean all
$(ARCHS) $(installArchTargets) :: inc
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
$(MAKE) -C $(dirPart) $(actionArchPart)
$(ARCHS) $(installArchTargets) :%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)inc) \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
$(ACTIONS) $(actionArchTargets) :%: \
$(ARCHS) $(ACTIONS) $(actionArchTargets) ::%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
@@ -43,4 +45,6 @@ $(ACTIONS) $(actionArchTargets) :%: \
.PHONY :: $(dirActionTargets) $(dirArchTargets)
.PHONY :: $(dirActionArchTargets)
.PHONY :: $(actionArchTargets)
.PHONY :: $(installArchTargets)

View File

@@ -5,46 +5,46 @@
include $(TOP)/config/RULES_DIRS
uninstall$(DIVIDER)%::
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* \
$(INSTALL_LOCATION)/dbd $(INSTALL_MAN) $(INSTALL_INCLUDE) \
$(INSTALL_DOC) $(INSTALL_DBD) $(INSTALL_TEMPLATES)
@$(RMDIR) rec.bak rec
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* \
$(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) \
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES)
uninstall:: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
tar:
@DIRNAME=$(notdir $(shell pwd)); \
echo "TOP: Creating $$DIRNAME.Tar file..."; \
ls Makefile* | xargs tar vcf $$DIRNAME.Tar; \
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 ; \
ls .current_rel_hist | xargs tar vrf $$DIRNAME.tar ; \
fi ;\
if [ -f EPICS_BASE ]; then \
ls EPICS_BASE | xargs tar vrf $$DIRNAME.Tar ; \
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; \
| 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 " 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 " 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 " 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
@echo " xxxRecord.o"
.PHONY :: uninstall tar help
.PHONY :: $(addprefix uninstall$(DIVIDER), $(BUILDARCHS))

View File

@@ -4,28 +4,25 @@
# Sample Makefile.Host showing all possible entries
# that are allowed using RULES.Host.
#
# 8-01-96 -kuk-
#
#
TOP = ../../..
include $(TOP)/config/CONFIG_BASE
CMPLR = STRICT
# Add-on CFLAGS that are needed in this subproject.
# Add-on CFLAGS that are needed by this Makefile.
# (If possible, all system specific flags should be
# defined in CONFIG.$(ARCH_CLASS))
# defined in CONFIG.Host.$(ARCH_CLASS))
#
# Whenever possible, ONLY USR_CFLAGS should be
# used. If you need special flags for your system,
# try to put them in CONFIG.YourSystem!
# 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
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'
USR_CFLAGS_BSD = -DVERSION='Berkeley enhanced'
# ..only for WIN32:
USR_CFLAGS_WIN32 := -DVERSION='WIN32 port'
USR_CFLAGS_WIN32 = -DVERSION='WIN32 port'
#
# -nil- is special:
# if USR_CFLAGS_SYSV was undefined or empty, .._DEFAULT would have
@@ -33,13 +30,14 @@ USR_CFLAGS_WIN32 := -DVERSION='WIN32 port'
# 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-
USR_CFLAGS_SYSV = -nil-
# .. for all other arch classes:
USR_CFLAGS_DEFAULT := -DVERSION='generic Unix'
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 = -DIN_A_FILE
a_file_CFLAGS_WIN32 = -DVERSION='WIN32 port'
# ---------------------------------------------------------
# general rule for all .c .cc .h .hh files and scripts:
@@ -54,15 +52,15 @@ a_file_CFLAGS := -DIN_A_FILE
# ---------------------------------------------------------
# includes to install from this sub-project
# 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
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
@@ -84,36 +82,26 @@ INC := file.h
# .
# 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-
# Type of library to build.
# On WIN32, SHARED results in a DLL, others may ignore this.
LIBTYPE:=SHARED
# Ugly but necessary for WIN32:
# If LIBRARY is build as a dll, it may need other libraries
# to link with that you specify here.
# (because a dll is similar to a program:
# all references have to be resolved)
#
# If there is a file ../$(LIBRARY).def, it will
# be used as the dll-def-file on WIN32
#
# We need this flag because
# 1) you may not use a def file ('proper' code needs no def files)
# 2) you may have one and still not want a DLL (for testing etc.)
#
DLL_LIBS:=some_dll
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
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)
@@ -122,63 +110,73 @@ LIBRARY:=libname
# if SRCS is undefined, it defaults to $(PROD).c
SRCS=a.c b.c c.c
# libs needed to link PROD and TESTPROD
# 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
PROD_LIBS = Com Ca
# for most systems:
PROD_LIBS_DEFAULT := mathlib
PROD_LIBS_WIN32 := -nil-
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
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
SCRIPTS_DEFAULT = script_for_rest
SCRIPTS_WIN32 = script_only_for_WIN32
SCRIPTS_BSD = script_only_for_BSD
SCRIPTS = script
# uncomment if you want to build these locally without installing:
# if you want to build products locally without installing:
# TESTPROD = test
# Unfortunately the above allows you only to
# 1) build one PROD:=p from many SRCS:=a.c b.c c.c
# or
# 2) build many PROD:=a b c each from a single source (a.c, b.c, c.c)
#
# If you have several multi-source products in the same dir
# you have to fall back to explicit rules.
# (suggestions for a better syntax welcome!)
#
# The explicit rules, however, should look like the following:
# be careful if you add rules and dependencies:
# use $(MV) $(RM) $(CP) $(MKDIR) $(RMDIR) $(OBJ) $(EXE) $(LINK.c) ....
xxxxx$(OBJ): c1.c c2.c h1.h
# because the output-flag (mostly '-o $@' on Unix, '-Fe$@' on WIN32)
# is also system dependend, it's included in $(LINK.c) and $(LINK.cc) !
#
prog$(EXE): a$(OBJ) b$(OBJ)
$(LINK.c) a$(OBJ) b$(OBJ) $(LDLIBS)
clean::
$(RM) dbLex.c
# put all definitions before the following include line
# put all rules after the following include line
include $(TOP)/config/RULES.Host

View File

@@ -1,7 +1,7 @@
TOP = ../../..
include $(TOP)/config/CONFIG_BASE
USR_CFLAGS = -D_NO_PROTO
USR_CFLAGS += -D_NO_PROTO
INC := asDbLib.h asLib.h

View File

@@ -5,53 +5,19 @@
COPYRIGHT NOTIFICATION
*****************************************************************
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
AND IN ALL SOURCE LISTINGS OF THE CODE.
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
Argonne National Laboratory (ANL), with facilities in the States of
Illinois and Idaho, is owned by the United States Government, and
operated by the University of Chicago under provision of a contract
with the Department of Energy.
Portions of this material resulted from work developed under a U.S.
Government contract and are subject to the following license: For
a period of five years from March 30, 1993, the Government is
granted for itself and others acting on its behalf a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform
publicly and display publicly. With the approval of DOE, this
period may be renewed for two additional five year periods.
Following the expiration of this period or periods, the Government
is granted for itself and others acting on its behalf, a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, distribute copies
to the public, perform publicly and display publicly, and to permit
others to do so.
*****************************************************************
DISCLAIMER
*****************************************************************
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
OWNED RIGHTS.
*****************************************************************
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
This software was developed under a United States Government license
described on the COPYRIGHT_UniversityOfChicago file included as part
of this distribution.
**********************************************************************/
/*
*
* Modification Log:
* -----------------
* .01 03-22-94 mrk Initial Implementation
*/
/*This module is separate from asDbLib because CA uses old database access*/
#include <vxWorks.h>
#include <taskLib.h>
@@ -59,96 +25,105 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <dbDefs.h>
#include <taskwd.h>
#include <asDbLib.h>
#include <cadef.h>
#include <caerr.h>
#include <caeventmask.h>
#include <task_params.h>
#include <alarm.h>
#include <semLib.h>
#include "dbDefs.h"
#include "errlog.h"
#include "taskwd.h"
#include "asDbLib.h"
#include "cadef.h"
#include "caerr.h"
#include "caeventmask.h"
#include "task_params.h"
#include "alarm.h"
int asCaDebug = 0;
extern ASBASE volatile *pasbase;
LOCAL int firstTime = TRUE;
LOCAL int taskid=0;
LOCAL int caInitializing=FALSE;
extern ASBASE *pasbase;
LOCAL SEM_ID asCaTaskLock; /*lock access to task */
LOCAL SEM_ID asCaTaskWait; /*Wait for task to respond*/
LOCAL SEM_ID asCaTaskAddChannels; /*Tell asCaTask to add channels*/
LOCAL SEM_ID asCaTaskClearChannels; /*Tell asCaTask to clear channels*/
typedef struct {
struct dbr_sts_double rtndata;
chid chid;
evid evid;
} CAPVT;
LOCAL void accessRightsCallback(struct access_rights_handler_args arha)
/*connectCallback only handles disconnects*/
LOCAL void connectCallback(struct connection_handler_args arg)
{
chid chid = arha.chid;
ASGINP *pasginp;
ASG *pasg;
CAPVT *pcapvt;
int Ilocked=FALSE;
chid chid = arg.chid;
ASGINP *pasginp = (ASGINP *)ca_puser(chid);
ASG *pasg = pasginp->pasg;
if(!caInitializing) {
FASTLOCK(&asLock);
Ilocked = TRUE;
}
pasginp = (ASGINP *)ca_puser(chid);
pasg = (ASG *)pasginp->pasg;
pcapvt = pasginp->capvt;
if(!ca_read_access(chid)) {
pasg->inpBad |= (1<<pasginp->inpIndex);
if(!caInitializing) asComputeAsg(pasg);
} /*eventCallback will set inpBad false*/
if(Ilocked) FASTUNLOCK(&asLock);
}
LOCAL void connectCallback(struct connection_handler_args cha)
{
chid chid = cha.chid;
ASGINP *pasginp;
ASG *pasg;
CAPVT *pcapvt;
int Ilocked=FALSE;
if(!caInitializing) {
FASTLOCK(&asLock);
Ilocked = TRUE;
}
pasginp = (ASGINP *)ca_puser(chid);
pasg = (ASG *)pasginp->pasg;
pcapvt = pasginp->capvt;
if(ca_state(chid)!=cs_conn) {
pasg->inpBad |= (1<<pasginp->inpIndex);
if(!caInitializing) asComputeAsg(pasg);
} /*eventCallback will set inpBad false*/
if(Ilocked) FASTUNLOCK(&asLock);
}
LOCAL void eventCallback(struct event_handler_args eha)
{
ASGINP *pasginp;
CAPVT *pcapvt;
ASG *pasg;
READONLY struct dbr_sts_double *pdata = eha.dbr;
int Ilocked=FALSE;
if(!caInitializing) {
FASTLOCK(&asLock);
Ilocked = TRUE;
}
pasginp = (ASGINP *)eha.usr;
pcapvt = (CAPVT *)pasginp->capvt;
if(ca_read_access(pcapvt->chid)) {
pasg = (ASG *)pasginp->pasg;
pcapvt->rtndata = *pdata; /*structure copy*/
if(pdata->severity==INVALID_ALARM) {
if(!(pasg->inpBad & (1<<pasginp->inpIndex))) {
/*was good so lets make it bad*/
pasg->inpBad |= (1<<pasginp->inpIndex);
} else {
pasg->inpBad &= ~((1<<pasginp->inpIndex));
pasg->pavalue[pasginp->inpIndex] = pdata->value;
if(!caInitializing) asComputeAsg(pasg);
if(asCaDebug) printf("as connectCallback disconnect %s\n",
ca_name(chid));
}
pasg->inpChanged |= (1<<pasginp->inpIndex);
if(!caInitializing) asComputeAsg(pasg);
}
if(Ilocked) FASTUNLOCK(&asLock);
}
LOCAL void eventCallback(struct event_handler_args arg)
{
int caStatus = arg.status;
chid chid = arg.chid;
ASGINP *pasginp = (ASGINP *)arg.usr;
ASG *pasg;
CAPVT *pcapvt;
READONLY struct dbr_sts_double *pdata;
if(caStatus!=ECA_NORMAL) {
if(chid) {
epicsPrintf("asCa: eventCallback error %s channel %s\n",
ca_message(caStatus),ca_name(chid));
} else {
epicsPrintf("asCa: eventCallback error %s chid is null\n",
ca_message(caStatus));
}
return;
}
pasg = pasginp->pasg;
pcapvt = (CAPVT *)pasginp->capvt;
if(chid!=pcapvt->chid) {
epicsPrintf("asCa: eventCallback error pcapvt->chid != arg.chid\n");
return;
}
if(ca_state(chid)!=cs_conn || !ca_read_access(chid)) {
if(!(pasg->inpBad & (1<<pasginp->inpIndex))) {
/*was good so lets make it bad*/
pasg->inpBad |= (1<<pasginp->inpIndex);
if(!caInitializing) asComputeAsg(pasg);
if(asCaDebug) {
printf("as eventCallback %s inpBad ca_state %d"
" ca_read_access %d\n",
ca_name(chid),ca_state(chid),ca_read_access(chid));
}
}
return;
}
pdata = arg.dbr;
pcapvt->rtndata = *pdata; /*structure copy*/
if(pdata->severity==INVALID_ALARM) {
pasg->inpBad |= (1<<pasginp->inpIndex);
if(asCaDebug)
printf("as eventCallback %s inpBad because INVALID_ALARM\n",
ca_name(chid));
} else {
pasg->inpBad &= ~((1<<pasginp->inpIndex));
pasg->pavalue[pasginp->inpIndex] = pdata->value;
if(asCaDebug)
printf("as eventCallback %s inpGood data %f\n",
ca_name(chid),pdata->value);
}
pasg->inpChanged |= (1<<pasginp->inpIndex);
if(!caInitializing) asComputeAsg(pasg);
}
LOCAL void asCaTask(void)
@@ -156,69 +131,106 @@ LOCAL void asCaTask(void)
ASG *pasg;
ASGINP *pasginp;
CAPVT *pcapvt;
int status;
taskwdInsert(taskIdSelf(),NULL,NULL);
SEVCHK(ca_task_initialize(),"ca_task_initialize");
caInitializing = TRUE;
FASTLOCK(&asLock);
pasg = (ASG *)ellFirst(&pasbase->asgList);
while(pasg) {
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
while(pasginp) {
pasg->inpBad |= (1<<pasginp->inpIndex);
pcapvt = pasginp->capvt = asCalloc(1,sizeof(CAPVT));
/*Note calls connectCallback immediately called for local Pvs*/
SEVCHK(ca_search_and_connect(pasginp->inp,&pcapvt->chid,
connectCallback,pasginp),"ca_build_and_connect");
/*Note calls accessRightsCallback immediately called for local Pvs*/
SEVCHK(ca_replace_access_rights_event(pcapvt->chid,accessRightsCallback),
"ca_replace_access_rights_event");
/*Note calls eventCallback immediately called for local Pvs*/
SEVCHK(ca_add_event(DBR_STS_DOUBLE,pcapvt->chid,
eventCallback,pasginp,&pcapvt->evid),
"ca_add_event");
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
while(TRUE) {
if(semTake(asCaTaskAddChannels,WAIT_FOREVER)!=OK) {
epicsPrintf("asCa semTake error for asCaTaskClearChannels\n");
taskSuspend(0);
}
pasg = (ASG *)ellNext((ELLNODE *)pasg);
caInitializing = TRUE;
pasg = (ASG *)ellFirst(&pasbase->asgList);
while(pasg) {
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
while(pasginp) {
pasg->inpBad |= (1<<pasginp->inpIndex);
pcapvt = pasginp->capvt = asCalloc(1,sizeof(CAPVT));
/*Note calls connectCallback immediately for local Pvs*/
status = ca_search_and_connect(pasginp->inp,&pcapvt->chid,
connectCallback,pasginp);
if(status!=ECA_NORMAL) {
epicsPrintf("asCa ca_search_and_connect error %s\n",
ca_message(status));
}
/*Note calls eventCallback immediately for local Pvs*/
status = ca_add_event(DBR_STS_DOUBLE,pcapvt->chid,
eventCallback,pasginp,0);
if(status!=ECA_NORMAL) {
epicsPrintf("asCa ca_add_event error %s\n",
ca_message(status));
}
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
}
pasg = (ASG *)ellNext((ELLNODE *)pasg);
}
asComputeAllAsg();
caInitializing = FALSE;
if(asCaDebug) printf("asCaTask initialized\n");
semGive(asCaTaskWait);
while(TRUE) {
if(semTake(asCaTaskClearChannels,NO_WAIT)==OK) break;
ca_pend_event(2.0);
}
pasg = (ASG *)ellFirst(&pasbase->asgList);
while(pasg) {
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
while(pasginp) {
pcapvt = (CAPVT *)pasginp->capvt;
status = ca_clear_channel(pcapvt->chid);
if(status!=ECA_NORMAL) {
epicsPrintf("asCa ca_clear_channel error %s\n",
ca_message(status));
}
free(pasginp->capvt);
pasginp->capvt = 0;
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
}
pasg = (ASG *)ellNext((ELLNODE *)pasg);
}
if(asCaDebug) printf("asCaTask has cleared all channels\n");
semGive(asCaTaskWait);
}
asComputeAllAsg();
caInitializing = FALSE;
FASTUNLOCK(&asLock);
SEVCHK(ca_pend_event(0.0),"ca_pend_event");
exit(-1);
}
void asCaStart(void)
{
taskid = taskSpawn("asCaTask",CA_CLIENT_PRI-1,VX_FP_TASK,CA_CLIENT_STACK,
(FUNCPTR)asCaTask,0,0,0,0,0,0,0,0,0,0);
if(taskid==ERROR) {
errMessage(0,"asCaStart: taskSpawn Failure\n");
} else {
taskDelay(1);
if(asCaDebug) printf("asCaStart called\n");
if(firstTime) {
firstTime = FALSE;
if((asCaTaskLock=semBCreate(SEM_Q_FIFO,SEM_FULL))==NULL)
epicsPrintf("asCa semBCreate failure\n");
if((asCaTaskWait=semBCreate(SEM_Q_FIFO,SEM_EMPTY))==NULL)
epicsPrintf("asCa semBCreate failure\n");
if((asCaTaskAddChannels=semBCreate(SEM_Q_FIFO,SEM_EMPTY))==NULL)
epicsPrintf("asCa semBCreate failure\n");
if((asCaTaskClearChannels=semBCreate(SEM_Q_FIFO,SEM_EMPTY))==NULL)
epicsPrintf("asCa semBCreate failure\n");
taskid = taskSpawn("asCaTask",CA_CLIENT_PRI-1,VX_FP_TASK,
CA_CLIENT_STACK, (FUNCPTR)asCaTask,0,0,0,0,0,0,0,0,0,0);
if(taskid==ERROR) {
errMessage(0,"asCaStart: taskSpawn Failure\n");
}
}
if(semTake(asCaTaskLock,WAIT_FOREVER)!=OK)
epicsPrintf("asCa semTake error\n");
semGive(asCaTaskAddChannels);
if(semTake(asCaTaskWait,WAIT_FOREVER)!=OK)
epicsPrintf("asCa semTake error\n");
if(asCaDebug) printf("asCaStart done\n");
semGive(asCaTaskLock);
}
void asCaStop(void)
{
ASG *pasg;
ASGINP *pasginp;
STATUS status;
if(taskid==0 || taskid==ERROR) return;
taskwdRemove(taskid);
status = taskDelete(taskid);
if(status!=OK) errMessage(0,"asCaStop: taskDelete Failure\n");
while(taskIdVerify(taskid)==OK) {
taskDelay(5);
}
pasg = (ASG *)ellFirst(&pasbase->asgList);
while(pasg) {
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
while(pasginp) {
free(pasginp->capvt);
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
}
pasg = (ASG *)ellNext((ELLNODE *)pasg);
}
if(asCaDebug) printf("asCaStop called\n");
if(semTake(asCaTaskLock,WAIT_FOREVER)!=OK)
epicsPrintf("asCa semTake error\n");
semGive(asCaTaskClearChannels);
if(semTake(asCaTaskWait,WAIT_FOREVER)!=OK)
epicsPrintf("asCa semTake error\n");
if(asCaDebug) printf("asCaStop done\n");
semGive(asCaTaskLock);
}

View File

@@ -5,53 +5,19 @@
COPYRIGHT NOTIFICATION
*****************************************************************
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
AND IN ALL SOURCE LISTINGS OF THE CODE.
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
Argonne National Laboratory (ANL), with facilities in the States of
Illinois and Idaho, is owned by the United States Government, and
operated by the University of Chicago under provision of a contract
with the Department of Energy.
Portions of this material resulted from work developed under a U.S.
Government contract and are subject to the following license: For
a period of five years from March 30, 1993, the Government is
granted for itself and others acting on its behalf a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform
publicly and display publicly. With the approval of DOE, this
period may be renewed for two additional five year periods.
Following the expiration of this period or periods, the Government
is granted for itself and others acting on its behalf, a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, distribute copies
to the public, perform publicly and display publicly, and to permit
others to do so.
This software was developed under a United States Government license
described on the COPYRIGHT_UniversityOfChicago file included as part
of this distribution.
**********************************************************************/
*****************************************************************
DISCLAIMER
*****************************************************************
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
OWNED RIGHTS.
*****************************************************************
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
*
/*
* Modification Log:
* -----------------
* .01 02-11-94 mrk Initial Implementation
*/
#include <vxWorks.h>
#include <taskLib.h>
#include <stdlib.h>
@@ -59,46 +25,27 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <stdio.h>
#include <string.h>
#include <dbDefs.h>
#include <taskwd.h>
#include <alarm.h>
#include <caeventmask.h>
#include <dbStaticLib.h>
#include <dbAccess.h>
#include <dbEvent.h>
#include <asLib.h>
#include <asDbLib.h>
#include <dbCommon.h>
#include <recSup.h>
#include <subRecord.h>
#include <task_params.h>
#include "dbDefs.h"
#include "errlog.h"
#include "taskwd.h"
#include "alarm.h"
#include "caeventmask.h"
#include "dbStaticLib.h"
#include "dbAccess.h"
#include "dbEvent.h"
#include "asLib.h"
#include "asDbLib.h"
#include "dbCommon.h"
#include "recSup.h"
#include "subRecord.h"
#include "task_params.h"
extern struct dbBase *pdbbase;
static FILE *stream;
#define BUF_SIZE 100
FAST_LOCK asLock;
static char *my_buffer;
static char *my_buffer_ptr=NULL;
static char *pacf=NULL;
static int asLockInit=TRUE;
static char *psubstitutions=NULL;
static int initTaskId=0;
static int my_yyinput(char *buf, int max_size)
{
int l,n;
if(*my_buffer_ptr==0) {
if(fgets(my_buffer,BUF_SIZE,stream)==NULL) return(0);
my_buffer_ptr = my_buffer;
}
l = strlen(my_buffer_ptr);
n = (l<=max_size ? l : max_size);
memcpy(buf,my_buffer_ptr,n);
my_buffer_ptr += n;
return(n);
}
static int firstTime = TRUE;
static long asDbAddRecords(void)
{
@@ -128,11 +75,6 @@ static long asDbAddRecords(void)
int asSetFilename(char *acf)
{
if(asLockInit) {
FASTLOCKINIT(&asLock);
asLockInit = FALSE;
}
FASTLOCK(&asLock);
if(pacf) free ((void *)pacf);
if(acf) {
pacf = calloc(1,strlen(acf)+1);
@@ -144,41 +86,46 @@ int asSetFilename(char *acf)
} else {
pacf = NULL;
}
FASTUNLOCK(&asLock);
return(0);
}
int asSetSubstitutions(char *substitutions)
{
if(psubstitutions) free ((void *)psubstitutions);
if(substitutions) {
psubstitutions = calloc(1,strlen(substitutions)+1);
if(!psubstitutions) {
errMessage(0,"asSetSubstitutions calloc failure");
} else {
strcpy(psubstitutions,substitutions);
}
} else {
psubstitutions = NULL;
}
return(0);
}
static long asInitCommon(void)
{
long status;
char buffer[BUF_SIZE];
int asWasActive = asActive;
if(asLockInit) {
FASTLOCKINIT(&asLock);
asLockInit = FALSE;
if(firstTime) {
firstTime = FALSE;
if(!pacf) return(0); /*access security will NEVER be turned on*/
} else {
if(!asActive) return(S_asLib_asNotActive);
if(pacf) {
asCaStop();
} else { /*Just leave everything as is */
return(S_asLib_badConfig);
}
}
FASTLOCK(&asLock);
if(asActive)asCaStop();
if(!pacf) {
asActive = FALSE;
return(0);
}
buffer[0] = 0;
my_buffer = buffer;
my_buffer_ptr = my_buffer;
stream = fopen(pacf,"r");
if(!stream) {
errMessage(0,"asInit failure");
FASTUNLOCK(&asLock);
return(-1);
}
status = asInitialize(my_yyinput);
if(fclose(stream)==EOF) errMessage(0,"asInit fclose failure");
status = asInitFile(pacf,psubstitutions);
if(asActive) {
asDbAddRecords();
if(!asWasActive) asDbAddRecords();
asCaStart();
}
FASTUNLOCK(&asLock);
return(status);
}
@@ -299,7 +246,7 @@ ASMEMBERPVT asDbGetMemberPvt(void *paddress)
precord = paddr->precord;
return((ASMEMBERPVT)precord->asp);
}
static void astacCallback(ASCLIENTPVT clientPvt,asClientStatus status)
{
char *recordname;
@@ -349,41 +296,31 @@ static void myMemberCallback(ASMEMBERPVT memPvt)
int asdbdump(void)
{
FASTLOCK(&asLock);
asDump(myMemberCallback,NULL,1);
FASTUNLOCK(&asLock);
return(0);
}
int aspuag(char *uagname)
{
FASTLOCK(&asLock);
asDumpUag(uagname);
FASTUNLOCK(&asLock);
return(0);
}
int asphag(char *hagname)
{
FASTLOCK(&asLock);
asDumpHag(hagname);
FASTUNLOCK(&asLock);
return(0);
}
int asprules(char *asgname)
{
FASTLOCK(&asLock);
asDumpRules(asgname);
FASTUNLOCK(&asLock);
return(0);
}
int aspmem(char *asgname,int clients)
{
FASTLOCK(&asLock);
asDumpMem(asgname,myMemberCallback,clients);
FASTUNLOCK(&asLock);
return(0);
}

View File

@@ -5,48 +5,14 @@
COPYRIGHT NOTIFICATION
*****************************************************************
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
AND IN ALL SOURCE LISTINGS OF THE CODE.
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
Argonne National Laboratory (ANL), with facilities in the States of
Illinois and Idaho, is owned by the United States Government, and
operated by the University of Chicago under provision of a contract
with the Department of Energy.
Portions of this material resulted from work developed under a U.S.
Government contract and are subject to the following license: For
a period of five years from March 30, 1993, the Government is
granted for itself and others acting on its behalf a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform
publicly and display publicly. With the approval of DOE, this
period may be renewed for two additional five year periods.
Following the expiration of this period or periods, the Government
is granted for itself and others acting on its behalf, a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, distribute copies
to the public, perform publicly and display publicly, and to permit
others to do so.
This software was developed under a United States Government license
described on the COPYRIGHT_UniversityOfChicago file included as part
of this distribution.
**********************************************************************/
*****************************************************************
DISCLAIMER
*****************************************************************
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
OWNED RIGHTS.
*****************************************************************
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
*
/*
* Modification Log:
* -----------------
* .01 02-23-94 mrk Initial Implementation
@@ -63,6 +29,7 @@ typedef struct {
} ASDBCALLBACK;
int asSetFilename(char *acf);
int asSetSubstitutions(char *substitutions);
int asInit(void);
int asInitAsyn(ASDBCALLBACK *pcallback);
int asDbGetAsl( void *paddr);

View File

@@ -4,48 +4,14 @@
COPYRIGHT NOTIFICATION
*****************************************************************
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
AND IN ALL SOURCE LISTINGS OF THE CODE.
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
Argonne National Laboratory (ANL), with facilities in the States of
Illinois and Idaho, is owned by the United States Government, and
operated by the University of Chicago under provision of a contract
with the Department of Energy.
Portions of this material resulted from work developed under a U.S.
Government contract and are subject to the following license: For
a period of five years from March 30, 1993, the Government is
granted for itself and others acting on its behalf a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform
publicly and display publicly. With the approval of DOE, this
period may be renewed for two additional five year periods.
Following the expiration of this period or periods, the Government
is granted for itself and others acting on its behalf, a paid-up,
nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, distribute copies
to the public, perform publicly and display publicly, and to permit
others to do so.
This software was developed under a United States Government license
described on the COPYRIGHT_UniversityOfChicago file included as part
of this distribution.
**********************************************************************/
*****************************************************************
DISCLAIMER
*****************************************************************
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
OWNED RIGHTS.
*****************************************************************
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
*
/*
* Modification Log:
* -----------------
* .01 09-27-93 mrk Initial Implementation
@@ -55,9 +21,10 @@ DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <errMdef.h>
#include <ellLib.h>
typedef struct asgMember *ASMEMBERPVT;
typedef struct asgClient *ASCLIENTPVT;
typedef int (*ASINPUTFUNCPTR)(char *buf,int max_size);
@@ -65,40 +32,54 @@ typedef enum{
asClientCOAR /*Change of access rights*/
/*For now this is all*/
} asClientStatus;
typedef void (*ASCLIENTCALLBACK) (ASCLIENTPVT,asClientStatus);
/* The following routines are macros with the following syntax
long asCheckGet(ASCLIENTPVT asClientPvt);
long asCheckPut(ASCLIENTPVT asClientPvt);
end of macros
*/
int asInit(void);
long asInitialize(ASINPUTFUNCPTR inputfunction);
#define asCheckGet(asClientPvt)\
(asActive ?\
((asClientPvt)->access>=asREAD ? TRUE : FALSE)\
: TRUE)
#define asCheckPut(asClientPvt)\
(asActive ?\
((asClientPvt)->access>=asWRITE ? TRUE : FALSE)\
: TRUE)
epicsShareFunc int epicsShareAPI asInit(void);
epicsShareFunc long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction);
epicsShareFunc long epicsShareAPI asInitFile(const char *filename,const char *substitutions);
epicsShareFunc long epicsShareAPI asInitFP(FILE *fp,const char *substitutions);
/*caller must provide permanent storage for asgName*/
long asAddMember(ASMEMBERPVT *asMemberPvt,char *asgName);
long asRemoveMember(ASMEMBERPVT *asMemberPvt);
epicsShareFunc long epicsShareAPI asAddMember(ASMEMBERPVT *asMemberPvt,char *asgName);
epicsShareFunc long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt);
/*caller must provide permanent storage for newAsgName*/
long asChangeGroup(ASMEMBERPVT *asMemberPvt,char *newAsgName);
void *asGetMemberPvt(ASMEMBERPVT asMemberPvt);
void asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt);
epicsShareFunc long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,char *newAsgName);
epicsShareFunc void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt);
epicsShareFunc void epicsShareAPI asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt);
/*client must provide permanent storage for user and host*/
long asAddClient(ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt,
epicsShareFunc long epicsShareAPI asAddClient(ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt,
int asl,char *user,char *host);
/*client must provide permanent storage for user and host*/
long asChangeClient(ASCLIENTPVT asClientPvt,int asl,char *user,char *host);
long asRemoveClient(ASCLIENTPVT *asClientPvt);
void *asGetClientPvt(ASCLIENTPVT asClientPvt);
void asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt);
long asRegisterClientCallback(ASCLIENTPVT asClientPvt,
epicsShareFunc long epicsShareAPI asChangeClient(ASCLIENTPVT asClientPvt,int asl,char *user,char *host);
epicsShareFunc long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt);
epicsShareFunc void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt);
epicsShareFunc void epicsShareAPI asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt);
epicsShareFunc long epicsShareAPI asRegisterClientCallback(ASCLIENTPVT asClientPvt,
ASCLIENTCALLBACK pcallback);
long asComputeAllAsg(void);
/*asComputeAsg is defined after ASG is defined*/
long asCompute(ASCLIENTPVT asClientPvt);
int asDump(void (*memcallback)(ASMEMBERPVT),void (*clientcallback)(ASCLIENTPVT),int verbose);
int asDumpUag(char *uagname);
int asDumpHag(char *hagname);
int asDumpRules(char *asgname);
int asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int clients);
int asDumpHash(void);
epicsShareFunc long epicsShareAPI asComputeAllAsg(void);
/* following declared below after ASG is declared
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
*/
epicsShareFunc long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt);
epicsShareFunc int epicsShareAPI asDump(void (*memcallback)(ASMEMBERPVT),
void (*clientcallback)(ASCLIENTPVT),int verbose);
epicsShareFunc int epicsShareAPI asDumpUag(char *uagname);
epicsShareFunc int epicsShareAPI asDumpHag(char *hagname);
epicsShareFunc int epicsShareAPI asDumpRules(char *asgname);
epicsShareFunc int epicsShareAPI asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int clients);
epicsShareFunc int epicsShareAPI asDumpHash(void);
#define S_asLib_clientsExist (M_asLib| 1) /*Client Exists*/
#define S_asLib_noUag (M_asLib| 2) /*User Access Group does not exist*/
@@ -117,11 +98,6 @@ int asDumpHash(void);
/*Private declarations */
#define ASMAXINP 12
#ifdef vxWorks
#include <fast_lock.h>
extern FAST_LOCK asLock;
extern int asLockInit;
#endif
extern int asActive;
/* definition of access rights*/
typedef enum{asNOACCESS,asREAD,asWRITE} asAccessRights;
@@ -180,6 +156,7 @@ typedef struct{
struct asg *pasg;
int inpIndex;
}ASGINP;
typedef struct asg{
ELLNODE node;
char *name;
@@ -207,17 +184,9 @@ typedef struct asgClient {
int level;
asAccessRights access;
} ASGCLIENT;
/* function prototypes*/
void *asCalloc(size_t nobj,size_t size);
long asComputeAsg(ASG *pasg);
/*macros*/
#define asCheckGet(asClientPvt)\
(asActive ?\
((asClientPvt)->access>=asREAD ? TRUE : FALSE)\
: TRUE)
#define asCheckPut(asClientPvt)\
(asActive ?\
((asClientPvt)->access>=asWRITE ? TRUE : FALSE)\
: TRUE)
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
/*following is "friend" function*/
void * asCalloc(size_t nobj,size_t size);
#endif /*INCasLibh*/

View File

@@ -16,7 +16,7 @@ static ASGRULE *yyAsgRule=NULL;
%token tokenUAG tokenHAG tokenASG tokenRULE tokenCALC
%token <Str> tokenINP
%token <Int> tokenINTEGER
%token <Str> tokenNAME tokenPVNAME tokenSTRING
%token <Str> tokenNAME tokenSTRING
%union
{
@@ -42,7 +42,7 @@ asconfig_item: tokenUAG uag_head uag_body
uag_head: '(' tokenNAME ')'
{
yyUag = asUagAdd($2);
if(!yyUag) yyerror($2);
if(!yyUag) yyerror("");
free((void *)$2);
}
;
@@ -63,7 +63,6 @@ uag_user_list_name: tokenNAME
status = asUagAddUser(yyUag,$1);
if(status) {
errMessage(status,"Error while adding UAG");
yyerror($1);
}
free((void *)$1);
@@ -73,7 +72,7 @@ uag_user_list_name: tokenNAME
hag_head: '(' tokenNAME ')'
{
yyHag = asHagAdd($2);
if(!yyHag) yyerror($2);
if(!yyHag) yyerror("");
free((void *)$2);
}
;
@@ -91,8 +90,7 @@ hag_user_list_name: tokenNAME
status = asHagAddHost(yyHag,$1);
if(status) {
errMessage(status,"Error while adding HAG");
yyerror($1);
yyerror("");
}
free((void *)$1);
}
@@ -101,7 +99,7 @@ hag_user_list_name: tokenNAME
asg_head: '(' tokenNAME ')'
{
yyAsg = asAsgAdd($2);
if(!yyAsg) yyerror($2);
if(!yyAsg) yyerror("");
free((void *)$2);
}
;
@@ -122,14 +120,13 @@ inp_config: tokenINP '(' inp_body ')'
status = asAsgAddInp(yyAsg,$<Str>3,$<Int>1);
if(status) {
errMessage(status,"Error while adding INP");
yyerror($1);
yyerror("");
}
free((void *)$<Str>3);
}
;
inp_body: tokenNAME | tokenPVNAME
inp_body: tokenNAME
;
rule_config: tokenRULE rule_head rule_body
@@ -170,8 +167,7 @@ rule_list_item: tokenUAG '(' rule_uag_list ')'
status = asAsgRuleCalc(yyAsgRule,$3);
if(status){
errMessage(status,$3);
yyerror("CALC failure");
yyerror("access security CALC failure");
}
free((void *)$3);
}
@@ -187,8 +183,7 @@ rule_uag_list_name: tokenNAME
status = asAsgRuleUagAdd(yyAsgRule,$1);
if(status) {
errMessage(status,"Error while adding UAG");
yyerror($1);
yyerror("");
}
free((void *)$1);
}
@@ -204,8 +199,7 @@ rule_hag_list_name: tokenNAME
status = asAsgRuleHagAdd(yyAsgRule,$1);
if(status) {
errMessage(status,"Error while adding HAG");
yyerror($1);
yyerror("");
}
free((void *)$1);
}
@@ -217,7 +211,8 @@ rule_hag_list_name: tokenNAME
static int yyerror(str)
char *str;
{
fprintf(stderr,"Error line %d : %s %s\n",line_num,str,yytext);
epicsPrintf("Access Security Error(%s) line %d token %s\n",
str,line_num,yytext);
yyFailed = TRUE;
return(0);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,8 @@
integer [0-9]
name [a-zA-Z0-9_\.]
pvname [a-zA-Z0-9_\-:\.\[\]<>;]
string [a-zA-Z0-9_\,\./\*#\[\]%: ;!|\'\-&\(\)@\?\+<>=\$]
name [a-zA-Z0-9_\-:\.\[\]<>;]
notquote [^\"]
escapequote \\\"
string {notquote}|{escapequote}
%{
static ASINPUTFUNCPTR *my_yyinput;
@@ -35,19 +36,13 @@ INP[A-L] {/* If A-L is changed then ASMAXINP must also be changed*/
return(tokenINTEGER);
}
{name}+ {
{name}+ { /*unquoted string*/
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
strcpy(yylval.Str,yytext);
return(tokenNAME);
}
{pvname}+ {
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
strcpy(yylval.Str,yytext);
return(tokenPVNAME);
}
\"{string}*\" {
\"{string}*\" { /*quoted string*/
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
/* making sure that neither double quote gets passed back */
strcpy(yylval.Str,yytext+1);

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