Compare commits
498 Commits
database-3
...
3.13
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72fdd8bc2e | ||
|
|
414cb8d62c | ||
|
|
e0106fd010 | ||
|
|
0d0aa7de73 | ||
|
|
6285f33fda | ||
|
|
e22fbab104 | ||
|
|
a184041ea0 | ||
|
|
37c1049e47 | ||
|
|
ec9686d945 | ||
|
|
7009ea2784 | ||
|
|
b307ef1746 | ||
|
|
e5461a72b0 | ||
|
|
e54a016e9c | ||
|
|
5dc8213385 | ||
|
|
6ce3e959ee | ||
|
|
731e413fe6 | ||
|
|
f3086ac02f | ||
|
|
bcaa5e05c3 | ||
|
|
43028c644e | ||
|
|
5eabcef78c | ||
|
|
168e33b7b4 | ||
|
|
51a1314f31 | ||
|
|
9fc20984ec | ||
|
|
565ec952fe | ||
|
|
5bbf333ad3 | ||
|
|
9a99e447a8 | ||
|
|
f3dfc7f4e9 | ||
|
|
265597698e | ||
|
|
64d9557d17 | ||
|
|
fcc317ccdf | ||
|
|
15072fb71c | ||
|
|
8828487ee7 | ||
|
|
7304b138a2 | ||
|
|
bff391d85c | ||
|
|
2619a00eee | ||
|
|
459cfe4cc6 | ||
|
|
0dfef26c23 | ||
|
|
eaaeb78f3d | ||
|
|
6f8ff1ea68 | ||
|
|
5942ff01c5 | ||
|
|
13b19bade4 | ||
|
|
57a87ac96d | ||
|
|
0b2771c5f4 | ||
|
|
5f2e18a009 | ||
|
|
16ac672973 | ||
|
|
797f2ae524 | ||
|
|
8004aeb729 | ||
|
|
9835753cb6 | ||
|
|
4e1fd091ea | ||
|
|
7ad5347f7f | ||
|
|
74824c5ff2 | ||
|
|
1bda6aff08 | ||
|
|
461cac2e1d | ||
|
|
081a96160f | ||
|
|
886759cffa | ||
|
|
4abc96759d | ||
|
|
e083f41963 | ||
|
|
04998e378b | ||
|
|
a97876092e | ||
|
|
56c7e2401f | ||
|
|
a1cbc57cc0 | ||
|
|
2a5a175196 | ||
|
|
319328d6fe | ||
|
|
fd16d1bb65 | ||
|
|
21ff7e5613 | ||
|
|
0940a35086 | ||
|
|
f8f2b44c6c | ||
|
|
0e182d8c1a | ||
|
|
4f659b6581 | ||
|
|
bc03c1cca9 | ||
|
|
39cfb6b05a | ||
|
|
9cd9257c4a | ||
|
|
71d1b80224 | ||
|
|
0e47da7e57 | ||
|
|
092746d36a | ||
|
|
d55d54d235 | ||
|
|
2d08f5abac | ||
|
|
54cc4cec31 | ||
|
|
0e0c2c7ac3 | ||
|
|
9d1e7f7da4 | ||
|
|
5a5a0fd0cc | ||
|
|
9805e6a8e9 | ||
|
|
fe55b04449 | ||
|
|
09733655f8 | ||
|
|
9cbf577382 | ||
|
|
94b408425b | ||
|
|
7347132973 | ||
|
|
87c3103022 | ||
|
|
b11d547699 | ||
|
|
73c303192d | ||
|
|
4cb08f797a | ||
|
|
459cdc0829 | ||
|
|
551e87f15d | ||
|
|
e628e95d2c | ||
|
|
68120ccb74 | ||
|
|
47b044d257 | ||
|
|
78ad1feec8 | ||
|
|
ba6b7f6e21 | ||
|
|
5c162ad7c3 | ||
|
|
64fc54cbaa | ||
|
|
a570a5c17f | ||
|
|
0048405ec0 | ||
|
|
c7c74a8aab | ||
|
|
e1bfd021c1 | ||
|
|
ec827cb25f | ||
|
|
b1dc7d2848 | ||
|
|
1994e47492 | ||
|
|
ef610d2784 | ||
|
|
7a85d0f66c | ||
|
|
432d454e28 | ||
|
|
ebfd8538bc | ||
|
|
d6be272269 | ||
|
|
f3ee15a96b | ||
|
|
f690464dc0 | ||
|
|
3b1c83ed6b | ||
|
|
70d8342312 | ||
|
|
71e3ea1a07 | ||
|
|
1450bdd32d | ||
|
|
92b552bf52 | ||
|
|
948d3e5f15 | ||
|
|
5547db3bf0 | ||
|
|
91755f9cfd | ||
|
|
95670b8dc5 | ||
|
|
b8ceff8342 | ||
|
|
0e268963b7 | ||
|
|
2c9f78350a | ||
|
|
b18f2118f2 | ||
|
|
9794d68fcb | ||
|
|
f33b1d6989 | ||
|
|
a335ff38a2 | ||
|
|
c4f2c23246 | ||
|
|
34b24889cc | ||
|
|
4f383d1bca | ||
|
|
9257e2b295 | ||
|
|
c66e10e725 | ||
|
|
5b2af16fad | ||
|
|
fd289990db | ||
|
|
5600501e7b | ||
|
|
01f16118ac | ||
|
|
e68384b7e2 | ||
|
|
325548b80f | ||
|
|
b8600aab3e | ||
|
|
fc39d4f879 | ||
|
|
9800be7c04 | ||
|
|
7b250b9ec9 | ||
|
|
7aa6a39955 | ||
|
|
1a59789871 | ||
|
|
522e46036d | ||
|
|
053cfb39df | ||
|
|
8195098e49 | ||
|
|
2ad833fd1f | ||
|
|
69d504a657 | ||
|
|
d5c5baad83 | ||
|
|
795cb4c46d | ||
|
|
5d8742632b | ||
|
|
979ce1be90 | ||
|
|
5c3da28b5e | ||
|
|
e3f52845d0 | ||
|
|
2bd00b3e41 | ||
|
|
06a0fa1708 | ||
|
|
3c76d41b70 | ||
|
|
ad81dee1a1 | ||
|
|
a4ca46b051 | ||
|
|
b94329db3f | ||
|
|
6d427b7b8b | ||
|
|
5aff3b2d44 | ||
|
|
9ada9d9630 | ||
|
|
2cbee21119 | ||
|
|
cd6f33ef27 | ||
|
|
4434ba4d6e | ||
|
|
69ffb18e7a | ||
|
|
347fed2bad | ||
|
|
365243a2b0 | ||
|
|
355d2b0f42 | ||
|
|
6a663c83c5 | ||
|
|
57476bb56a | ||
|
|
b99c4d2f6c | ||
|
|
ca76aa0524 | ||
|
|
dcf48cea38 | ||
|
|
a2fad6e62e | ||
|
|
2054e9299a | ||
|
|
6a3ddb3076 | ||
|
|
094a79fcd0 | ||
|
|
a29cf1b411 | ||
|
|
36a977becd | ||
|
|
73f35c8167 | ||
|
|
47bbac99ce | ||
|
|
e6850d62db | ||
|
|
567b220ea7 | ||
|
|
ab090ce4ea | ||
|
|
b8553b00d8 | ||
|
|
27f82a6284 | ||
|
|
af570b2b23 | ||
|
|
87bfe60ee7 | ||
|
|
a778863602 | ||
|
|
3916d4e459 | ||
|
|
aecaf46c53 | ||
|
|
a33f03c6ea | ||
|
|
866a410f23 | ||
|
|
f67bdb4668 | ||
|
|
8973bbdc3a | ||
|
|
0fb4075a62 | ||
|
|
bedbab8965 | ||
|
|
a82f4c4c43 | ||
|
|
3ee0ea750a | ||
|
|
717384dbdb | ||
|
|
a06a26bf2d | ||
|
|
34e5e5432b | ||
|
|
cc5791cbbd | ||
|
|
fb22efdc54 | ||
|
|
b74047a296 | ||
|
|
e573033c7e | ||
|
|
d121fb00a7 | ||
|
|
b9b5e7f826 | ||
|
|
2582f37da0 | ||
|
|
e1c108b14a | ||
|
|
fbf3e7630a | ||
|
|
2d298e60c2 | ||
|
|
fbabce651f | ||
|
|
ea1d5039e8 | ||
|
|
64cbf3ce00 | ||
|
|
9a99bb114f | ||
|
|
a6a395861e | ||
|
|
804f240d05 | ||
|
|
8a477f7f95 | ||
|
|
8a93905515 | ||
|
|
d401dcdfab | ||
|
|
d56ca7f02e | ||
|
|
b1725b380b | ||
|
|
70d0303f78 | ||
|
|
5a83c766e8 | ||
|
|
f3b833912f | ||
|
|
bdc546a8c3 | ||
|
|
c02d807a3d | ||
|
|
5cba098b1b | ||
|
|
ed5d521400 | ||
|
|
360fca950d | ||
|
|
511e0f3ed6 | ||
|
|
1959f42c41 | ||
|
|
f1d8472118 | ||
|
|
8d4adef787 | ||
|
|
560e9d5bf2 | ||
|
|
3eaa0b0e9c | ||
|
|
c78c305dde | ||
|
|
def5fcf7c2 | ||
|
|
c4a14a940d | ||
|
|
9d4540bf96 | ||
|
|
55422049a5 | ||
|
|
41263e4136 | ||
|
|
631f522d75 | ||
|
|
006c7eda64 | ||
|
|
83420814a0 | ||
|
|
ef15667182 | ||
|
|
405fff7f58 | ||
|
|
54fee9f016 | ||
|
|
9e451e8f32 | ||
|
|
11fb4abef3 | ||
|
|
6a8ad88933 | ||
|
|
7e9882e62d | ||
|
|
50e67354ce | ||
|
|
bfb770040e | ||
|
|
a7cbe6320c | ||
|
|
930f5d64ec | ||
|
|
adb2d574a3 | ||
|
|
9875370d92 | ||
|
|
558e7a3947 | ||
|
|
3a74d55e6c | ||
|
|
cd0cf5f214 | ||
|
|
4aa81c5344 | ||
|
|
55a9e3b202 | ||
|
|
cf08dffbe3 | ||
|
|
83e5824c82 | ||
|
|
b4a3060bcc | ||
|
|
359cac2a7a | ||
|
|
932ee82378 | ||
|
|
54f8c4b16e | ||
|
|
c869181371 | ||
|
|
e9a73b4672 | ||
|
|
4810331f30 | ||
|
|
a45cccca31 | ||
|
|
dec31ae490 | ||
|
|
af758921ca | ||
|
|
f26211bc90 | ||
|
|
4c4eeee2d1 | ||
|
|
ff21da6b48 | ||
|
|
743edfea17 | ||
|
|
d030dc6c79 | ||
|
|
602510cef7 | ||
|
|
f04f56750a | ||
|
|
9b6d834852 | ||
|
|
443228c030 | ||
|
|
1782f96fdf | ||
|
|
ecfc4209a5 | ||
|
|
9392890198 | ||
|
|
07d184b7cf | ||
|
|
703c3a838f | ||
|
|
1fca6cb348 | ||
|
|
983ec9605c | ||
|
|
8289ea132c | ||
|
|
5d19a030a8 | ||
|
|
105f1107f1 | ||
|
|
c83434b82a | ||
|
|
a1d0bfda5a | ||
|
|
d0f57e2c5b | ||
|
|
e0444c15cf | ||
|
|
20b4796d5b | ||
|
|
1c546579c0 | ||
|
|
97e0200a96 | ||
|
|
bfead72b3f | ||
|
|
a8cef4a3f3 | ||
|
|
c07663f336 | ||
|
|
d26b946bcd | ||
|
|
2bbd8e82f0 | ||
|
|
01b9401694 | ||
|
|
d8707e17d7 | ||
|
|
ee118b800e | ||
|
|
08b3fba1d2 | ||
|
|
da1359e352 | ||
|
|
357a58a976 | ||
|
|
4dfcfb92d3 | ||
|
|
d387f10f98 | ||
|
|
0ec95fe1d7 | ||
|
|
a25736f934 | ||
|
|
489cda3f4a | ||
|
|
cc04722d6f | ||
|
|
5f8f321cba | ||
|
|
67da742a41 | ||
|
|
18dbd6153f | ||
|
|
67c073dd50 | ||
|
|
07793f462b | ||
|
|
e12e6c5511 | ||
|
|
12bd694be3 | ||
|
|
3a833feb34 | ||
|
|
c2096fee0f | ||
|
|
368eb29e24 | ||
|
|
59252092fc | ||
|
|
466cdaf012 | ||
|
|
7948ab440f | ||
|
|
177224595a | ||
|
|
5b61fb0a92 | ||
|
|
32f6dc1070 | ||
|
|
871a0d2f5b | ||
|
|
8f1b6b071b | ||
|
|
2ea7efe2ea | ||
|
|
789ad68afd | ||
|
|
cfc8647108 | ||
|
|
5ed27edaa3 | ||
|
|
1adff7f6c7 | ||
|
|
c71cbc4f36 | ||
|
|
c8029c6597 | ||
|
|
15ba66a654 | ||
|
|
ebc676aea6 | ||
|
|
e8a396074c | ||
|
|
335fc3aaee | ||
|
|
77049dd60d | ||
|
|
903c568990 | ||
|
|
21f9ce34ff | ||
|
|
ce0f7e1fc3 | ||
|
|
6421264b9e | ||
|
|
4d04a3bda1 | ||
|
|
b2da4eed3e | ||
|
|
2853eb9066 | ||
|
|
af7ae9694f | ||
|
|
a2df5adfae | ||
|
|
e49648170e | ||
|
|
6272f98eef | ||
|
|
b520b21015 | ||
|
|
0cace42008 | ||
|
|
dedc7c00a0 | ||
|
|
9caa93a5aa | ||
|
|
67ba2be514 | ||
|
|
0e9a80746b | ||
|
|
840cb1154d | ||
|
|
b41c25c31a | ||
|
|
5c084c6ca7 | ||
|
|
3eca7fcc87 | ||
|
|
065a7eb4e7 | ||
|
|
64eb66f6d8 | ||
|
|
9c5f9df16b | ||
|
|
5b33376c9f | ||
|
|
1287657634 | ||
|
|
0697f3d609 | ||
|
|
3ef5dd4365 | ||
|
|
022d8cbef2 | ||
|
|
a8905acdaf | ||
|
|
96f1563b75 | ||
|
|
0457e9fb20 | ||
|
|
af2f551e58 | ||
|
|
004854183e | ||
|
|
d8117bc035 | ||
|
|
bc9ab2acb3 | ||
|
|
1f972cfa3d | ||
|
|
09931eaec6 | ||
|
|
0caf235b4a | ||
|
|
280b396b51 | ||
|
|
e5ecba33cf | ||
|
|
71a3df9d04 | ||
|
|
ebd17b7918 | ||
|
|
b9b7da40ac | ||
|
|
99e36b6dd1 | ||
|
|
ee9d4a4d0d | ||
|
|
3435e0c38a | ||
|
|
6d851ae852 | ||
|
|
37ad0c3445 | ||
|
|
cac8d1f5bf | ||
|
|
9e67db7af0 | ||
|
|
e56b154b4c | ||
|
|
a686a5bd8c | ||
|
|
77cc55e4f9 | ||
|
|
8955a3c1c7 | ||
|
|
6324cbf82c | ||
|
|
104ba85ebc | ||
|
|
9b5fbf099a | ||
|
|
63e9665e8d | ||
|
|
df5ae40387 | ||
|
|
b48f5f410e | ||
|
|
d7dfd29cc6 | ||
|
|
d6ba9f1bc7 | ||
|
|
ea7582b20f | ||
|
|
51847ba684 | ||
|
|
3eaee4daca | ||
|
|
d6ee79d742 | ||
|
|
894f9a53ec | ||
|
|
425f1bab9f | ||
|
|
5c4143d3fe | ||
|
|
65f755a5e2 | ||
|
|
9f346cf216 | ||
|
|
8cf0e35e80 | ||
|
|
2183d4bc98 | ||
|
|
d83d6bc033 | ||
|
|
3a8d557e4c | ||
|
|
5437eb4cfc | ||
|
|
06b4e4b151 | ||
|
|
7110b36b77 | ||
|
|
524cf39786 | ||
|
|
b2a69aeb07 | ||
|
|
7a9dbe8730 | ||
|
|
cf8edbd069 | ||
|
|
de014e8e9b | ||
|
|
3fb42aaeb1 | ||
|
|
5db26d6537 | ||
|
|
ad0526e5c1 | ||
|
|
4b650b296c | ||
|
|
d32907b8c8 | ||
|
|
171e63d7fa | ||
|
|
52809fa559 | ||
|
|
c4c0d30095 | ||
|
|
41a8c83eb4 | ||
|
|
0636b2e7ac | ||
|
|
ced94a4998 | ||
|
|
e55317a334 | ||
|
|
5c20a5182c | ||
|
|
40450af3c9 | ||
|
|
36ca2234bc | ||
|
|
89d52c190f | ||
|
|
28a2cbb289 | ||
|
|
2724d25016 | ||
|
|
0166de83da | ||
|
|
7811c1fc08 | ||
|
|
cc56524957 | ||
|
|
7cd173d2f7 | ||
|
|
4a960b4a68 | ||
|
|
cc04d07a18 | ||
|
|
7ca6a58ccb | ||
|
|
2cb1f213f0 | ||
|
|
f9589b7b66 | ||
|
|
868519a8c0 | ||
|
|
de7bca98f3 | ||
|
|
b06d31de70 | ||
|
|
7bcee16fe9 | ||
|
|
18fdef33f4 | ||
|
|
d8ac98888d | ||
|
|
ff0a29c7c8 | ||
|
|
fc4633a085 | ||
|
|
7585e7492c | ||
|
|
96ab0192ae | ||
|
|
137abe0fa9 | ||
|
|
d2d09a48f0 | ||
|
|
0a18a0ccea | ||
|
|
95f88e2ad1 | ||
|
|
6ff3c930ad | ||
|
|
74e548968f | ||
|
|
7f35cd0050 | ||
|
|
db6fe79dac | ||
|
|
a001aa24d8 | ||
|
|
cb0209f493 | ||
|
|
57a1ebfa50 | ||
|
|
7d649345c2 | ||
|
|
ffb229e321 | ||
|
|
ee9a42638a | ||
|
|
680d138809 | ||
|
|
2718646d11 | ||
|
|
0ba0aa26cd | ||
|
|
806be5e259 | ||
|
|
446621f87a | ||
|
|
41228df369 | ||
|
|
0d43a37b85 | ||
|
|
0ceb42cc74 |
@@ -1,21 +0,0 @@
|
|||||||
/* Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
*
|
|
||||||
* Copyright 1991, the Regents of the University of California,
|
|
||||||
* and the University of Chicago Board of Governors.
|
|
||||||
*
|
|
||||||
* This software was produced under U.S. Government contracts:
|
|
||||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
|
||||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
|
||||||
*
|
|
||||||
* Initial development by:
|
|
||||||
* The Controls and Automation Group (AT-8)
|
|
||||||
* Ground Test Accelerator
|
|
||||||
* Accelerator Technology Division
|
|
||||||
* Los Alamos National Laboratory
|
|
||||||
*
|
|
||||||
* Co-developed with
|
|
||||||
* The Controls and Computing Group
|
|
||||||
* Accelerator Systems Division
|
|
||||||
* Advanced Photon Source
|
|
||||||
* Argonne National Laboratory
|
|
||||||
***********************************************************************/
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
THE FOLLOWING IS A NOTICE OF COPYRIGHT, AVAILABILITY OF THE CODE,
|
|
||||||
AND DISCLAIMER WHICH MUST BE INCLUDED IN THE PROLOGUE OF THE CODE
|
|
||||||
AND IN ALL SOURCE LISTINGS OF THE CODE.
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
Argonne National Laboratory (ANL), with facilities in the States of
|
|
||||||
Illinois and Idaho, is owned by the United States Government, and
|
|
||||||
operated by the University of Chicago under provision of a contract
|
|
||||||
with the Department of Energy.
|
|
||||||
|
|
||||||
Portions of this material resulted from work developed under a U.S.
|
|
||||||
Government contract and are subject to the following license: For
|
|
||||||
a period of five years from March 30, 1993, the Government is
|
|
||||||
granted for itself and others acting on its behalf a paid-up,
|
|
||||||
nonexclusive, irrevocable worldwide license in this computer
|
|
||||||
software to reproduce, prepare derivative works, and perform
|
|
||||||
publicly and display publicly. With the approval of DOE, this
|
|
||||||
period may be renewed for two additional five year periods.
|
|
||||||
Following the expiration of this period or periods, the Government
|
|
||||||
is granted for itself and others acting on its behalf, a paid-up,
|
|
||||||
nonexclusive, irrevocable worldwide license in this computer
|
|
||||||
software to reproduce, prepare derivative works, distribute copies
|
|
||||||
to the public, perform publicly and display publicly, and to permit
|
|
||||||
others to do so.
|
|
||||||
|
|
||||||
*****************************************************************
|
|
||||||
DISCLAIMER
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR
|
|
||||||
THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS,
|
|
||||||
MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL
|
|
||||||
LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
|
||||||
USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS
|
|
||||||
DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
|
|
||||||
OWNED RIGHTS.
|
|
||||||
|
|
||||||
*****************************************************************
|
|
||||||
LICENSING INQUIRIES MAY BE DIRECTED TO THE INDUSTRIAL TECHNOLOGY
|
|
||||||
DEVELOPMENT CENTER AT ARGONNE NATIONAL LABORATORY (708-252-2000).
|
|
||||||
84
LICENSE
Normal file
84
LICENSE
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
Copyright (c) 1991-2004 University of Chicago and The Regents of the
|
||||||
|
University of California. All rights reserved.
|
||||||
|
|
||||||
|
EPICS BASE is distributed subject to the following license conditions:
|
||||||
|
|
||||||
|
SOFTWARE LICENSE AGREEMENT
|
||||||
|
Software: EPICS BASE
|
||||||
|
Versions: 3.13.7 and higher
|
||||||
|
|
||||||
|
1. The "Software", below, refers to EPICS BASE (in either source code, or
|
||||||
|
binary form and accompanying documentation). Each licensee is
|
||||||
|
addressed as "you" or "Licensee."
|
||||||
|
|
||||||
|
2. The copyright holders shown above and their third-party licensors
|
||||||
|
hereby grant Licensee a royalty-free nonexclusive license, subject to
|
||||||
|
the limitations stated herein and U.S. Government license rights.
|
||||||
|
|
||||||
|
3. You may modify and make a copy or copies of the Software for use
|
||||||
|
within your organization, if you meet the following conditions:
|
||||||
|
a. Copies in source code must include the copyright notice and this
|
||||||
|
Software License Agreement.
|
||||||
|
b. Copies in binary form must include the copyright notice and this
|
||||||
|
Software License Agreement in the documentation and/or other
|
||||||
|
materials provided with the copy.
|
||||||
|
|
||||||
|
4. You may modify a copy or copies of the Software or any portion of it,
|
||||||
|
thus forming a work based on the Software, and distribute copies of
|
||||||
|
such work outside your organization, if you meet all of the following
|
||||||
|
conditions:
|
||||||
|
a. Copies in source code must include the copyright notice and this
|
||||||
|
Software License Agreement;
|
||||||
|
b. Copies in binary form must include the copyright notice and this
|
||||||
|
Software License Agreement in the documentation and/or other
|
||||||
|
materials provided with the copy;
|
||||||
|
c. Modified copies and works based on the Software must carry
|
||||||
|
prominent notices stating that you changed specified portions of
|
||||||
|
the Software.
|
||||||
|
|
||||||
|
5. Portions of the Software resulted from work developed under a U.S.
|
||||||
|
Government contract and are subject to the following license: the
|
||||||
|
Government is granted for itself and others acting on its behalf a
|
||||||
|
paid-up, nonexclusive, irrevocable worldwide license in this computer
|
||||||
|
software to reproduce, prepare derivative works, and perform publicly
|
||||||
|
and display publicly.
|
||||||
|
|
||||||
|
6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE
|
||||||
|
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR
|
||||||
|
EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||||||
|
BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME
|
||||||
|
ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS,
|
||||||
|
OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE
|
||||||
|
SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT
|
||||||
|
THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE
|
||||||
|
OR THAT ANY ERRORS WILL BE CORRECTED.
|
||||||
|
|
||||||
|
7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
|
||||||
|
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT
|
||||||
|
OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
||||||
|
CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
|
||||||
|
INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
|
||||||
|
REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
|
||||||
|
CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR
|
||||||
|
OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
||||||
|
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
||||||
|
|
||||||
|
________________________________________________________________________
|
||||||
|
|
||||||
|
This software is in part copyrighted by the BERLINER SPEICHERRING
|
||||||
|
GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY.
|
||||||
|
|
||||||
|
In no event shall BESSY be liable to any party for direct, indirect,
|
||||||
|
special, incidental, or consequential damages arising out of the use of
|
||||||
|
this software, its documentation, or any derivatives thereof, even if
|
||||||
|
BESSY has been advised of the possibility of such damage.
|
||||||
|
|
||||||
|
BESSY specifically disclaims any warranties, including, but not limited
|
||||||
|
to, the implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose, and non-infringement. This software is provided on an "as is"
|
||||||
|
basis, and BESSY has no obligation to provide maintenance, support,
|
||||||
|
updates, enhancements, or modifications.
|
||||||
|
________________________________________________________________________
|
||||||
|
|
||||||
69
MakeRelease
69
MakeRelease
@@ -9,75 +9,6 @@
|
|||||||
#
|
#
|
||||||
# [-b] - For fully built release
|
# [-b] - For fully built release
|
||||||
#
|
#
|
||||||
# $Log$
|
|
||||||
# Revision 1.11 1997/07/01 18:29:17 jba
|
|
||||||
# Changed Tar to tar in output filename.
|
|
||||||
#
|
|
||||||
# Revision 1.10 1997/01/17 19:59:37 jba
|
|
||||||
# Use config/CONFIG_BASE_VERSION to get version info.
|
|
||||||
#
|
|
||||||
# Revision 1.9 1996/09/04 21:41:36 jba
|
|
||||||
# Top level dir no longer passed to MakeRelease
|
|
||||||
#
|
|
||||||
# Revision 1.8 1996/07/02 13:45:09 jba
|
|
||||||
# Added dbd and base/config dirs. Removed epics/config and base/rec.
|
|
||||||
#
|
|
||||||
# Revision 1.7 1996/06/25 21:54:42 jba
|
|
||||||
# Command line parm now base dir
|
|
||||||
#
|
|
||||||
# Revision 1.6 1996/06/07 19:19:10 jba
|
|
||||||
# MakeRelease is now in release tar file.
|
|
||||||
#
|
|
||||||
# Revision 1.5 1996/03/04 21:03:48 jba
|
|
||||||
# epicsVersion.h now in src/include.
|
|
||||||
#
|
|
||||||
# Revision 1.4 1996/02/20 21:03:53 jba
|
|
||||||
# Updated README files to reflect directory changes and new installEpics.
|
|
||||||
#
|
|
||||||
# Revision 1.3 1995/10/03 15:42:26 jba
|
|
||||||
# Added *COPYRIGHT* files to release tar file.
|
|
||||||
#
|
|
||||||
# Revision 1.2 1995/08/28 15:49:54 jba
|
|
||||||
# Added startup directory to release tar file
|
|
||||||
#
|
|
||||||
# Revision 1.1 1995/08/17 20:14:56 jba
|
|
||||||
# Added base/tools scripts functionality to base/Makefile, removed scripts
|
|
||||||
# Moved base/tools/MakeRelease to base dir.
|
|
||||||
#
|
|
||||||
# Revision 1.14 1994/12/19 18:42:08 tang
|
|
||||||
# Make the args length compatible for HP and SUN.
|
|
||||||
#
|
|
||||||
# Revision 1.13 1994/12/15 19:19:18 tang
|
|
||||||
# Replace -I opt by cat and xargs for tar for HP compatibility.
|
|
||||||
#
|
|
||||||
# Revision 1.12 1994/12/14 23:57:55 tang
|
|
||||||
# Take out \< and \> pair for hp compatible
|
|
||||||
#
|
|
||||||
# Revision 1.11 1994/10/31 21:44:17 jba
|
|
||||||
# Moved print stmnt, added cd $(EPICS)
|
|
||||||
#
|
|
||||||
# Revision 1.10 1994/10/05 18:29:34 jba
|
|
||||||
# Renamed version.h to epicsVersion.h
|
|
||||||
#
|
|
||||||
# Revision 1.9 1994/09/22 01:41:47 mcn
|
|
||||||
# MakeRelease - MAJOR bug fix. GetVar / MakeDirs - minor fix.
|
|
||||||
#
|
|
||||||
# Revision 1.8 1994/09/07 20:59:15 mcn
|
|
||||||
# Revamped GetVar, modified scripts for new GetVar.
|
|
||||||
#
|
|
||||||
# Revision 1.7 1994/09/02 20:58:00 mcn
|
|
||||||
# minor change.
|
|
||||||
#
|
|
||||||
# Revision 1.6 1994/08/21 00:56:41 mcn
|
|
||||||
# New Stuff
|
|
||||||
#
|
|
||||||
# Revision 1.5 1994/08/02 18:36:29 mcn
|
|
||||||
# Support new configuration.
|
|
||||||
#
|
|
||||||
# Revision 1.4 1994/07/14 22:13:32 mcn
|
|
||||||
# Now include SDR Makefile/Headers
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
if [ ! -d src ]; then
|
if [ ! -d src ]; then
|
||||||
|
|||||||
13
Makefile
13
Makefile
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# Top Level EPICS Makefile
|
# Top Level EPICS Makefile
|
||||||
# by Matthew Needes and Mike Bordua
|
# by Matthew Needes and Mike Bordua
|
||||||
@@ -26,7 +35,9 @@ INSTALL_BIN = $(INSTALL_LOCATION)/bin/$(HOST_ARCH)
|
|||||||
#
|
#
|
||||||
PERL_BOOTSTRAP_SCRIPTS = $(notdir $(wildcard $(TOP)/src/tools/*.pl))
|
PERL_BOOTSTRAP_SCRIPTS = $(notdir $(wildcard $(TOP)/src/tools/*.pl))
|
||||||
PERL_BOOTSTRAP_SCRIPTS_INSTALL = $(PERL_BOOTSTRAP_SCRIPTS:%=$(INSTALL_BIN)/%)
|
PERL_BOOTSTRAP_SCRIPTS_INSTALL = $(PERL_BOOTSTRAP_SCRIPTS:%=$(INSTALL_BIN)/%)
|
||||||
all host cross inc rebuild uninstall clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
|
all host cross inc rebuild clean depends buildInstall :: $(PERL_BOOTSTRAP_SCRIPTS_INSTALL)
|
||||||
|
|
||||||
|
RMDIR=$(PERL) $(TOP)/src/tools/rm.pl -rf
|
||||||
|
|
||||||
include $(TOP)/config/RULES_TOP
|
include $(TOP)/config/RULES_TOP
|
||||||
|
|
||||||
|
|||||||
4
README
4
README
@@ -8,7 +8,7 @@ $Id$
|
|||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
1. Before you can build or use EPICS, the environemnt variable 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
|
must be set. The base/startup/HostArch script file has been provided
|
||||||
to set HOST_ARCH.
|
to set HOST_ARCH.
|
||||||
|
|
||||||
2. You must use GNU make (which is now THE supported make utility) for
|
2. You must use GNU make (which is now THE supported make utility) for
|
||||||
@@ -98,7 +98,7 @@ Notes:
|
|||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. EPICS binaries and shellscripts are installed into the directory
|
1. EPICS binaries and shell scripts are installed into the directory
|
||||||
$(INSTALL_LOCATION)/bin/ARCH.
|
$(INSTALL_LOCATION)/bin/ARCH.
|
||||||
|
|
||||||
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
|
2. EPICS libraries are installed into the $(INSTALL_LOCATION)/lib/ARCH
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ most important:
|
|||||||
tools/installEpics.pl
|
tools/installEpics.pl
|
||||||
include/makeEpicsVersion.pl
|
include/makeEpicsVersion.pl
|
||||||
libCom/bldEnvData.pl
|
libCom/bldEnvData.pl
|
||||||
libCom/makeStatSymTbl.pl
|
libCom/makeStatTbl.pl
|
||||||
sequencer/makeVersion.pl
|
sequencer/makeVersion.pl
|
||||||
|
|
||||||
WIN32 also uses
|
WIN32 also uses
|
||||||
|
|||||||
@@ -1,87 +1,54 @@
|
|||||||
Compiling EPICS on cygwin32 (Windows95/NT)
|
Compiling EPICS on cygwin32 (Windows95/NT)
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
Right now this port of EPICS to cygwin32 it is possible to
|
Right now this port of EPICS base to cygwin32 R1.3.3 fails
|
||||||
compile the EPICS base for the cygwin32 Host using Cygnus' beta19
|
because cygwin does not yet support point-to-point interfaces.
|
||||||
release of the GNU-win32 tools.
|
|
||||||
|
|
||||||
To build EPICS on Win95 or NT using cygwin32, we need
|
To build EPICS on Win95 or NT using cygwin32, we need
|
||||||
|
|
||||||
EPICS base distribution, R3.12.0.beta12 or later, available
|
EPICS base distribution, R3.12.0.beta12 or later, available
|
||||||
from http://aps.anl.gov/...
|
from http://aps.anl.gov/...
|
||||||
Cygnus's latest gnu-win32 distribution, available from
|
The latest cygwin distribution, available from
|
||||||
http://www.cygnus.com/misc/gnu-win32/ (release b19 or later)
|
http://www.cygwin.com
|
||||||
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
|
BUILD INSTRUCTIONS
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
||||||
1) Install the gnu-win32 binary release
|
1) Install the cygwin binary release
|
||||||
---------------------------------------
|
------------------------------------
|
||||||
Download the whole release, cdk.exe, to get the developemnt tools
|
|
||||||
|
|
||||||
First move out of the way any older versions of gnuwin32
|
2) Install the epics base distribution
|
||||||
|
|
||||||
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>
|
cp <dirname>\<basereleasename>.tar.gz .
|
||||||
chdir <epicsBaseReleaseDir>
|
gunzip -d <basereleasename>.tar.gz
|
||||||
cp <dirname>\<basereleasename>.gz .
|
tar xvf <basereleasename>.tar
|
||||||
gunzip -d <basereleasename>.gz
|
|
||||||
chmod +w -R *
|
chmod +w -R *
|
||||||
|
cd <epicsBaseDir>
|
||||||
|
|
||||||
4) Set environment variables and path using cygwin32.bat
|
3) Set environment variables and path using cygwin32.bat
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
<edit cygwin32.bat changing paths if necessary>
|
<edit <epicsBaseDir>/startup/cygwin32.bat changing paths if necessary>
|
||||||
cd <epicsBaseReleaseDir>\startup
|
cd <epicsBaseDir>\startup
|
||||||
cygwin32.bat
|
edit cygwin32.bat
|
||||||
|
<execute cygwin32.bat>
|
||||||
|
cygwin
|
||||||
|
|
||||||
5) Set site specific parms in epics base\config files
|
4) Set site specific parms in epics config files
|
||||||
-----------------------------------------------------
|
------------------------------------------------
|
||||||
cd <epicsBaseReleaseDir>\base\config
|
cd <epicsBaseDir>\config
|
||||||
<edit CONFIG_SITE* files>
|
<edit CONFIG_SITE* files>
|
||||||
|
|
||||||
6) Build epics base
|
5) Build epics base
|
||||||
-------------------
|
-------------------
|
||||||
cd <epicsBaseReleaseDir>\base
|
cd <epicsBaseDir>
|
||||||
make
|
make
|
||||||
|
|
||||||
7) Create an EPICS application area (note forward slashes on perl cmd)
|
6) Create an example EPICS application (<epicsBaseDir> needs drive letter)
|
||||||
---------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
mkdir <epicsappdir>
|
mkdir <epicsappdir>
|
||||||
cd <epicsappdir>
|
cd <epicsappdir>
|
||||||
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -l
|
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -l
|
||||||
perl <epicsBaseReleaseDir>/bin/cygwin32/makeBaseApp.pl -t example example
|
perl <epicsBaseDir>\bin\cygwin32\makeBaseApp.pl -t example example
|
||||||
|
make
|
||||||
|
|
||||||
|
|||||||
3117
RELEASE_NOTES.html
3117
RELEASE_NOTES.html
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
|||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1991 Regents of the University of California,
|
|
||||||
and the University of Chicago Board of Governors.
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_Combined file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
BUILD_TYPE = Vx
|
|
||||||
|
|
||||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
|
||||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
|
||||||
src/sequencer src/util src/dbtools src/misc .
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
BUILD_TYPE = Vx
|
|
||||||
|
|
||||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
|
||||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
|
||||||
src/sequencer src/util src/dbtools src/misc .
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
BUILD_TYPE = Vx
|
|
||||||
|
|
||||||
DIRS = src/as src/ca src/db src/dev src/devOpt src/drv \
|
|
||||||
src/libCom src/libvxWorks src/rec src/rsrv \
|
|
||||||
src/sequencer src/util src/dbtools src/misc .
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
BUILD_TYPE = Unix
|
|
||||||
DIRS = src/libCom \
|
|
||||||
src/db \
|
|
||||||
src/ca \
|
|
||||||
src/toolsComm/antelope \
|
|
||||||
src/toolsComm/flex \
|
|
||||||
src/as \
|
|
||||||
src/bld \
|
|
||||||
src/dct \
|
|
||||||
src/util \
|
|
||||||
src/sequencer \
|
|
||||||
src/dbtools \
|
|
||||||
rec
|
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|||||||
261
config/CONFIG.Host.Borland
Normal file
261
config/CONFIG.Host.Borland
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
# CONFIG.Host.Borland
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
# Sites may override these definitions in CONFIG_SITE.Borland
|
||||||
|
|
||||||
|
BORLAND_LIB = $(BORLAND)\\lib
|
||||||
|
BORLAND_INC = $(BORLAND)\\include
|
||||||
|
BORLAND_BIN = $(BORLAND)\\bin
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
ANSI = ACC
|
||||||
|
CPLUSPLUS = CCC
|
||||||
|
|
||||||
|
#
|
||||||
|
# -q supress command line banner
|
||||||
|
WINLINK = $(BORLAND_BIN)/ilink32 -q
|
||||||
|
|
||||||
|
# -l specifies default language
|
||||||
|
# -fo Renames the output .RES file
|
||||||
|
RCCMD = $(BORLAND_BIN)/brcc32 $(subst -I,-i,$(INCLUDES)) -l0x409 -fo$@ $<
|
||||||
|
|
||||||
|
ARCMD = $(BORLAND_BIN)/tlib $@
|
||||||
|
|
||||||
|
#
|
||||||
|
# Configure Borland C compiler
|
||||||
|
# -q suppress compiler identification banner
|
||||||
|
# -tWM generate a 32-bit multi-threaded target
|
||||||
|
# -tWD generate a .DLL executable
|
||||||
|
# -a8 quad word alignment
|
||||||
|
# -D_WIN32 macro defined to be consistant with Microsoft Visual C++
|
||||||
|
# -D_RTLDLL macro defined to use Borland C++ RTL library
|
||||||
|
CCLINKOPT = -q -tWM -tWD -a8 -D_WIN32 -D_RTLDLL
|
||||||
|
ACC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
|
||||||
|
|
||||||
|
#
|
||||||
|
# __STDC__=0 works but not as cleanly as with
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
# The Borland header files use ifdef __STDC__
|
||||||
|
# to disable many nice things. This is overridden
|
||||||
|
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||||
|
#
|
||||||
|
ifdef NO_BORLAND_STDC
|
||||||
|
ACC_ANSI = $(ACC)
|
||||||
|
ACC_STRICT = $(ACC)
|
||||||
|
else
|
||||||
|
ACC_ANSI = $(ACC) -D__STDC__=0
|
||||||
|
ACC_STRICT = $(ACC) -D__STDC__=0
|
||||||
|
endif
|
||||||
|
ACC_TRAD = $(ACC)
|
||||||
|
|
||||||
|
# -w display warnings on
|
||||||
|
# -g0 no limit to warning messages
|
||||||
|
# some warning message here are always disabled because they are
|
||||||
|
# trivial and numerous
|
||||||
|
# -w-8012 Comparing signed and unsigned values
|
||||||
|
# -w-8060 Possibly incorrect assignment
|
||||||
|
# -w-8071 Conversion may lose significant digits
|
||||||
|
ACC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071
|
||||||
|
# -w- display warnings off
|
||||||
|
ACC_WARN_NO = -w-
|
||||||
|
|
||||||
|
#
|
||||||
|
# -k- turn off standard stack frame
|
||||||
|
# -H- turn off precompiled headers
|
||||||
|
# -R- don't include browser info in .obj files
|
||||||
|
# -O1 optimization for size
|
||||||
|
# -v- turn off source debugging
|
||||||
|
# -vi control expansion of inline functions
|
||||||
|
ACC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||||
|
|
||||||
|
#
|
||||||
|
ACC_OPT_NO =
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# no special libs for static link
|
||||||
|
#
|
||||||
|
ACC_SLIBS_YES=
|
||||||
|
ACC_SLIBS_NO=
|
||||||
|
|
||||||
|
# Configure OS vendor C++ compiler
|
||||||
|
#
|
||||||
|
# __STDC__=0 works but not as cleanly as with
|
||||||
|
# Microsoft Visual C++.
|
||||||
|
# The Borland header files use ifdef __STDC__
|
||||||
|
# to disable many nice things. This is overridden
|
||||||
|
# by defining NO_BORLAND_STDC in the Makefile.Host.
|
||||||
|
#
|
||||||
|
CCC = $(BORLAND_BIN)/bcc32 $(CCLINKOPT)
|
||||||
|
ifdef NO_BORLAND_STDC
|
||||||
|
CCC_NORMAL = $(CCC)
|
||||||
|
CCC_STRICT = $(CCC)
|
||||||
|
else
|
||||||
|
CCC_NORMAL = $(CCC) -D__STDC__=0
|
||||||
|
CCC_STRICT = $(CCC) -D__STDC__=0
|
||||||
|
endif
|
||||||
|
CCC_TEMPL_INST_FLAG =
|
||||||
|
|
||||||
|
# -w display warnings on
|
||||||
|
# -g0 no limit to warning messages
|
||||||
|
# -w-8012 Comparing signed and unsigned values
|
||||||
|
# -w-8060 Possibly incorrect assignment
|
||||||
|
# -w-8071 Conversion may lose significant digits
|
||||||
|
CCC_WARN_YES = -w -g0 -w-8012 -w-8060 -w-8071 -w-8008 -w-8027 -w-8066 -w-8080 -w-8004
|
||||||
|
# -w- display warnings off
|
||||||
|
CCC_WARN_NO = -w-
|
||||||
|
|
||||||
|
#
|
||||||
|
# -k- turn off standard stack frame
|
||||||
|
# -H- Turn off precompiled headers
|
||||||
|
# -R- Don't include browser info in .obj files
|
||||||
|
# -O1 optimization for size
|
||||||
|
# -v- turn off source debugging
|
||||||
|
# -vi control expansion of inline functions
|
||||||
|
CCC_OPT_YES = -k- -H- -R- -O1 -v- -vi
|
||||||
|
|
||||||
|
#
|
||||||
|
CCC_OPT_NO =
|
||||||
|
|
||||||
|
#
|
||||||
|
# no special libs for static link
|
||||||
|
#
|
||||||
|
CCC_SLIBS_YES=
|
||||||
|
CCC_SLIBS_NO=
|
||||||
|
|
||||||
|
PROD_VERSION=3.13
|
||||||
|
# -c case sensitive linking
|
||||||
|
# -C clear state before linking
|
||||||
|
# -Gi generate import library
|
||||||
|
# -Gn no state files
|
||||||
|
# -Tpd targets a Windows .DLL file
|
||||||
|
# -x no map
|
||||||
|
# -w display warnings on
|
||||||
|
LINK_OPT_FLAGS_YES = -c -C -Gi -Gn -Tpd -x -w
|
||||||
|
LINK_OPT_FLAGS_NO = -c -C -Gi -Gn -Tpd -x -w-
|
||||||
|
WIN32_DLLFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT))
|
||||||
|
OPT_LDFLAGS =
|
||||||
|
|
||||||
|
ARCH_DEP_CFLAGS=
|
||||||
|
|
||||||
|
# to identify the general architecture class:
|
||||||
|
# should be BSD, SYSV, WIN32, ...
|
||||||
|
# is: WIN32, sun4, hpux, linux, ...
|
||||||
|
#
|
||||||
|
ARCH_CLASS=WIN32
|
||||||
|
|
||||||
|
# ifdef WIN32 looks better that ifeq ($(ARCH_CLASS),WIN32) ??
|
||||||
|
WIN32=1
|
||||||
|
BORLANDC=1
|
||||||
|
|
||||||
|
EXE=.exe
|
||||||
|
OBJ=.obj
|
||||||
|
RES=.res
|
||||||
|
|
||||||
|
# Problem: BorlandC does not recognize *.cc as C++ source,
|
||||||
|
# we have to compile xx.cc using the flag -P xx.cc,
|
||||||
|
SOURCE_CXXFLAG = -P -D__cplusplus
|
||||||
|
|
||||||
|
# Operating system flags
|
||||||
|
OP_SYS_CFLAGS =
|
||||||
|
|
||||||
|
#
|
||||||
|
# Borland specific include files
|
||||||
|
#
|
||||||
|
OP_SYS_INCLUDES = -I$(BORLAND_INC)
|
||||||
|
#
|
||||||
|
OP_SYS_LDLIBS =
|
||||||
|
|
||||||
|
#
|
||||||
|
# specify dll .def file only if it exists
|
||||||
|
#
|
||||||
|
#DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(LIBRARY).def))
|
||||||
|
DLL_DEF_FLAG = $(subst /,\\,$(wildcard ../$(LIBRARY).def))
|
||||||
|
|
||||||
|
# HOST_OPT_FLAGS is part of CFLAGS/CXXFLAGS,
|
||||||
|
# which in turn are used in COMPILE.c[c]
|
||||||
|
#
|
||||||
|
# If we compile a .c, .cc into an $(OBJ),
|
||||||
|
# we test if this object is part of the
|
||||||
|
# library objects LIBOBJS.
|
||||||
|
# If so, we define _WINDLL so that
|
||||||
|
# e.g. include/shareLib.h works correctly.
|
||||||
|
#
|
||||||
|
HOST_OPT_FLAGS += $(subst $@, /_WINDLL, $(findstring $@,$(LIBOBJS)))
|
||||||
|
|
||||||
|
#
|
||||||
|
# A WIN32 dll has three parts:
|
||||||
|
# x.dll: the real dll (SHRLIBNAME)
|
||||||
|
# x.lib: what you link to progs that use the dll (LIBNAME)
|
||||||
|
# x.exp: what you need to build the dll (in no variable)
|
||||||
|
#
|
||||||
|
LINK.shrlib = $(WINLINK) $(WIN32_DLLFLAGS) -L$(BORLAND_LIB) -L$(BORLAND_LIB)\\Psdk c0d32.obj
|
||||||
|
|
||||||
|
# adjust names of libraries to build
|
||||||
|
#
|
||||||
|
# But: if there are no objects LIBOBJS to include
|
||||||
|
# in this library (may be for e.g. base/src/libCompat
|
||||||
|
# on some archs), don't define (and build) any library!
|
||||||
|
SHRLIBNAME = $(LIBRARY).dll
|
||||||
|
|
||||||
|
#
|
||||||
|
# Under WIN32 we have the unique situation where the DLL link creates the
|
||||||
|
# DLL link library xxx.lib and we need to be very careful to avoid replacing
|
||||||
|
# the xxx.lib created by the dll link with an xxx.lib created by $(AR).
|
||||||
|
# Therefore, the object library is named xxxObj.lib
|
||||||
|
#
|
||||||
|
# SHARED_LIBRARIES is YES if we are building a DLL and NO if we aren't
|
||||||
|
#
|
||||||
|
DLL_LINK_LIBNAME_YES = $(LIBRARY).lib
|
||||||
|
DLL_LINK_LIBNAME = $(DLL_LINK_LIBNAME_$(SHARED_LIBRARIES))
|
||||||
|
|
||||||
|
#ifeq ($(strip $(SHARED_LIBRARIES)),NO)
|
||||||
|
#LIBNAME = $(LIBRARY).lib
|
||||||
|
#else
|
||||||
|
LIBNAME = $(LIBRARY)Obj.lib
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# dll install location
|
||||||
|
INSTALL_SHRLIB = $(INSTALL_BIN)
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Dependancy definitions
|
||||||
|
OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build
|
||||||
|
OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build
|
||||||
|
OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD))
|
||||||
|
|
||||||
|
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),\
|
||||||
|
$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/$(lib)$(OBJECT_LIB_EXT)))
|
||||||
|
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||||
|
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||||
|
|
||||||
|
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib ) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||||
|
|
||||||
|
# by default the libraries used when linking the DLL are just
|
||||||
|
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||||
|
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||||
|
|
||||||
|
#
|
||||||
|
# EPICS libs that we need to link the DLL with
|
||||||
|
# (it isnt necessary to rebuild the dll if these change)
|
||||||
|
DLL_DEPLIBS = $(foreach lib,$(DLL_LIBS),$(firstword $(wildcard $($(lib)_DIR)/$(lib).lib $($(lib)_DIR)/$(lib)Obj.lib $(EPICS_BASE_LIB)/$(lib).lib $(EPICS_BASE_LIB)/$(lib)Obj.lib) $(filter $(LIBRARY)$(OBJECT_LIB_EXT), $(lib)$(OBJECT_LIB_EXT)) ))
|
||||||
|
|
||||||
|
USR_LDLIBS = $(PRODNAME_DEPLIBS) $(PROD_DEPLIBS) $(USR_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib)
|
||||||
|
|
||||||
|
DLL_LDLIBS = $(DLL_DEPLIBS) $(SYS_PROD_LIBS:%=%.lib) $(OP_SYS_LDLIBS)
|
||||||
|
|
||||||
|
#multithreaded import library
|
||||||
|
LIBSUF=mti
|
||||||
|
# -c case sensitive linking
|
||||||
|
# -C clear state before linking
|
||||||
|
# -Gn no state files
|
||||||
|
# -Tpe targets a Windows .EXE file
|
||||||
|
# -x no map
|
||||||
|
# -w display warnings on
|
||||||
|
LDFLAGS += -c -C -Gn -Tpe -x -w -L$(BORLAND_LIB) -L$(BORLAND_LIB)\\Psdk
|
||||||
|
LINKSTARTUP = c0x32.obj
|
||||||
|
LINKLIBS=import32.lib cw32$(LIBSUF).lib
|
||||||
|
|
||||||
|
LINK.c = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||||
|
LINK.cc = $(WINLINK) $(LDFLAGS) $(LINKSTARTUP)
|
||||||
|
|
||||||
@@ -22,16 +22,15 @@ ACC_ANSI = $(ACC)
|
|||||||
ACC_STRICT = $(ACC) -pedantic
|
ACC_STRICT = $(ACC) -pedantic
|
||||||
#ACC_STRICT = $(ACC) -ansi -pedantic -D_SVID_SOURCE
|
#ACC_STRICT = $(ACC) -ansi -pedantic -D_SVID_SOURCE
|
||||||
ACC_TRAD = $(ACC)
|
ACC_TRAD = $(ACC)
|
||||||
ACC_WARN_YES =
|
ACC_WARN_YES = -Wall
|
||||||
ACC_WARN_NO = -w
|
ACC_WARN_NO = -w
|
||||||
ACC_OPT_YES = -O
|
ACC_OPT_YES = -O
|
||||||
ACC_OPT_NO = -g
|
ACC_OPT_NO = -g
|
||||||
ACC_SFLAGS_YES = -Bstatic
|
ACC_SFLAGS_YES = -static
|
||||||
ACC_SFLAGS_NO=
|
ACC_SFLAGS_NO=
|
||||||
ACC_SLIBS_YES =
|
ACC_SLIBS_YES =
|
||||||
ACC_SLIBS_NO=
|
ACC_SLIBS_NO=
|
||||||
ACC_SHRLIB_CFLAGS_YES = -fPIC
|
ACC_SHRLIB_CFLAGS_YES = -fPIC
|
||||||
#ACC_SHRLIB_CFLAGS_YES = -fPIC -D_BSD_SOURCE
|
|
||||||
ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
||||||
|
|
||||||
|
|
||||||
@@ -39,16 +38,18 @@ ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
|||||||
CCC = g++
|
CCC = g++
|
||||||
CCC_NORMAL = $(CCC)
|
CCC_NORMAL = $(CCC)
|
||||||
CCC_STRICT = $(CCC)
|
CCC_STRICT = $(CCC)
|
||||||
CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
#CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||||
CCC_WARN_YES =
|
CCC_WARN_YES = -Wall
|
||||||
CCC_WARN_NO =
|
CCC_WARN_NO =
|
||||||
CCC_OPT_YES = -O
|
CCC_OPT_YES = -O
|
||||||
CCC_OPT_NO = -g
|
CCC_OPT_NO = -g
|
||||||
CCC_SFLAGS_YES = -Bstatic
|
CCC_SFLAGS_YES = -static
|
||||||
CCC_SFLAGS_NO=
|
CCC_SFLAGS_NO=
|
||||||
CCC_SLIBS_YES =
|
CCC_SLIBS_YES =
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
CCC_DEPENDS_FLAG = -MM
|
CCC_DEPENDS_FLAG = -MM
|
||||||
|
CCC_SHRLIB_CFLAGS_YES = -fPIC
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@
|
||||||
|
|
||||||
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
|
# added smh 6/5/98 : when building fdmgr - seems to use this not ACC
|
||||||
# in effect this overides orig def in CONFIG_COMMON :
|
# in effect this overides orig def in CONFIG_COMMON :
|
||||||
@@ -57,7 +58,7 @@ GCC_STRICT = $(GCC)
|
|||||||
G++_STRICT = $(G++) -Wtraditional
|
G++_STRICT = $(G++) -Wtraditional
|
||||||
|
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
|
#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD
|
||||||
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
|
ARCH_DEP_CFLAGS = -D_X86_ -Dlinux
|
||||||
ARCH_DEP_LDFLAGS =
|
ARCH_DEP_LDFLAGS =
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# CONFIG.Host.UnixCommon
|
|
||||||
#
|
#
|
||||||
# Contains definitions common to all Unix archs
|
# Contains definitions common to all Unix archs
|
||||||
#
|
#
|
||||||
@@ -19,9 +19,9 @@ LIBNAME = $(LIBRARY:%=lib%.a)
|
|||||||
SHRLIB_SUFFIX = .so
|
SHRLIB_SUFFIX = .so
|
||||||
|
|
||||||
SHRLIBNAME = lib$(LIBRARY)$(SHRLIB_SUFFIX)$(SHRLIB_VERSION:%=.%)
|
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%)
|
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS) $(USR_LIBS))
|
||||||
|
DLL_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(DLL_LIBS:%=-l%)
|
||||||
|
|
||||||
INSTALL_SHRLIB = $(INSTALL_LIB)
|
INSTALL_SHRLIB = $(INSTALL_LIB)
|
||||||
|
|
||||||
@@ -44,11 +44,10 @@ OBJ = .o
|
|||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Dependancy definitions
|
# Dependancy definitions
|
||||||
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a))
|
COND_PROD_DEPLIBS = $(foreach prod,$(PROD), $(foreach lib, $($(basename $(prod))_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*))))
|
||||||
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
PRODNAME_DEPLIBS = $(foreach lib,$(PRODNAME_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||||
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||||
|
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $(wildcard $($(lib)_DIR)/lib$(lib).* $(EPICS_BASE_LIB)/lib$(lib).*)))
|
||||||
USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_LIB))/lib$(lib).a)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Determine ld flags
|
# Determine ld flags
|
||||||
@@ -60,13 +59,11 @@ USR_LDFLAGS += $(sort $(USR_DIRS:%=-L%))
|
|||||||
USR_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
|
USR_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\
|
||||||
$(SYS_PROD_LIBS:%=-l%)
|
$(SYS_PROD_LIBS:%=-l%)
|
||||||
|
|
||||||
#USR_LDLIBS = $(PRODNAME_DEPLIBS:%=-L%) $(PROD_DEPLIBS:%=-L%) $(USR_DEPLIBS)\
|
|
||||||
# $(USR_XLDLIBS)
|
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Operating system definitions
|
# Operating system definitions
|
||||||
OP_SYS_INCLUDES =
|
OP_SYS_INCLUDES =
|
||||||
OP_SYS_CFLAGS = -DUNIX
|
OP_SYS_CFLAGS = -DUNIX
|
||||||
|
|
||||||
OP_SYS_LDFLAGS =
|
OP_SYS_LDFLAGS =
|
||||||
OP_SYS_LDLIBS = -lm
|
OP_SYS_LDLIBS = -lm
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,6 @@
|
|||||||
# This file is maintained by the EPICS community.
|
# This file is maintained by the EPICS community.
|
||||||
# Sites may override these definitions in CONFIG_SITE.WIN32
|
# 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.
|
# You currently get Visual C++ even if you ask for GNU.
|
||||||
#
|
#
|
||||||
@@ -20,7 +17,7 @@ CPLUSPLUS = CCC
|
|||||||
MSVISC = c:\\Program\ Files\\DevStudio\\Vc
|
MSVISC = c:\\Program\ Files\\DevStudio\\Vc
|
||||||
WINLINK = link
|
WINLINK = link
|
||||||
|
|
||||||
RCCMD = rc -l 0x409 -fo $@ $<
|
RCCMD = rc -l 0x409 -i . -i .. -I$(INSTALL_INCLUDE)/os/$(OS_CLASS) -I$(INSTALL_INCLUDE) $(INSTALL_INCLUDES) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE) -fo $@ $<
|
||||||
|
|
||||||
ARCMD = lib /nologo /verbose /out:$@
|
ARCMD = lib /nologo /verbose /out:$@
|
||||||
|
|
||||||
@@ -126,7 +123,7 @@ CCC_SFLAGS_NO= /MD$(VISC_SFLAGS_DEBUG) $(VISC_EPICS_DLL)
|
|||||||
#
|
#
|
||||||
CCC_SLIBS_YES=
|
CCC_SLIBS_YES=
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
|
|
||||||
LINK_OPT_FLAGS_YES = /WARN:3 /incremental:no /opt:ref\
|
LINK_OPT_FLAGS_YES = /WARN:3 /incremental:no /opt:ref\
|
||||||
/release $(PROD_VERSION:%=/version:%)
|
/release $(PROD_VERSION:%=/version:%)
|
||||||
LINK_OPT_FLAGS_NO = /WARN:3 /debug
|
LINK_OPT_FLAGS_NO = /WARN:3 /debug
|
||||||
@@ -158,7 +155,7 @@ OP_SYS_CFLAGS =
|
|||||||
#
|
#
|
||||||
# WIN32 specific include files
|
# WIN32 specific include files
|
||||||
#
|
#
|
||||||
OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32
|
#OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32
|
||||||
|
|
||||||
#
|
#
|
||||||
# These are now added to the individual makefiles that use them in order to
|
# These are now added to the individual makefiles that use them in order to
|
||||||
@@ -236,7 +233,7 @@ USR_DEPLIBS = $(foreach lib,$(USR_LIBS),$(firstword $($(lib)_DIR) $(EPICS_BASE_L
|
|||||||
|
|
||||||
# by default the libraries used when linking the DLL are just
|
# by default the libraries used when linking the DLL are just
|
||||||
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
# PROD_LIBS ans SYS_PROD_LIBS minus the DLL name
|
||||||
DLL_LIBS = $(subst $(LIBRARY),, $(PROD_LIBS))
|
DLL_LIBS = $(patsubst $(LIBRARY),, $(PROD_LIBS))
|
||||||
|
|
||||||
#
|
#
|
||||||
# EPICS libs that we need to link the DLL with
|
# EPICS libs that we need to link the DLL with
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ ACC_SFLAGS_YES= -non_shared
|
|||||||
ACC_SFLAGS_NO= -call_shared
|
ACC_SFLAGS_NO= -call_shared
|
||||||
ACC_SLIBS_YES =
|
ACC_SLIBS_YES =
|
||||||
ACC_SLIBS_NO=
|
ACC_SLIBS_NO=
|
||||||
ACC_SHRLIB_CFLAGS_YES = -shared
|
ACC_SHRLIB_CFLAGS_YES =
|
||||||
ACC_SHRLIB_LDFLAGS_YES =
|
ACC_SHRLIB_LDFLAGS_YES = -shared
|
||||||
|
|
||||||
# Configure OS vendor C++ compiler
|
# Configure OS vendor C++ compiler
|
||||||
CCC = cxx
|
CCC = cxx
|
||||||
@@ -39,8 +39,10 @@ CCC_SFLAGS_YES=
|
|||||||
CCC_SFLAGS_NO=
|
CCC_SFLAGS_NO=
|
||||||
CCC_SLIBS_YES =
|
CCC_SLIBS_YES =
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
|
CCC_SHRLIB_CFLAGS_YES =
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -shared
|
||||||
CCC_DEPENDS_FLAG =
|
CCC_DEPENDS_FLAG =
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
|
ARCH_DEP_CFLAGS = -D_OSF_SOURCE
|
||||||
ARCH_DEP_LDLIBS = -lnsl
|
ARCH_DEP_LDLIBS =
|
||||||
|
|
||||||
|
|||||||
@@ -24,5 +24,11 @@ SHARED_LIBRARIES=NO
|
|||||||
#==========================
|
#==========================
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -DCYGWIN32 -U_WIN32
|
ARCH_DEP_CFLAGS = -DCYGWIN32 -U_WIN32
|
||||||
ARCH_DEP_LDLIBS = -lm
|
ARCH_DEP_LDLIBS =
|
||||||
|
OP_SYS_LDLIBS =
|
||||||
|
|
||||||
|
# cygwin32 overrides to eliminate following warning message -
|
||||||
|
# -fPIC ignored for target (all code is position independent)
|
||||||
|
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||||
|
G++_DEP_CFLAGS = -D_REENTRANT
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ ARCH_CLASS = hp700
|
|||||||
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||||
|
|
||||||
SHRLIB_SUFFIX = .sl
|
SHRLIB_SUFFIX = .sl
|
||||||
|
|
||||||
AR = ar
|
AR = ar
|
||||||
|
|
||||||
# Configure OS vendor C compiler
|
# Configure OS vendor C compiler
|
||||||
@@ -27,6 +27,7 @@ ACC_SLIBS_YES =
|
|||||||
ACC_SLIBS_NO=
|
ACC_SLIBS_NO=
|
||||||
ACC_SHRLIB_CFLAGS_YES = +Z
|
ACC_SHRLIB_CFLAGS_YES = +Z
|
||||||
ACC_SHRLIB_LDFLAGS_YES = -b
|
ACC_SHRLIB_LDFLAGS_YES = -b
|
||||||
|
ACC_DEP_CFLAGS=+DAportable
|
||||||
|
|
||||||
# Configure OS vendor C++ compiler
|
# Configure OS vendor C++ compiler
|
||||||
HPCC = cc
|
HPCC = cc
|
||||||
@@ -43,10 +44,17 @@ HPCC_SLIBS_YES =
|
|||||||
HPCC_SLIBS_NO=
|
HPCC_SLIBS_NO=
|
||||||
HPCC_SHRLIB_CFLAGS_YES = +Z
|
HPCC_SHRLIB_CFLAGS_YES = +Z
|
||||||
HPCC_SHRLIB_LDFLAGS_YES = -b
|
HPCC_SHRLIB_LDFLAGS_YES = -b
|
||||||
|
HPCC_DEP_CFLAGS=+DAportable
|
||||||
|
|
||||||
CCC = CC
|
#Old HP C++ compiler
|
||||||
CCC_NORMAL = $(CCC) +p
|
#CCC = CC
|
||||||
CCC_STRICT = $(CCC) +p
|
#CCC_NORMAL = $(CCC) +p
|
||||||
|
|
||||||
|
#New HP C++ compiler
|
||||||
|
CCC = aCC
|
||||||
|
# avoid treating "future errors" as actual errors
|
||||||
|
CCC_NORMAL = $(CCC) -AA -Aa +W302 +W829 +W818 +W392 +W469 +W495 +W749 +W667 +W392 +W684
|
||||||
|
CCC_STRICT = $(CCC) -AA -Aa +p
|
||||||
CCC_TEMPL_INST_FLAG =
|
CCC_TEMPL_INST_FLAG =
|
||||||
CCC_WARN_YES = +w
|
CCC_WARN_YES = +w
|
||||||
CCC_WARN_NO =
|
CCC_WARN_NO =
|
||||||
@@ -56,8 +64,20 @@ CCC_SFLAGS_YES= -Wl,-a,archive
|
|||||||
CCC_SFLAGS_NO=
|
CCC_SFLAGS_NO=
|
||||||
CCC_SLIBS_YES =
|
CCC_SLIBS_YES =
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
CCC_DEPENDS_FLAG =
|
CCC_SHRLIB_CFLAGS_YES = +Z
|
||||||
|
# shared libs will be found by searching environment variable SHLIB_PATH,
|
||||||
|
# then by searching the specified path (see below)
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -b
|
||||||
|
CCC_DEPENDS_FLAG = +m
|
||||||
|
CCC_DEP_CFLAGS=+DAportable
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
|
# +DAportable causes portable object code to be created for execution
|
||||||
|
# on different PA-Risc machines
|
||||||
|
|
||||||
|
empty:=
|
||||||
|
space:= $(empty) $(empty)
|
||||||
|
|
||||||
|
ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||||
|
ARCH_DEP_CXXFLAGS = -D_HPUX_SOURCE -DHP_UX
|
||||||
ARCH_DEP_LDLIBS =
|
ARCH_DEP_LDLIBS =
|
||||||
|
ARCH_DEP_LDFLAGS = -Wl,+b,$(subst $(space),:,$(DEFAULT_SHRLIB_SEARCH_PATH)),+s
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ CCC_SFLAGS_NO=
|
|||||||
CCC_SLIBS_YES =
|
CCC_SLIBS_YES =
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
CCC_DEPENDS_FLAG =
|
CCC_DEPENDS_FLAG =
|
||||||
|
CCC_SHRLIB_CFLAGS_YES = -KPIC
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -shared
|
||||||
|
|
||||||
####KRCC = ??
|
####KRCC = ??
|
||||||
|
|
||||||
|
|||||||
@@ -26,21 +26,24 @@ ACC = $(SPARCWORKS)/bin/cc
|
|||||||
ACC_ANSI = $(ACC) -Xa
|
ACC_ANSI = $(ACC) -Xa
|
||||||
ACC_STRICT = $(ACC) -Xc -v
|
ACC_STRICT = $(ACC) -Xc -v
|
||||||
ACC_TRAD = $(ACC) -Xs
|
ACC_TRAD = $(ACC) -Xs
|
||||||
|
ACC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||||
|
|
||||||
ACC_WARN_YES =
|
ACC_WARN_YES =
|
||||||
ACC_WARN_NO = -w
|
ACC_WARN_NO = -w
|
||||||
ACC_OPT_YES = -O
|
ACC_OPT_YES = -O
|
||||||
ACC_OPT_NO = -g
|
ACC_OPT_NO = -g
|
||||||
ACC_SFLAGS_YES= -Bstatic
|
ACC_SFLAGS_YES= -Bstatic
|
||||||
ACC_SFLAGS_NO=
|
ACC_SFLAGS_NO=
|
||||||
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||||
ACC_SLIBS_NO=
|
ACC_SLIBS_NO=
|
||||||
ACC_SHRLIB_CFLAGS_YES = -KPIC -D_REENTRANT
|
ACC_SHRLIB_CFLAGS_YES =
|
||||||
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
ACC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||||
|
|
||||||
# Configure OS vendor C++ compiler
|
# Configure OS vendor C++ compiler
|
||||||
CCC = $(SPARCWORKS)/bin/CC
|
CCC = $(SPARCWORKS)/bin/CC
|
||||||
CCC_NORMAL = $(CCC) +p
|
CCC_NORMAL = $(CCC) +p
|
||||||
CCC_STRICT = $(CCC) +p
|
CCC_STRICT = $(CCC) +p
|
||||||
|
CCC_DEP_CFLAGS = -KPIC -D_REENTRANT
|
||||||
CCC_TEMPL_INST_FLAG =
|
CCC_TEMPL_INST_FLAG =
|
||||||
CCC_WARN_YES = +w
|
CCC_WARN_YES = +w
|
||||||
CCC_WARN_NO =
|
CCC_WARN_NO =
|
||||||
@@ -48,11 +51,16 @@ CCC_OPT_YES = -O
|
|||||||
CCC_OPT_NO = -g
|
CCC_OPT_NO = -g
|
||||||
CCC_SFLAGS_YES= -Bstatic
|
CCC_SFLAGS_YES= -Bstatic
|
||||||
CCC_SFLAGS_NO=
|
CCC_SFLAGS_NO=
|
||||||
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX
|
CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
CCC_DEPENDS_FLAG = -xM1
|
CCC_DEPENDS_FLAG = -xM1
|
||||||
|
CCC_SHRLIB_CFLAGS_YES =
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -G -h $@
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -DSOLARIS
|
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||||
|
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||||
|
POSIX_CPPFLAGS_YES += -D__EXTENSIONS__
|
||||||
|
|
||||||
# socket and nsl needed by libca.a
|
# socket and nsl needed by libca.a
|
||||||
ARCH_DEP_LDLIBS = -lsocket -lnsl
|
ARCH_DEP_LDLIBS = -lsocket -lnsl
|
||||||
|
|
||||||
|
|||||||
10
config/CONFIG.Host.solaris-x86
Normal file
10
config/CONFIG.Host.solaris-x86
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# CONFIG.Host.solaris-x86
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
# Sites may override these definitions in CONFIG_SITE.Host.solaris-x86
|
||||||
|
|
||||||
|
-include $(EPICS_BASE)/config/CONFIG.Host.solaris
|
||||||
|
|
||||||
|
# Solaris on x86
|
||||||
|
ARCH_DEP_CPPFLAGS += -D_X86_
|
||||||
|
|
||||||
29
config/CONFIG.Host.solarisGnu
Normal file
29
config/CONFIG.Host.solarisGnu
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# CONFIG.Host.solarisGnu
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
# Sites may override these definitions in CONFIG_SITE.Host.solarisGnu
|
||||||
|
|
||||||
|
ARCH_CLASS = solaris
|
||||||
|
|
||||||
|
# Include definitions common to all Unix archs
|
||||||
|
include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon
|
||||||
|
|
||||||
|
AR = ar
|
||||||
|
_AR = $(AR) $(ARFLAGS)
|
||||||
|
G++_AR = $(_AR)
|
||||||
|
CCC_AR = $(CCC) -xar -o
|
||||||
|
ARCMD = $($(CPLUSPLUS)_AR) $@
|
||||||
|
RANLIB =
|
||||||
|
|
||||||
|
#==========================
|
||||||
|
# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE
|
||||||
|
ANSI=GCC
|
||||||
|
CPLUSPLUS=G++
|
||||||
|
#==========================
|
||||||
|
|
||||||
|
SOLARIS_VERSION = $(subst 5.,,$(shell uname -r))
|
||||||
|
ARCH_DEP_CPPFLAGS += -DSOLARIS=$(SOLARIS_VERSION)
|
||||||
|
|
||||||
|
# socket and nsl needed by libca.a
|
||||||
|
ARCH_DEP_LDLIBS += -lsocket -lnsl
|
||||||
|
|
||||||
@@ -68,6 +68,8 @@ CCC_SFLAGS_YES= -Bstatic
|
|||||||
CCC_SFLAGS_NO=
|
CCC_SFLAGS_NO=
|
||||||
CCC_SLIBS_YES=
|
CCC_SLIBS_YES=
|
||||||
CCC_SLIBS_NO=
|
CCC_SLIBS_NO=
|
||||||
|
CCC_SHRLIB_CFLAGS_YES = -pic
|
||||||
|
CCC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@
|
||||||
CCC_DEPENDS_FLAG = -xM1
|
CCC_DEPENDS_FLAG = -xM1
|
||||||
|
|
||||||
GCC_ANSI += -D__USE_FIXED_PROTOTYPES__
|
GCC_ANSI += -D__USE_FIXED_PROTOTYPES__
|
||||||
|
|||||||
142
config/CONFIG.LynxOS
Normal file
142
config/CONFIG.LynxOS
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file contains definitions for Vx builds
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# operating system class (include/os/<os_class>)
|
||||||
|
OS_CLASS = LynxOS
|
||||||
|
|
||||||
|
lynx_pc486 =YES
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# vxWorks directory definitions
|
||||||
|
|
||||||
|
# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB
|
||||||
|
# can be overridden for specific host architectures
|
||||||
|
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
||||||
|
# the override definitions.
|
||||||
|
|
||||||
|
# Tornado directory definitions
|
||||||
|
VX_INCLUDE_YES =
|
||||||
|
VX_GNU_YES =
|
||||||
|
VX_GNU_BIN_YES =
|
||||||
|
VX_GNU_LIB_YES =
|
||||||
|
|
||||||
|
|
||||||
|
# pre Torando directory definitions
|
||||||
|
VX_INCLUDE_NO =
|
||||||
|
VX_GNU_NO =
|
||||||
|
VX_GNU_BIN_NO =
|
||||||
|
|
||||||
|
# directory definitions
|
||||||
|
VX_DIR =
|
||||||
|
VX_INCLUDE =
|
||||||
|
VX_GNU =
|
||||||
|
|
||||||
|
GNU_BIN = /usr/local/bin
|
||||||
|
GNU_LIB = /usr/local/lib
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# VxWorks command definitions
|
||||||
|
|
||||||
|
#GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||||
|
#AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
|
||||||
|
#CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
|
||||||
|
#RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
|
||||||
|
#LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||||
|
|
||||||
|
AR = ar -rc
|
||||||
|
ARCMD = $(AR) $@
|
||||||
|
RANLIB = ranlib -t
|
||||||
|
GCC = gcc
|
||||||
|
CPP = cpp
|
||||||
|
LD = ld -r
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Tornado C++ crosscompiler definitions
|
||||||
|
|
||||||
|
#CPLUSPLUS_YES = G++
|
||||||
|
#G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||||
|
#LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||||
|
#NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX)
|
||||||
|
#MUNCH = $(GNU_BIN)/munch
|
||||||
|
|
||||||
|
CPLUSPLUS_YES = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||||
|
G++ = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||||
|
LD_G++ = ld -r
|
||||||
|
NM = nm
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Pre Tornado C++ crosscompiler definitions
|
||||||
|
# These are pre tornado definitions for Hideos builds (defined for 68k only)
|
||||||
|
|
||||||
|
#CPLUSPLUS_NO = CCC
|
||||||
|
#CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL
|
||||||
|
#LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r
|
||||||
|
|
||||||
|
CPLUSPLUS_NO = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||||
|
CCC = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP
|
||||||
|
LD_CCC = ld -r
|
||||||
|
|
||||||
|
CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS)
|
||||||
|
CCC_STRICT = $(CCC) -ansi -pedantic -Wall -traditional $(OLD_ARCH_DEP_CFLAGS)
|
||||||
|
CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS)
|
||||||
|
CCC_TEMPL_INST_FLAG = -DEXPL_TEMP
|
||||||
|
CCC_WARN_YES = -Wall
|
||||||
|
CCC_WARN_NO = -w
|
||||||
|
CCC_OPT_YES = -O
|
||||||
|
CCC_OPT_NO = -g
|
||||||
|
CCC_DEPENDS_FLAG = -pedantic -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||||
|
CPU = i486
|
||||||
|
OS = lynxos
|
||||||
|
OLD_ARCH_DEP_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||||
|
# --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \
|
||||||
|
# -DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD)
|
||||||
|
OLD_ARCH_DEP_LDFLAGS = -mposix -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||||
|
# -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# C compiler definitions
|
||||||
|
ANSI = gcc -ansi
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Command definitions
|
||||||
|
CPLUSPLUS = g++
|
||||||
|
# $(CPLUSPLUS_$(TORNADO))
|
||||||
|
LD_CXX = ld -r
|
||||||
|
# $(LD_$(CPLUSPLUS))
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Operating system flags
|
||||||
|
OP_SYS_INCLUDES =
|
||||||
|
# -I$(VX_INCLUDE)
|
||||||
|
OP_SYS_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||||
|
# -DvxWorks -DV5_vxWorks -fno-builtin
|
||||||
|
OP_SYS_LDFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_
|
||||||
|
OP_SYS_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Optimization flag overrides
|
||||||
|
GCC_OPT_YES = -O
|
||||||
|
# 2 -fstrength-reduce
|
||||||
|
G++_OPT_YES = -O
|
||||||
|
# 2 -fstrength-reduce
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Link definitions
|
||||||
|
LINK.c = $(LD) $(LDFLAGS) -o
|
||||||
|
LINK.cc = $(LD_CXX) $(LDFLAGS) -o
|
||||||
|
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
# This file contains definitions for Vx builds
|
# This file contains definitions for Vx builds
|
||||||
@@ -13,34 +22,33 @@ OS_CLASS = vxWorks
|
|||||||
# can be overridden for specific host architectures
|
# can be overridden for specific host architectures
|
||||||
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
# by creating a CONFIG_SITE.Vx.<host_arch> file with
|
||||||
# the override definitions.
|
# the override definitions.
|
||||||
|
|
||||||
# Tornado directory definitions
|
# Tornado directory definitions
|
||||||
VX_CONFIG_DIR_YES = $(VX_DIR)/target/config
|
|
||||||
VX_INCLUDE_YES = $(VX_DIR)/target/h
|
VX_INCLUDE_YES = $(VX_DIR)/target/h
|
||||||
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
|
VX_GNU_YES = $(VX_DIR)/host/$(WIND_HOST_TYPE)
|
||||||
VX_GNU_BIN_YES = $(VX_GNU)/bin
|
VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||||
VX_GNU_LIB_YES = $(VX_GNU)/lib
|
VX_GNU_LIB_YES = $(VX_GNU)/lib
|
||||||
|
|
||||||
# pre Torando directory definitions
|
# pre Torando directory definitions
|
||||||
VX_CONFIG_DIR_NO = $(VX_DIR)/config
|
|
||||||
VX_INCLUDE_NO = $(VX_DIR)/h
|
VX_INCLUDE_NO = $(VX_DIR)/h
|
||||||
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
VX_GNU_BIN_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
|
VX_GNU_LIB_NO = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib
|
||||||
|
|
||||||
# directory definitions
|
# directory definitions
|
||||||
VX_DIR = $(VX_DIR_$(TORNADO))
|
VX_DIR = $(VX_DIR_$(TORNADO))
|
||||||
VX_CONFIG_DIR = $(VX_CONFIG_DIR_$(TORNADO))
|
|
||||||
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
|
VX_INCLUDE = $(VX_INCLUDE_$(TORNADO))
|
||||||
VX_GNU = $(VX_GNU_$(TORNADO))
|
VX_GNU = $(VX_GNU_$(TORNADO))
|
||||||
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
|
GNU_BIN = $(VX_GNU_BIN_$(TORNADO))
|
||||||
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
|
GNU_LIB = $(VX_GNU_LIB_$(TORNADO))
|
||||||
|
export GCC_EXEC_PREFIX = $(GNU_LIB)/gcc-lib/
|
||||||
|
export WIND_BASE = $(VX_DIR)
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# VxWorks command definitions
|
# VxWorks command definitions
|
||||||
|
|
||||||
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||||
AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
|
AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX)
|
||||||
CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc
|
CPP = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
|
||||||
RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
|
RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX)
|
||||||
LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r
|
||||||
|
|
||||||
@@ -85,6 +93,11 @@ ANSI = GCC
|
|||||||
CPLUSPLUS = $(CPLUSPLUS_$(TORNADO))
|
CPLUSPLUS = $(CPLUSPLUS_$(TORNADO))
|
||||||
LD_CXX = $(LD_$(CPLUSPLUS))
|
LD_CXX = $(LD_$(CPLUSPLUS))
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Override flags in CONFIG_COMMON
|
||||||
|
GCC_DEP_CFLAGS = -D_REENTRANT
|
||||||
|
G++_DEP_CFLAGS = -D_REENTRANT
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Operating system flags
|
# Operating system flags
|
||||||
OP_SYS_INCLUDES = -I$(VX_INCLUDE)
|
OP_SYS_INCLUDES = -I$(VX_INCLUDE)
|
||||||
@@ -92,10 +105,31 @@ OP_SYS_CFLAGS = -DvxWorks -DV5_vxWorks -fno-builtin
|
|||||||
OP_SYS_LDFLAGS =
|
OP_SYS_LDFLAGS =
|
||||||
OP_SYS_LDLIBS =
|
OP_SYS_LDLIBS =
|
||||||
|
|
||||||
|
# Fix for vxWorks headers using macros defined in
|
||||||
|
# vxWorks.h but not including vxWorks.h
|
||||||
|
ifeq ($(TORNADO), YES)
|
||||||
|
OP_SYS_CFLAGS += -include $(VX_INCLUDE)/vxWorks.h
|
||||||
|
endif
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Optimization flag overrides
|
# Optimization flag overrides
|
||||||
GCC_OPT_YES = -O2 -fstrength-reduce
|
GCC_OPT_YES = -O2 -fstrength-reduce
|
||||||
|
GCC_OPT_NO = -g
|
||||||
G++_OPT_YES = -O2 -fstrength-reduce
|
G++_OPT_YES = -O2 -fstrength-reduce
|
||||||
|
G++_OPT_NO = -g
|
||||||
|
|
||||||
|
OPT_CFLAGS = $($(ANSI)_OPT_$(VX_OPT))
|
||||||
|
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(VX_OPT))
|
||||||
|
|
||||||
|
#--------------------------------------------------
|
||||||
|
# Warning flag overrides
|
||||||
|
GCC_WARN_YES = -Wall
|
||||||
|
GCC_WARN_NO = -w
|
||||||
|
G++_WARN_YES = -Wall
|
||||||
|
G++_WARN_NO = -w
|
||||||
|
|
||||||
|
WARN_CFLAGS = $($(ANSI)_WARN_$(VX_WARN))
|
||||||
|
WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(VX_WARN))
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Link definitions
|
# Link definitions
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# 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
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ CMPLR_SUFFIX = sparc
|
|||||||
ARCH_CLASS = sparc
|
ARCH_CLASS = sparc
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=SPARC -DCPU_FAMILY=SPARC
|
ARCH_DEP_CPPFLAGS = -DCPU=SPARC -DCPU_FAMILY=SPARC
|
||||||
|
ARCH_DEP_CFLAGS =
|
||||||
# Removed -O2 [24/12/96 PMM]
|
# Removed -O2 [24/12/96 PMM]
|
||||||
OLD_ARCH_DEP_CXXFLAGS = -fno-builtin -ansi -pipe -nostdinc -DCPU=SPARC \
|
OLD_ARCH_DEP_CXXFLAGS = -fno-builtin -ansi -pipe -nostdinc -DCPU=SPARC \
|
||||||
-DVXWORKS -Dsigned= -Dvolatile= +V
|
-DVXWORKS -Dsigned= -Dvolatile= +V
|
||||||
|
|||||||
@@ -11,7 +11,8 @@ CMPLR_SUFFIX = mips
|
|||||||
ARCH_CLASS = mips
|
ARCH_CLASS = mips
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0 -DCPU=R4000
|
ARCH_DEP_CPPFLAGS = -DCPU=R4000
|
||||||
|
ARCH_DEP_CFLAGS = -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0
|
||||||
|
|
||||||
# Arch specific flags
|
# Arch specific flags
|
||||||
GCC += -fsigned-char
|
GCC += -fsigned-char
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68020 -m68020 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68020
|
||||||
|
ARCH_DEP_CFLAGS = -m68020
|
||||||
|
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68030
|
||||||
|
ARCH_DEP_CFLAGS = -m68030
|
||||||
|
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ CMPLR_SUFFIX = ppc
|
|||||||
ARCH_CLASS = ppc
|
ARCH_CLASS = ppc
|
||||||
|
|
||||||
# Architecture specific build flags (TRUE=1 via LBL; needed in camessage.c)
|
# Architecture specific build flags (TRUE=1 via LBL; needed in camessage.c)
|
||||||
ARCH_DEP_CFLAGS = -fno-for-scope -DCPU_FAMILY=PPC -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
ARCH_DEP_CPPFLAGS = -DCPU_FAMILY=PPC -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||||
|
ARCH_DEP_CFLAGS = -fno-for-scope
|
||||||
|
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
||||||
|
ARCH_DEP_CFLAGS = -m68040
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,5 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68040 -msoft-float -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68LC040
|
||||||
|
ARCH_DEP_CFLAGS = -m68040 -msoft-float
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68040
|
||||||
|
ARCH_DEP_CFLAGS = -m68040
|
||||||
|
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68060 -m68040 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68060
|
||||||
|
ARCH_DEP_CFLAGS = -m68040
|
||||||
|
|
||||||
|
|||||||
16
config/CONFIG.Vx.mv2700
Normal file
16
config/CONFIG.Vx.mv2700
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = ppc
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = mv2700
|
||||||
|
|
||||||
|
# Architecture specific build flags
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
|
||||||
|
ARCH_DEP_CFLAGS = -mcpu=604
|
||||||
|
|
||||||
@@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k
|
|||||||
ARCH_CLASS = 68k
|
ARCH_CLASS = 68k
|
||||||
|
|
||||||
# Architecture specific build flags
|
# Architecture specific build flags
|
||||||
ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0
|
ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DNICPU030
|
||||||
|
ARCH_DEP_CFLAGS = -m68030
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ CMPLR_SUFFIX = 386
|
|||||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
ARCH_CLASS = pc486
|
ARCH_CLASS = pc486
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -DCPU=I80486 -m486 -DCPU_FAMILY=I80x86 -D_X86_
|
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
|
||||||
|
ARCH_DEP_CFLAGS = -m486
|
||||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||||
|
|
||||||
|
|||||||
16
config/CONFIG.Vx.ppc603
Normal file
16
config/CONFIG.Vx.ppc603
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = ppc
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = ppc
|
||||||
|
|
||||||
|
# Architecture specific build flags
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||||
|
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align
|
||||||
|
|
||||||
|
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||||
16
config/CONFIG.Vx.ppc603_long
Normal file
16
config/CONFIG.Vx.ppc603_long
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = ppc
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = ppc
|
||||||
|
|
||||||
|
# Architecture specific build flags
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PPC603 -DTRUE=1
|
||||||
|
ARCH_DEP_CFLAGS = -mcpu=603 --no-builtin -mstrict-align -mlongcall
|
||||||
|
|
||||||
|
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||||
17
config/CONFIG.Vx.ppc604
Normal file
17
config/CONFIG.Vx.ppc604
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = ppc
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = ppc
|
||||||
|
|
||||||
|
# Architecture specific build flags
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||||
|
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align
|
||||||
|
|
||||||
|
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||||
|
|
||||||
17
config/CONFIG.Vx.ppc604_long
Normal file
17
config/CONFIG.Vx.ppc604_long
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = ppc
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = ppc
|
||||||
|
|
||||||
|
# Architecture specific build flags
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1
|
||||||
|
ARCH_DEP_CFLAGS = -mcpu=604 --no-builtin -mstrict-align -mlongcall
|
||||||
|
|
||||||
|
# ARCH_DEP_CFLAGS+= -fsigned-char #May need for calcPerform.c
|
||||||
|
|
||||||
16
config/CONFIG.Vx.sbs_pc6
Normal file
16
config/CONFIG.Vx.sbs_pc6
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Created by Korobov for SBS PC6
|
||||||
|
# CONFIG.Vx.sbs_pc6
|
||||||
|
#
|
||||||
|
# This file is maintained by the EPICS community.
|
||||||
|
|
||||||
|
# Vx GNU cross compiler suffix
|
||||||
|
CMPLR_SUFFIX = 386
|
||||||
|
|
||||||
|
# For Vx directories of form:
|
||||||
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
|
ARCH_CLASS = sbs_pc6
|
||||||
|
|
||||||
|
ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -DCPU_VARIANT=PENTIUM -D_X86_
|
||||||
|
ARCH_DEP_CFLAGS = -mpentium
|
||||||
|
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||||
|
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||||
@@ -10,7 +10,8 @@ CMPLR_SUFFIX = 386
|
|||||||
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin
|
||||||
ARCH_CLASS = pc486
|
ARCH_CLASS = pc486
|
||||||
|
|
||||||
ARCH_DEP_CFLAGS = -DCPU=I80486 -m486 -DCPU_FAMILY=I80x86 -D_X86_
|
ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_
|
||||||
|
ARCH_DEP_CFLAGS = -m486
|
||||||
ARCH_DEP_CXXFLAGS += -x 'c++'
|
ARCH_DEP_CXXFLAGS += -x 'c++'
|
||||||
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
@@ -49,13 +58,3 @@ endif
|
|||||||
|
|
||||||
EPICS_BASE = $(INSTALL_LOCATION)
|
EPICS_BASE = $(INSTALL_LOCATION)
|
||||||
|
|
||||||
#
|
|
||||||
# this speeds up the build by turning off implicit rules search
|
|
||||||
# for EPICS Makefiles (which are not created from other files)
|
|
||||||
.PHONY:: $(TOP)/config/CONFIG
|
|
||||||
.PHONY:: $(TOP)/config/CONFIG.* $(TOP)/config/CONFIG_*
|
|
||||||
.PHONY:: $(TOP)/config/RULES.* $(TOP)/config/RULES_* DEPENDS
|
|
||||||
.PHONY:: $(HOME)/EPICS_CONFIG $(HOME)/EPICS_CONFIG.$(HOST_ARCH)
|
|
||||||
.PHONY:: ../Makefile.Vx ../Makefile.Unix ../Makefile.Host Makefile
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
@@ -9,11 +18,14 @@
|
|||||||
|
|
||||||
EPICS_VERSION=3
|
EPICS_VERSION=3
|
||||||
EPICS_REVISION=13
|
EPICS_REVISION=13
|
||||||
EPICS_MODIFICATION=1
|
EPICS_MODIFICATION=10
|
||||||
EPICS_UPDATE_NAME=
|
EPICS_UPDATE_NAME=
|
||||||
EPICS_UPDATE_LEVEL=0
|
EPICS_UPDATE_LEVEL=0
|
||||||
|
|
||||||
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}"
|
EPICS_LOCAL_NAME=B
|
||||||
|
EPICS_LOCAL_VERSION=0
|
||||||
|
|
||||||
|
EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}.$(EPICS_LOCAL_NAME)$(EPICS_LOCAL_VERSION)"
|
||||||
|
|
||||||
CVS_DATE="\$$Date$$"
|
CVS_DATE="\$$Date$$"
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
@@ -11,15 +20,15 @@
|
|||||||
|
|
||||||
# CROSS1 will be defined only when CROSS_COMPILER_HOST_ARCHS is NOT defined
|
# CROSS1 will be defined only when CROSS_COMPILER_HOST_ARCHS is NOT defined
|
||||||
CROSS1 = $(CROSS_COMPILER_TARGET_ARCHS$(word 1,$(CROSS_COMPILER_HOST_ARCHS)))
|
CROSS1 = $(CROSS_COMPILER_TARGET_ARCHS$(word 1,$(CROSS_COMPILER_HOST_ARCHS)))
|
||||||
|
|
||||||
# CROSS2 will be defined only when CROSS_COMPILER_HOST_ARCHS is defined
|
# CROSS2 will be defined only when CROSS_COMPILER_HOST_ARCHS is defined
|
||||||
# and HOST_ARCH is one of it's words
|
# and HOST_ARCH is one of it's words
|
||||||
CROSS2 = $(CROSS_COMPILER_TARGET_ARCHS$(filter-out 1,$(words $(filter $(HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS)))))
|
CROSS2 = $(CROSS_COMPILER_TARGET_ARCHS$(filter-out 1,$(words $(filter $(HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS)))))
|
||||||
|
|
||||||
BUILD_ARCHS = $(HOST_ARCH) $(CROSS1) $(CROSS2)
|
BUILD_ARCHS = $(HOST_ARCH) $(CROSS1) $(CROSS2)
|
||||||
|
|
||||||
INSTALL_LOCATION = $(TOP)
|
INSTALL_LOCATION = $(TOP)
|
||||||
|
|
||||||
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
|
INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib
|
||||||
INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin
|
INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin
|
||||||
|
|
||||||
@@ -30,6 +39,7 @@ INSTALL_MAN = $(INSTALL_LOCATION)/man
|
|||||||
INSTALL_TEMPLATES = $(INSTALL_LOCATION)/templates
|
INSTALL_TEMPLATES = $(INSTALL_LOCATION)/templates
|
||||||
INSTALL_DBD = $(INSTALL_LOCATION)/dbd
|
INSTALL_DBD = $(INSTALL_LOCATION)/dbd
|
||||||
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
INSTALL_CONFIG = $(INSTALL_LOCATION)/config
|
||||||
|
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
|
||||||
|
|
||||||
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
|
EPICS_BASE_INCLUDE = $(EPICS_BASE)/include
|
||||||
|
|
||||||
@@ -38,6 +48,8 @@ OBJ = .
|
|||||||
RES = .
|
RES = .
|
||||||
|
|
||||||
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(HOST_ARCH)
|
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(HOST_ARCH)
|
||||||
|
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(HOST_ARCH)
|
||||||
|
INSTALL_HOST_LIB = $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
|
||||||
|
|
||||||
|
|
||||||
# private versions of lex/yacc from EPICS
|
# private versions of lex/yacc from EPICS
|
||||||
@@ -53,6 +65,7 @@ PERL=perl
|
|||||||
# install from EPICS
|
# install from EPICS
|
||||||
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
|
INSTALL = $(PERL) $(EPICS_BASE_HOST_BIN)/installEpics.pl
|
||||||
INSTALL_PRODUCT = $(INSTALL)
|
INSTALL_PRODUCT = $(INSTALL)
|
||||||
|
INSTALL_LIBRARY = $(INSTALL)
|
||||||
|
|
||||||
# dbtools from EPICS
|
# dbtools from EPICS
|
||||||
|
|
||||||
@@ -74,6 +87,7 @@ EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
|
|||||||
GCC_ANSI = $(GCC) -ansi
|
GCC_ANSI = $(GCC) -ansi
|
||||||
GCC_STRICT = $(GCC) -ansi -pedantic
|
GCC_STRICT = $(GCC) -ansi -pedantic
|
||||||
GCC_TRAD = $(GCC) -traditional
|
GCC_TRAD = $(GCC) -traditional
|
||||||
|
GCC_DEP_CFLAGS = -fPIC -D_REENTRANT
|
||||||
GCC_WARN_YES = -Wall
|
GCC_WARN_YES = -Wall
|
||||||
GCC_WARN_NO = -w
|
GCC_WARN_NO = -w
|
||||||
GCC_OPT_YES = -O
|
GCC_OPT_YES = -O
|
||||||
@@ -82,13 +96,14 @@ GCC_SFLAGS_YES = -static
|
|||||||
GCC_SFLAGS_NO =
|
GCC_SFLAGS_NO =
|
||||||
GCC_SLIBS_YES =
|
GCC_SLIBS_YES =
|
||||||
GCC_SLIBS_NO =
|
GCC_SLIBS_NO =
|
||||||
GCC_SHRLIB_CFLAGS_YES = -fPIC
|
GCC_SHRLIB_CFLAGS_YES =
|
||||||
GCC_SHRLIB_LDFLAGS_YES = -shared
|
GCC_SHRLIB_LDFLAGS_YES = -shared
|
||||||
|
|
||||||
G++_NORMAL = $(G++) -ansi -pedantic
|
G++_NORMAL = $(G++) -ansi -pedantic
|
||||||
G++_STRICT = $(G++) -ansi -pedantic -Wtraditional
|
G++_STRICT = $(G++) -ansi -pedantic -Wtraditional
|
||||||
G++_TRAD = $(G++) -traditional
|
G++_TRAD = $(G++) -traditional
|
||||||
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
G++_TEMPL_INST_FLAG = -DEXPL_TEMPL
|
||||||
|
G++_DEP_CFLAGS = -fPIC -D_REENTRANT
|
||||||
G++_WARN_YES = -Wall \
|
G++_WARN_YES = -Wall \
|
||||||
-Wmissing-prototypes -Woverloaded-virtual \
|
-Wmissing-prototypes -Woverloaded-virtual \
|
||||||
-Wwrite-strings -Wconversion -Wstrict-prototypes\
|
-Wwrite-strings -Wconversion -Wstrict-prototypes\
|
||||||
@@ -101,14 +116,19 @@ G++_SFLAGS_NO =
|
|||||||
G++_SLIBS_YES =
|
G++_SLIBS_YES =
|
||||||
G++_SLIBS_NO =
|
G++_SLIBS_NO =
|
||||||
G++_DEPENDS_FLAG = -MM
|
G++_DEPENDS_FLAG = -MM
|
||||||
G++_SHRLIB_CFLAGS_YES = -fPIC
|
G++_SHRLIB_CFLAGS_YES =
|
||||||
G++_SHRLIB_LDFLAGS_YES = -shared
|
G++_SHRLIB_LDFLAGS_YES = -shared
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# C compiler
|
# C compiler
|
||||||
|
|
||||||
CC = $($(ANSI)_$(CMPLR))
|
CC = $($(ANSI)_$(CMPLR))
|
||||||
|
|
||||||
|
#---------------------------------------------------------------
|
||||||
|
# Vendor compiler dependent options
|
||||||
|
VENDOR_DEP_CFLAGS = $($(ANSI)_DEP_CFLAGS)
|
||||||
|
VENDOR_DEP_CXXFLAGS = $($(CPLUSPLUS)_DEP_CFLAGS)
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# C++ compiler
|
# C++ compiler
|
||||||
|
|
||||||
@@ -141,6 +161,7 @@ USR_CXXFLAGS =
|
|||||||
USR_LDFLAGS =
|
USR_LDFLAGS =
|
||||||
USR_LDLIBS =
|
USR_LDLIBS =
|
||||||
USR_CPPFLAGS =
|
USR_CPPFLAGS =
|
||||||
|
USR_DBDFLAGS =
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Target specific options
|
# Target specific options
|
||||||
@@ -155,15 +176,16 @@ TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS)
|
|||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Depends flag
|
# Depends flag
|
||||||
DEPENDS_FLAG = $($(CPLUSPLUS)_DEPENDS_FLAG)
|
DEPENDS_FLAG = $($(CPLUSPLUS)_DEPENDS_FLAG)
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# C++ template flag option
|
# C++ template flag option
|
||||||
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
|
TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG)
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Epics includes (CONFIG.Vx will override OS_CLASS)
|
# Epics includes (CONFIG.Vx will override OS_CLASS)
|
||||||
OS_CLASS = $(ARCH_CLASS)
|
OS_CLASS = $(ARCH_CLASS)
|
||||||
EPICS_INCLUDES = -I$(INSTALL_INCLUDE) -I$(INSTALL_INCLUDE)/os/$(OS_CLASS)
|
EPICS_INCLUDES = -I$(INSTALL_INCLUDE) -I$(INSTALL_INCLUDE)/os/$(OS_CLASS)
|
||||||
|
EPICS_DBDFLAGS = -I $(INSTALL_LOCATION)/dbd
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Warnings flags (CONFIG.Vx will override)
|
# Warnings flags (CONFIG.Vx will override)
|
||||||
@@ -175,18 +197,18 @@ WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(HOST_WARN))
|
|||||||
OPT_CFLAGS = $($(ANSI)_OPT_$(HOST_OPT))
|
OPT_CFLAGS = $($(ANSI)_OPT_$(HOST_OPT))
|
||||||
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(HOST_OPT))
|
OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(HOST_OPT))
|
||||||
OPT_LDFLAGS =
|
OPT_LDFLAGS =
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Static build options
|
# Static build options
|
||||||
STATIC_CFLAGS = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
|
STATIC_CFLAGS = $($(ANSI)_SFLAGS_$(STATIC_BUILD))
|
||||||
STATIC_CXXCFLAGS = $($(CPLUSPLUS)_SFLAGS_$(STATIC_BUILD))
|
STATIC_CXXCFLAGS = $($(CPLUSPLUS)_SFLAGS_$(STATIC_BUILD))
|
||||||
STATIC_LDFLAGS = $($(ANSI)_SLDFLAGS_$(STATIC_BUILD))
|
STATIC_LDFLAGS = $($(ANSI)_SLDFLAGS_$(STATIC_BUILD))
|
||||||
STATIC_LDLIBS = $($(ANSI)_SLIBS_$(STATIC_BUILD))
|
STATIC_LDLIBS = $($(ANSI)_SLIBS_$(STATIC_BUILD))
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# ar definition default
|
# ar definition default
|
||||||
ARCMD = $(AR) $(ARFLAGS) $@
|
ARCMD = $(AR) $(ARFLAGS) $@
|
||||||
|
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# depends definition
|
# depends definition
|
||||||
DEPENDS_RULE = -$(COMPILE.cc) $(DEPENDS_FLAG) $^ > DEPENDS
|
DEPENDS_RULE = -$(COMPILE.cc) $(DEPENDS_FLAG) $^ > DEPENDS
|
||||||
@@ -195,13 +217,14 @@ DEPENDS_RULE = -$(COMPILE.cc) $(DEPENDS_FLAG) $^ > DEPENDS
|
|||||||
|
|
||||||
# Include files
|
# Include files
|
||||||
|
|
||||||
INCLUDES = -I. -I.. $(USR_INCLUDES) $(TARGET_INCLUDES) $(EPICS_INCLUDES) $(OP_SYS_INCLUDES)
|
INCLUDES = -I. -I.. $(USR_INCLUDES) $(EPICS_INCLUDES) $(TARGET_INCLUDES) $(OP_SYS_INCLUDES)
|
||||||
|
|
||||||
CFLAGS = $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
|
CFLAGS = $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
|
||||||
$(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(INCLUDES)
|
$(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VENDOR_DEP_CFLAGS) $(STATIC_CFLAGS)\
|
||||||
|
$(OP_SYS_CFLAGS) $(INCLUDES)
|
||||||
|
|
||||||
CXXFLAGS = $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
|
CXXFLAGS = $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
|
||||||
$(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(STATIC_CXXCFLAGS)\
|
$(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(VENDOR_DEP_CXXFLAGS) $(STATIC_CXXCFLAGS)\
|
||||||
$(OP_SYS_CFLAGS) $(TEMPL_INST_CXXFLAG) $(INCLUDES)
|
$(OP_SYS_CFLAGS) $(TEMPL_INST_CXXFLAG) $(INCLUDES)
|
||||||
|
|
||||||
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
|
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
|
||||||
@@ -210,13 +233,15 @@ LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS)\
|
|||||||
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS)\
|
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS)\
|
||||||
$(STATIC_LDLIBS) $(OP_SYS_LDLIBS)
|
$(STATIC_LDLIBS) $(OP_SYS_LDLIBS)
|
||||||
|
|
||||||
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS)
|
CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)
|
||||||
|
|
||||||
CPPSNCFLAGS = $(INCLUDES)
|
CPPSNCFLAGS = $(INCLUDES)
|
||||||
|
|
||||||
|
DBDFLAGS = -I . -I .. $(USR_DBDFLAGS) $(EPICS_DBDFLAGS)
|
||||||
|
|
||||||
# Build compile line here
|
# Build compile line here
|
||||||
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c $(SOURCE_FLAG)
|
COMPILE.c = $(CC) $(CPPFLAGS) $(CFLAGS) -c $(SOURCE_FLAG)
|
||||||
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(SOURCE_CXXFLAG)
|
COMPILE.cc = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SOURCE_CXXFLAG)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# $Id$
|
# $Id$
|
||||||
# Author: Andrew Johnson
|
# Author: Andrew Johnson
|
||||||
# Date: 20 April 1995
|
# Date: 20 April 1995
|
||||||
|
|||||||
22
config/CONFIG_HOST_ARCH.Borland
Normal file
22
config/CONFIG_HOST_ARCH.Borland
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# CONFIG_HOST_ARCH.Borland
|
||||||
|
#
|
||||||
|
|
||||||
|
EXE=.exe
|
||||||
|
|
||||||
|
CP =$(PERL) $(EPICS_BASE_HOST_BIN)/cp.pl
|
||||||
|
MV =$(PERL) $(EPICS_BASE_HOST_BIN)/mv.pl
|
||||||
|
RM =$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -f
|
||||||
|
MKDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/mkdir.pl
|
||||||
|
RMDIR=$(PERL) $(EPICS_BASE_HOST_BIN)/rm.pl -rf
|
||||||
|
FN =$(PERL) $(EPICS_BASE_HOST_BIN)/fullName.pl
|
||||||
|
CHMOD=echo
|
||||||
|
ECHO=echo
|
||||||
|
|
||||||
|
WIND_HOST_TYPE = x86-win32
|
||||||
|
|
||||||
|
# Does not work if using cygwin make
|
||||||
|
# because HOME is always defined
|
||||||
|
ifndef HOME
|
||||||
|
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||||
|
endif
|
||||||
|
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
# Include definitions common to all Unix archs
|
# Include definitions common to all Unix archs
|
||||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||||
|
|
||||||
WIND_HOST_TYPE = Linux
|
WIND_HOST_TYPE = x86-linux
|
||||||
|
|
||||||
|
|||||||
@@ -10,5 +10,11 @@ MKDIR = mkdir
|
|||||||
RMDIR = rm -rf
|
RMDIR = rm -rf
|
||||||
CHMOD = "/bin/chmod"
|
CHMOD = "/bin/chmod"
|
||||||
|
|
||||||
PERL = /usr/bin/perl
|
# Set LD_LIBRARY_PATH for shared library builds
|
||||||
|
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||||
|
export LD_LIBRARY_PATH := $(INSTALL_HOST_LIB):$(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
|
||||||
|
else
|
||||||
|
export LD_LIBRARY_PATH := $(EPICS_BASE_HOST_LIB):$(LD_LIBRARY_PATH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ ECHO=echo
|
|||||||
|
|
||||||
WIND_HOST_TYPE = x86-win32
|
WIND_HOST_TYPE = x86-win32
|
||||||
|
|
||||||
# Use std path variables from ms
|
# Does not work if using cygwin make
|
||||||
|
# because HOME is always defined
|
||||||
|
ifndef HOME
|
||||||
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
HOME = $(HOMEDRIVE)$(HOMEPATH)
|
||||||
|
endif
|
||||||
|
|
||||||
PERL = C:\\Perl\\bin\\Perl$(EXE)
|
|
||||||
|
|||||||
@@ -9,6 +9,5 @@ EXE=.exe
|
|||||||
|
|
||||||
TORNADO=YES
|
TORNADO=YES
|
||||||
|
|
||||||
WIND_HOST_TYPE = cygwin32
|
WIND_HOST_TYPE = x86-win32
|
||||||
|
|
||||||
PERL = C:\\Perl\\bin\\Perl$(EXE)
|
|
||||||
|
|||||||
@@ -5,5 +5,4 @@
|
|||||||
# Include definitions common to all Unix archs
|
# Include definitions common to all Unix archs
|
||||||
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||||
|
|
||||||
WIND_HOST_TYPE = hp700
|
WIND_HOST_TYPE = parisc-hpux10
|
||||||
|
|
||||||
|
|||||||
9
config/CONFIG_HOST_ARCH.solaris-x86
Normal file
9
config/CONFIG_HOST_ARCH.solaris-x86
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# CONFIG_HOST_ARCH.solaris-x86
|
||||||
|
#
|
||||||
|
# Override values in CONFIG.Vx
|
||||||
|
|
||||||
|
# Include definitions common to all Unix archs
|
||||||
|
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||||
|
|
||||||
|
WIND_HOST_TYPE = x86-solaris2
|
||||||
|
|
||||||
9
config/CONFIG_HOST_ARCH.solarisGnu
Normal file
9
config/CONFIG_HOST_ARCH.solarisGnu
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# CONFIG_HOST_ARCH.solarisGnu
|
||||||
|
#
|
||||||
|
# Override values in CONFIG.Vx
|
||||||
|
|
||||||
|
# Include definitions common to all Unix archs
|
||||||
|
include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon
|
||||||
|
|
||||||
|
WIND_HOST_TYPE = sun4-solaris2
|
||||||
|
|
||||||
@@ -13,13 +13,17 @@
|
|||||||
# i.e.: the arch running DCT/getrel/etc.
|
# i.e.: the arch running DCT/getrel/etc.
|
||||||
#
|
#
|
||||||
# Currently Supporting:
|
# Currently Supporting:
|
||||||
# sun4
|
# Borland
|
||||||
# hp700
|
|
||||||
# alpha
|
|
||||||
# solaris
|
|
||||||
# sgi
|
|
||||||
# Linux
|
# Linux
|
||||||
# WIN32
|
# WIN32
|
||||||
|
# alpha
|
||||||
|
# cygwin32
|
||||||
|
# hp700
|
||||||
|
# sgi
|
||||||
|
# solaris
|
||||||
|
# solarisGnu (GNU compiler)
|
||||||
|
# solaris-x86
|
||||||
|
# sun4
|
||||||
#
|
#
|
||||||
# HOST_ARCH now an environment variable
|
# HOST_ARCH now an environment variable
|
||||||
# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch)
|
# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch)
|
||||||
@@ -30,17 +34,27 @@ endif
|
|||||||
# The architectures to build EPICS for
|
# The architectures to build EPICS for
|
||||||
#
|
#
|
||||||
# Currently Supporting:
|
# Currently Supporting:
|
||||||
# mv167
|
# frc40
|
||||||
|
# frc5ce
|
||||||
|
# hkbaja47
|
||||||
|
# hkv2f
|
||||||
|
# mv147
|
||||||
|
# mv1604
|
||||||
# mv162
|
# mv162
|
||||||
# mv162lc
|
# mv162lc
|
||||||
# mv147
|
# mv167
|
||||||
# hkv2f
|
# mv177
|
||||||
# niCpu030
|
# mv2700
|
||||||
# pc486
|
# niCpu030
|
||||||
# frc5ce
|
# pc486
|
||||||
# hkbaja47
|
# ppc603
|
||||||
|
# ppc604
|
||||||
|
# ppc603_long (over 32MB)
|
||||||
|
# ppc604_long (over 32MB)
|
||||||
|
# sbs_pc6
|
||||||
|
# vxipc
|
||||||
#
|
#
|
||||||
CROSS_COMPILER_TARGET_ARCHS=mv167
|
CROSS_COMPILER_TARGET_ARCHS=
|
||||||
|
|
||||||
|
|
||||||
# If only a subset of the host architectures perform
|
# If only a subset of the host architectures perform
|
||||||
@@ -56,7 +70,8 @@ TORNADO=YES
|
|||||||
|
|
||||||
# VxWorks directory for TORNADO=YES
|
# VxWorks directory for TORNADO=YES
|
||||||
#VX_DIR_YES=c:\\Tornado
|
#VX_DIR_YES=c:\\Tornado
|
||||||
VX_DIR_YES = /usr/local/vw/tornado101
|
VX_DIR_YES = /usr/local/vw/tornado202p1
|
||||||
|
|
||||||
|
|
||||||
# VxWorks directory for TORNADO=NO
|
# VxWorks directory for TORNADO=NO
|
||||||
#VX_DIR_NO=$(VW)
|
#VX_DIR_NO=$(VW)
|
||||||
@@ -66,7 +81,7 @@ VX_DIR_YES = /usr/local/vw/tornado101
|
|||||||
VX_DIR_NO=/usr/local/vw/vxV52p1/vw
|
VX_DIR_NO=/usr/local/vw/vxV52p1/vw
|
||||||
|
|
||||||
# Directory for TORNADO=NO gnu gcc crosscompiler
|
# Directory for TORNADO=NO gnu gcc crosscompiler
|
||||||
VX_GNU_NO = $(VX_DIR)/../vxgccV2.2.3.1
|
VX_GNU_NO = $(VX_DIR_NO)/../vxgccV2.2.3.1
|
||||||
|
|
||||||
# Directory for TORNADO=NO gnu g++ crosscompiler
|
# Directory for TORNADO=NO gnu g++ crosscompiler
|
||||||
# used by applications for hideos builds only
|
# used by applications for hideos builds only
|
||||||
@@ -77,13 +92,11 @@ GNU_DIR = /usr/local/hideos/gnu_install-2.7.2
|
|||||||
# GCC (gcc -ansi) GNU
|
# GCC (gcc -ansi) GNU
|
||||||
# ACC (acc) OS VENDOR
|
# ACC (acc) OS VENDOR
|
||||||
# HPACC (cc -Aa) OTHER VENDOR
|
# HPACC (cc -Aa) OTHER VENDOR
|
||||||
#ANSI=HPACC
|
|
||||||
ANSI=ACC
|
ANSI=ACC
|
||||||
|
|
||||||
# C++ Compiler (for Host builds)
|
# C++ Compiler (for Host builds)
|
||||||
# G++ (g++) GNU C++
|
# G++ (g++) GNU C++
|
||||||
# CCC (CC) OS VENDOR C++
|
# CCC (CC) OS VENDOR C++
|
||||||
#CPLUSPLUS=G++
|
|
||||||
#Note: if CPLUSPLUS is empty then C++ src codes are not built
|
#Note: if CPLUSPLUS is empty then C++ src codes are not built
|
||||||
#CPLUSPLUS= # use this if site does not have C++ compiler
|
#CPLUSPLUS= # use this if site does not have C++ compiler
|
||||||
CPLUSPLUS=CCC
|
CPLUSPLUS=CCC
|
||||||
@@ -101,6 +114,10 @@ CMPLR=STRICT
|
|||||||
# Individual Makefiles may override
|
# Individual Makefiles may override
|
||||||
CXXCMPLR=STRICT
|
CXXCMPLR=STRICT
|
||||||
|
|
||||||
|
# Build should install all include files first?
|
||||||
|
# must be either YES or NO
|
||||||
|
MAKE_INC_TARGET_FIRST=NO
|
||||||
|
|
||||||
# Build shared libraries?
|
# Build shared libraries?
|
||||||
# (archive libraries will also be built)
|
# (archive libraries will also be built)
|
||||||
# must be either YES or NO
|
# must be either YES or NO
|
||||||
@@ -109,7 +126,7 @@ CXXCMPLR=STRICT
|
|||||||
# NOTE WIN32: YES results in a DLL. CONFIG_SITE.Host.WIN32
|
# NOTE WIN32: YES results in a DLL. CONFIG_SITE.Host.WIN32
|
||||||
# distribution file contains YES override
|
# distribution file contains YES override
|
||||||
#
|
#
|
||||||
# NOTE solaris and sun4: If YES then LD_LIBRARY_PATH must
|
# NOTE solaris,Linux, and sun4: If YES then LD_LIBRARY_PATH must
|
||||||
# include fullpathname $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
|
# include fullpathname $(INSTALL_LOCATION)/lib/$(HOST_ARCH)
|
||||||
# for both the base build and when invoking base executables
|
# for both the base build and when invoking base executables
|
||||||
SHARED_LIBRARIES=NO
|
SHARED_LIBRARIES=NO
|
||||||
|
|||||||
10
config/CONFIG_SITE.Host.Borland
Normal file
10
config/CONFIG_SITE.Host.Borland
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Site Specific Configuration Information
|
||||||
|
# Only the local epics system manager should modify this file
|
||||||
|
|
||||||
|
SHARED_LIBRARIES = YES
|
||||||
|
|
||||||
|
BORLAND=C:\\Borland\\bcc55
|
||||||
|
|
||||||
26
config/CONFIG_SITE.Host.hp700
Normal file
26
config/CONFIG_SITE.Host.hp700
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Site Specific Configuration Information
|
||||||
|
# Only the local epics system manager should modify this file
|
||||||
|
|
||||||
|
# by default, build and use shared libraries
|
||||||
|
SHARED_LIBRARIES=YES
|
||||||
|
|
||||||
|
# where we expect to find shared libraries if not found elsewhere
|
||||||
|
#DEFAULT_SHRLIB_SEARCH_PATH = /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)/lib/hp700
|
||||||
|
DEFAULT_SHRLIB_SEARCH_PATH = /cs/lib/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION).$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL):$(INSTALL_LIB)
|
||||||
|
|
||||||
|
#No special action should be required to build or use shared libraries.
|
||||||
|
#However, when a new shared library is built using the above configuration,
|
||||||
|
#it should be copied into the location specified by DEFAULT_SHRLIB_SEARCH_PATH
|
||||||
|
#which in this specific case is: /cs/lib/R3.13.1.1/
|
||||||
|
|
||||||
|
# cal added this so that libraries can be built with position
|
||||||
|
# independent code even if shared libraries aren't being built
|
||||||
|
ifeq ($(RELOCATABLE), YES)
|
||||||
|
ARCH_DEP_CFLAGS += +Z
|
||||||
|
ARCH_DEP_CXXFLAGS += +Z
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -6,6 +6,6 @@
|
|||||||
|
|
||||||
# APS overrides of definitions
|
# APS overrides of definitions
|
||||||
|
|
||||||
GCC = /opt/gnu/bin/gcc
|
#GCC = /opt/gnu/bin/gcc
|
||||||
G++ = /opt/gnu/bin/g++
|
#G++ = /opt/gnu/bin/g++
|
||||||
|
|
||||||
|
|||||||
28
config/CONFIG_SITE.Vx.Linux
Normal file
28
config/CONFIG_SITE.Vx.Linux
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file contains overrides for Vx builds
|
||||||
|
|
||||||
|
# The definitions VX_DIR, VX_GNU, GNU_DIR, GNU_LIB, etc.
|
||||||
|
# can be overridden for specific Linux-target architecture
|
||||||
|
# combinations by creating a CONFIG_SITE.Vx.Linux.<T_A>
|
||||||
|
# file with the override definitions.
|
||||||
|
|
||||||
|
## ---- jba overrides for cross compiler
|
||||||
|
## VX_DIR needed for "export WIND_BASE = $(VX_DIR)"
|
||||||
|
#VX_DIR_YES = /home/phoebus/JBA/gnu
|
||||||
|
#VX_GNU_YES = $(VX_DIR)
|
||||||
|
#VX_INCLUDE_YES = $(VX_GNU)/$(GNU_TARGET)/include
|
||||||
|
#
|
||||||
|
#CMPLR_PREFIX= $(GNU_TARGET)-
|
||||||
|
#CMPLR_SUFFIX=
|
||||||
|
#GCC = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||||
|
#AR = $(GNU_BIN)/$(CMPLR_PREFIX)ar$(CMPLR_SUFFIX)
|
||||||
|
#CPP = $(GNU_BIN)/$(CMPLR_PREFIX)gcc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc -x c -E
|
||||||
|
#RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
|
||||||
|
#LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||||
|
#G++ = $(GNU_BIN)/$(CMPLR_PREFIX)g++$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc
|
||||||
|
#LD_G++ = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
|
||||||
|
#NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)
|
||||||
|
## ---- end jba overrides
|
||||||
|
|
||||||
|
-include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(HOST_ARCH).$(T_A)
|
||||||
14
config/CONFIG_SITE.Vx.Linux.mv167
Normal file
14
config/CONFIG_SITE.Vx.Linux.mv167
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file contains overrides for Vx builds
|
||||||
|
|
||||||
|
## ---- jba overrides for cross compiler
|
||||||
|
#GNU_TARGET=m68k-wrs-vxworks
|
||||||
|
## ---- end jba overrides
|
||||||
|
|
||||||
|
# ORNL SNS overrides for cross compilers
|
||||||
|
#VX_DIR_YES = /opt/tornado20/
|
||||||
|
#VX_INCLUDE_YES = /usr/local/crossgcc/m68k/m68k-wrs-vxworks/sys-include
|
||||||
|
#VX_GNU_YES = /usr/local/crossgcc/m68k/
|
||||||
|
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||||
|
#VX_GNU_LIB_YES = /usr/local/crossgcc/m68k/lib/gcc-lib/m68k-wrs-vxworks/2.95.2
|
||||||
10
config/CONFIG_SITE.Vx.Linux.ppc603
Normal file
10
config/CONFIG_SITE.Vx.Linux.ppc603
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# This file contains overrides for Vx builds
|
||||||
|
|
||||||
|
# ORNL SNS overrides for cross compilers
|
||||||
|
#VX_DIR_YES = /opt/tornado20/
|
||||||
|
#VX_INCLUDE_YES = /usr/local/crossgcc/ppc/powerpc-wrs-vxworks/sys-include
|
||||||
|
#VX_GNU_YES = /usr/local/crossgcc/ppc/
|
||||||
|
#VX_GNU_BIN_YES = $(VX_GNU)/bin
|
||||||
|
#VX_GNU_LIB_YES = /usr/local/crossgcc/ppc/lib/gcc-lib/powerpc-wrs-vxworks/2.95.2
|
||||||
3
config/CONFIG_SITE.Vx.ppc604
Normal file
3
config/CONFIG_SITE.Vx.ppc604
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
# APS override of tornado directory for ppc
|
||||||
|
#VX_DIR_YES = /usr/local/vw/tornado101ppc2
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,8 +1,15 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
# Rules for making things specified in Makefile.Host
|
# Rules for making things specified in Makefile.Host
|
||||||
#
|
|
||||||
# Some rules for filename-massage are system specific
|
# Some rules for filename-massage are system specific
|
||||||
# and have "ifdefs" here instead of using definitions
|
# and have "ifdefs" here instead of using definitions
|
||||||
# from CONFIG.Host.$(ARCH_CLASS) - sorry about this,
|
# from CONFIG.Host.$(ARCH_CLASS) - sorry about this,
|
||||||
@@ -31,10 +38,9 @@
|
|||||||
vpath %.h $(USER_VPATH)
|
vpath %.h $(USER_VPATH)
|
||||||
vpath %.c $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
vpath %.c $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||||
vpath %.cc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
vpath %.cc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||||
|
vpath %.cpp $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||||
vpath %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
vpath %.rc $(USER_VPATH) ../os/$(ARCH_CLASS) ../os/generic ..
|
||||||
# This prevents base/src/include/*.h from being installed. Why??
|
vpath %.jar $(USER_VPATH) ..
|
||||||
#vpath %.h ../os/$(ARCH_CLASS) ../os/generic ..
|
|
||||||
vpath %.h $(USER_VPATH)
|
|
||||||
|
|
||||||
# check for add-on CFLAGS and CXXFLAGS
|
# check for add-on CFLAGS and CXXFLAGS
|
||||||
#
|
#
|
||||||
@@ -224,12 +230,13 @@ ifdef PROD
|
|||||||
PROD := $(addsuffix $(EXE), $(PROD))
|
PROD := $(addsuffix $(EXE), $(PROD))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#-----------------------------------------------------------------
|
||||||
# if we are not building base add base includes and ld dirs
|
# if we are not building base add base includes and dbd dirs
|
||||||
# (convenience for extensions and applications)
|
# (convenience for extensions and applications)
|
||||||
ifneq ($(EPICS_BASE),$(TOP))
|
ifneq ($(EPICS_BASE),$(TOP))
|
||||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS) -I$(EPICS_BASE_INCLUDE)
|
||||||
|
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -238,10 +245,6 @@ endif
|
|||||||
# create names (lists) for installed things
|
# create names (lists) for installed things
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
|
|
||||||
# each list starts with the destination directory name(s)
|
|
||||||
# to make sure it's there
|
|
||||||
|
|
||||||
|
|
||||||
INCREC +=$(RECTYPES) $(MENUS)
|
INCREC +=$(RECTYPES) $(MENUS)
|
||||||
|
|
||||||
INSTALL_PROD= $(PROD:%= $(INSTALL_BIN)/%)
|
INSTALL_PROD= $(PROD:%= $(INSTALL_BIN)/%)
|
||||||
@@ -288,12 +291,10 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# must use c++ linker if linking to shared libs with c++ code
|
# always use c++ linker
|
||||||
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
|
|
||||||
ifneq ($(strip $(CPLUSPLUS)),)
|
ifneq ($(strip $(CPLUSPLUS)),)
|
||||||
LINK.c = $(LINK.cc)
|
LINK.c = $(LINK.cc)
|
||||||
endif # CPLUSPLUS
|
endif # CPLUSPLUS
|
||||||
endif # LIBTYPE
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# Version number for base shared libraries (and win32 products)
|
# Version number for base shared libraries (and win32 products)
|
||||||
@@ -311,18 +312,20 @@ endif # EPICS_BASE
|
|||||||
ifdef LIBRARY
|
ifdef LIBRARY
|
||||||
ifdef LIBOBJS
|
ifdef LIBOBJS
|
||||||
LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS)
|
LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS)
|
||||||
CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
|
||||||
CXXFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
LIBNAME_RCS=$(foreach lib, $(basename $(LIBRARY)), $(RCS) $($(lib)_RCS) $($(lib)_RCS_$(ARCH_CLASS)))
|
||||||
|
LIBNAME_RESS=$(addsuffix $(RES), $(basename $(LIBNAME_RCS)))
|
||||||
|
|
||||||
# check if shared libraries requested
|
# check if shared libraries requested
|
||||||
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
|
ifeq ($(strip $(SHARED_LIBRARIES)),YES)
|
||||||
|
|
||||||
|
CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES)
|
||||||
|
CXXFLAGS += $($(CPLUSPLUS)_SHRLIB_CFLAGS_YES)
|
||||||
|
SHRLIB_LDFLAGS = $($(CPLUSPLUS)_SHRLIB_LDFLAGS_YES)
|
||||||
|
|
||||||
PROD_VERSION =$(SHRLIB_VERSION)
|
PROD_VERSION =$(SHRLIB_VERSION)
|
||||||
ifeq ($(findstring cc,$(suffix $(LIBSRCS))),cc)
|
# always use c++ linker
|
||||||
SHRLIB_LINKER = $(CXX)
|
SHRLIB_LINKER = $(CXX)
|
||||||
else
|
|
||||||
SHRLIB_LINKER = $(CC)
|
|
||||||
endif
|
|
||||||
LIBTARGETS += $(SHRLIBNAME) $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS)
|
LIBTARGETS += $(SHRLIBNAME) $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS)
|
||||||
|
|
||||||
endif # SHARED_LIBRARIES=YES
|
endif # SHARED_LIBRARIES=YES
|
||||||
@@ -331,18 +334,21 @@ endif # LIBOBJS
|
|||||||
endif # LIBRARY
|
endif # LIBRARY
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# Main targets
|
|
||||||
|
|
||||||
all:: install
|
all:: install
|
||||||
|
|
||||||
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) \
|
build:: inc
|
||||||
$(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
|
||||||
|
build:: $(LIBTARGETS) $(PROD) $(TESTPROD) $(INSTALLS) \
|
||||||
|
$(MENUS) $(RECTYPES) $(BPTS)
|
||||||
|
ifdef DBDEXPAND
|
||||||
|
build:: $(DBDNAME)
|
||||||
|
endif
|
||||||
|
|
||||||
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
||||||
|
|
||||||
rebuild:: clean install
|
rebuild:: clean install
|
||||||
|
|
||||||
install:: inc buildInstall
|
install:: buildInstall
|
||||||
|
|
||||||
buildInstall :: build $(TARGETS) \
|
buildInstall :: build $(TARGETS) \
|
||||||
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
|
$(INSTALL_SCRIPTS) $(INSTALL_PROD) \
|
||||||
@@ -357,7 +363,11 @@ buildInstall :: build $(TARGETS) \
|
|||||||
|
|
||||||
clean::
|
clean::
|
||||||
@echo "Cleaning"
|
@echo "Cleaning"
|
||||||
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) *$(RES) $(TARGETS)
|
@$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \
|
||||||
|
*$(RES) $(TARGETS) *.dbd $(MENUS) $(RECTYPES) $(BPTS)
|
||||||
|
ifdef DBDEXPAND
|
||||||
|
@$(RM) $(DBDNAME)
|
||||||
|
endif
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# Products
|
# Products
|
||||||
@@ -368,7 +378,6 @@ ifdef PROD
|
|||||||
|
|
||||||
COND_PROD_SRCS=$(foreach prod, $(basename $(PROD)), $($(prod)_SRCS))
|
COND_PROD_SRCS=$(foreach prod, $(basename $(PROD)), $($(prod)_SRCS))
|
||||||
COND_PROD_RCS=$(foreach prod, $(basename $(PROD)), $($(prod)_RCS) $($(prod)_RCS_$(ARCH_CLASS)))
|
COND_PROD_RCS=$(foreach prod, $(basename $(PROD)), $($(prod)_RCS) $($(prod)_RCS_$(ARCH_CLASS)))
|
||||||
COND_PROD_LIBS=$(foreach prod, $(basename $(PROD)), $($(prod)_LIBS))
|
|
||||||
|
|
||||||
ifdef PRODNAME
|
ifdef PRODNAME
|
||||||
|
|
||||||
@@ -380,6 +389,14 @@ PRODNAME_SRCS += $(PRODNAME_SRCS_DEFAULT)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(strip $(PRODNAME_OBJS_$(ARCH_CLASS))),)
|
||||||
|
PRODNAME_OBJS += $(subst -nil-,,$(PRODNAME_OBJS_$(ARCH_CLASS)))
|
||||||
|
else
|
||||||
|
ifdef PRODNAME_OBJS_DEFAULT
|
||||||
|
PRODNAME_OBJS += $(PRODNAME_OBJS_DEFAULT)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(strip $(PRODNAME_RCS_$(ARCH_CLASS))),)
|
ifneq ($(strip $(PRODNAME_RCS_$(ARCH_CLASS))),)
|
||||||
PRODNAME_RCS += $(subst -nil-,,$(PRODNAME_RCS_$(ARCH_CLASS)))
|
PRODNAME_RCS += $(subst -nil-,,$(PRODNAME_RCS_$(ARCH_CLASS)))
|
||||||
else
|
else
|
||||||
@@ -398,13 +415,20 @@ else
|
|||||||
PRODNAME_LINKER = $(LINK.c)
|
PRODNAME_LINKER = $(LINK.c)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PRODNAME_OBJS=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
PRODNAME_OBJS+=$(addsuffix $(OBJ), $(basename $(PRODNAME_SRCS)))
|
||||||
PRODNAME_RESS=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
PRODNAME_RESS+=$(addsuffix $(RES), $(basename $(PRODNAME_RCS)))
|
||||||
|
|
||||||
|
ifdef BORLANDC
|
||||||
|
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||||
|
@$(RM) $@
|
||||||
|
$(PRODNAME_LINKER) $(PRODNAME_OBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS)),, $(PRODNAME_RESS)
|
||||||
|
|
||||||
|
else
|
||||||
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
$(PRODNAME): $(PRODNAME_OBJS) $(PRODNAME_RESS)
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(PRODNAME_LINKER) $(PRODNAME_OBJS) $(PRODNAME_RESS) $(LDLIBS)
|
$(PRODNAME_LINKER) $(PRODNAME_OBJS) $(PRODNAME_RESS) $(LDLIBS)
|
||||||
|
|
||||||
|
endif
|
||||||
endif # ifdef PRODNAME_SRCS
|
endif # ifdef PRODNAME_SRCS
|
||||||
|
|
||||||
else # PRODNAME not defined
|
else # PRODNAME not defined
|
||||||
@@ -427,7 +451,7 @@ PROD_MAKE_COMMAND=$(MAKE) $@\
|
|||||||
PRODNAME_RCS_$(ARCH_CLASS)="$($(basename $@)_RCS_$(ARCH_CLASS))"\
|
PRODNAME_RCS_$(ARCH_CLASS)="$($(basename $@)_RCS_$(ARCH_CLASS))"\
|
||||||
PRODNAME_LIBS="$($(basename $@)_LIBS)"
|
PRODNAME_LIBS="$($(basename $@)_LIBS)"
|
||||||
|
|
||||||
$(PROD): $(PROD_OBJS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS)
|
$(PROD): $(SRCS) $(PROD_OBJS) $(COND_PROD_SRCS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS)
|
||||||
@$(PROD_MAKE_COMMAND)
|
@$(PROD_MAKE_COMMAND)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -439,8 +463,12 @@ endif #ifdef PROD
|
|||||||
# Java classes and packages
|
# Java classes and packages
|
||||||
#
|
#
|
||||||
|
|
||||||
INSTALL_JAVA = $(INSTALL_LOCATION)/javalib
|
ifdef JAVA
|
||||||
DIRECTORY_TARGETS += $(INSTALL_JAVA) $(INSTALL_JAVA)/$(PACKAGE)
|
DIRECTORY_TARGETS += $(INSTALL_JAVA)
|
||||||
|
ifdef PACKAGE
|
||||||
|
DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
|
vpath %.class $(INSTALL_JAVA)/$(PACKAGE)
|
||||||
|
|
||||||
@@ -449,32 +477,47 @@ TESTCLASSES += $(subst .java,.class,$(TESTJAVA))
|
|||||||
INSTALL_CLASSES =$(CLASSES:%=$(INSTALL_JAVA)/$(PACKAGE)/%)
|
INSTALL_CLASSES =$(CLASSES:%=$(INSTALL_JAVA)/$(PACKAGE)/%)
|
||||||
INSTALL_JAR =$(JAR:%=$(INSTALL_JAVA)/%)
|
INSTALL_JAR =$(JAR:%=$(INSTALL_JAVA)/%)
|
||||||
|
|
||||||
|
ifeq ($(strip $(JAVADOC)),YES)
|
||||||
|
DIRECTORY_TARGETS += $(INSTALL_HTML)
|
||||||
|
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/%.html)
|
||||||
|
ifdef PACKAGE
|
||||||
|
DIRECTORY_TARGETS += $(INSTALL_HTML)/$(PACKAGE)
|
||||||
|
INSTALL_JAVADOC = $(CLASSES:%.class=$(INSTALL_HTML)/$(PACKAGE)/$(PACKAGE)/%.html)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
JAR_OPTIONS = cvf
|
JAR_OPTIONS = cvf
|
||||||
ifdef MANIFEST
|
ifdef MANIFEST
|
||||||
JAR_OPTIONS = cvmf
|
JAR_OPTIONS = cvmf
|
||||||
endif
|
endif
|
||||||
JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
#JAR_DEPFILES += $(wildcard $(JAR_INPUT) $(addsuffix /*,$(JAR_INPUT)))
|
||||||
|
JAR_DEPFILES += $(JAR_INPUT)
|
||||||
|
|
||||||
$(DIRECTORY_TARGETS) :
|
$(DIRECTORY_TARGETS) :
|
||||||
$(MKDIR) $@
|
$(MKDIR) $@
|
||||||
|
|
||||||
build:: $(TESTCLASSES) $(JAR)
|
build:: $(TESTCLASSES) $(JAR)
|
||||||
|
|
||||||
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR)
|
buildInstall :: $(DIRECTORY_TARGETS) $(INSTALL_CLASSES) $(INSTALL_JAR) $(INSTALL_JAVADOC)
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
@$(RM) $(TESTCLASSES) $(JAR)
|
@$(RM) $(TESTCLASSES) $(JAR) $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||||
|
|
||||||
%.class:%.java
|
%.class:%.java
|
||||||
@echo Creating java class file $@
|
@echo Creating java class file $@
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(JAVACCMD) $<
|
$(JAVACCMD) $<
|
||||||
|
|
||||||
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
$(INSTALL_JAVA)/$(PACKAGE)/%.class:%.java
|
||||||
@echo Creating java class file $@
|
@echo Creating java class file $@
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(JAVACCMD) -d $(INSTALL_JAVA) $<
|
$(JAVACCMD) -d $(INSTALL_JAVA) $<
|
||||||
|
|
||||||
|
$(INSTALL_JAVADOC):$(JAVA)
|
||||||
|
@echo Creating javadoc html files $@
|
||||||
|
@$(RM) $@
|
||||||
|
$(JAVADOCCMD) -d $(INSTALL_HTML)/$(PACKAGE) $(PACKAGE)
|
||||||
|
|
||||||
$(JAR):%.jar: $(JAR_DEPFILES)
|
$(JAR):%.jar: $(JAR_DEPFILES)
|
||||||
@echo Creating java jar file $@
|
@echo Creating java jar file $@
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
@@ -482,7 +525,12 @@ $(JAR):%.jar: $(JAR_DEPFILES)
|
|||||||
|
|
||||||
$(INSTALL_JAVA)/%.jar: %.jar
|
$(INSTALL_JAVA)/%.jar: %.jar
|
||||||
@echo "Installing jar file $@"
|
@echo "Installing jar file $@"
|
||||||
$(INSTALL) -d -m 644 $< $(@D)
|
@$(INSTALL) -d -m 644 $< $(@D)
|
||||||
|
|
||||||
|
$(PACKAGE)_%.h:$(INSTALL_JAVA)/$(PACKAGE)/%.class
|
||||||
|
$(JAVAHCMD) $(PACKAGE).$*
|
||||||
|
|
||||||
|
.PRECIOUS: $(INSTALL_CLASSES) $(INSTALL_JAVADOC)
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
@@ -500,26 +548,57 @@ $(INSTALL_JAVA)/%.jar: %.jar
|
|||||||
# The order of the following rules is
|
# The order of the following rules is
|
||||||
# VERY IMPORTANT !!!!
|
# VERY IMPORTANT !!!!
|
||||||
|
|
||||||
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS)
|
depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)
|
||||||
$(RM) DEPENDS
|
$(RM) DEPENDS
|
||||||
touch DEPENDS
|
ifneq ($(strip $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(SRCS.c) $(SRCS.cc)),)
|
||||||
$(DEPENDS_RULE)
|
$(DEPENDS_RULE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef BORLANDC
|
||||||
|
%$(EXE): %.c
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.c) $<
|
||||||
|
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||||
|
|
||||||
|
%$(EXE): %.cc
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.cc) $<
|
||||||
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||||
|
|
||||||
|
%$(EXE): %.cpp
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.cc) $<
|
||||||
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||||
|
|
||||||
|
%$(EXE): %.C
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.cc) $<
|
||||||
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) , $@ ,,$(LINKLIBS) $(subst /,\\,$(LDLIBS))
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
%$(EXE): %.c
|
%$(EXE): %.c
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.c) $<
|
$(COMPILE.c) $<
|
||||||
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
$(LINK.c) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||||
|
|
||||||
%$(EXE): %.cc
|
%$(EXE): %.cc
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.cc) $<
|
$(COMPILE.cc) $<
|
||||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||||
|
|
||||||
|
%$(EXE): %.cpp
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.cc) $<
|
||||||
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||||
|
|
||||||
%$(EXE): %.C
|
%$(EXE): %.C
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.cc) $<
|
$(COMPILE.cc) $<
|
||||||
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
$(LINK.cc) $(subst ../,,$(basename $<))$(OBJ) $(LDLIBS)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
%$(OBJ): %.c
|
%$(OBJ): %.c
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.c) $<
|
$(COMPILE.c) $<
|
||||||
@@ -528,6 +607,10 @@ depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS)
|
|||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.cc) $<
|
$(COMPILE.cc) $<
|
||||||
|
|
||||||
|
%$(OBJ): %.cpp
|
||||||
|
@$(RM) $@
|
||||||
|
$(COMPILE.cc) $<
|
||||||
|
|
||||||
%$(OBJ): %.C
|
%$(OBJ): %.C
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(COMPILE.cc) $<
|
$(COMPILE.cc) $<
|
||||||
@@ -567,12 +650,12 @@ endif
|
|||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||||
|
|
||||||
%.c: %.stt
|
%.c: ../%.stt
|
||||||
@echo "converting $<
|
@echo "converting $<"
|
||||||
ln -s $< $*.st
|
ln -s $< $*.st
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||||
@$(RM) $*.st
|
@$(RM) $*.st
|
||||||
|
|
||||||
# Capfast Rules:
|
# Capfast Rules:
|
||||||
%.db: %.edf
|
%.db: %.edf
|
||||||
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
||||||
@@ -580,7 +663,7 @@ endif
|
|||||||
%.db: ../%.edf
|
%.db: ../%.edf
|
||||||
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $<
|
||||||
|
|
||||||
%.edf: ../%.sch
|
%.edf: ../%.sch $(DEPSCHS)
|
||||||
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
|
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
|
||||||
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
|
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
|
||||||
|
|
||||||
@@ -608,38 +691,63 @@ $(INSTALL_DBD)/%: ../%
|
|||||||
|
|
||||||
%Record.h: %Record.dbd
|
%Record.h: %Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
%Record.h: ../%Record.dbd
|
%Record.h: ../%Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
menu%.h: menu%.dbd
|
menu%.h: menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||||
|
|
||||||
menu%.h: ../menu%.dbd
|
menu%.h: ../menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||||
|
|
||||||
bpt%.dbd: bpt%.data
|
bpt%.dbd: bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||||
|
|
||||||
bpt%.dbd: ../bpt%.data
|
bpt%.dbd: ../bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||||
|
|
||||||
|
# Patch for old applications
|
||||||
|
ifdef USER_DBDFLAGS
|
||||||
|
DBDFLAGS = $(USER_DBDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef DBDEXPAND
|
||||||
$(DBDNAME): ../$(DBDEXPAND)
|
$(DBDNAME): ../$(DBDEXPAND)
|
||||||
@echo expanding dbd
|
@echo Expanding dbd
|
||||||
@$(RM) $@
|
@$(RM) $@ $@-new
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
|
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||||
|
@$(MV) $@-new $@
|
||||||
|
|
||||||
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS)
|
ifneq (,$(wildcard ../base.dbd))
|
||||||
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS)
|
$(DBDNAME): ../base.dbd
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef BORLANDC
|
||||||
|
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||||
|
$(LINK.shrlib) $(LIBOBJS) , $@ ,,$(LINKLIBS) $(subst /,\\,$(DLL_LDLIBS)), $(DLL_DEF_FLAG), $(LIBNAME_RESS)
|
||||||
|
|
||||||
|
else
|
||||||
|
$(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LIBNAME_RESS)
|
||||||
|
$(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) $(LIBNAME_RESS)
|
||||||
|
|
||||||
|
endif
|
||||||
|
ifdef BORLANDC
|
||||||
|
# rule for lib (archive of object files) creation
|
||||||
|
$(LIBNAME): $(LIBOBJS)
|
||||||
|
$(RM) $@
|
||||||
|
$(ARCMD) $(foreach lib,$(LIBOBJS),+$(lib))
|
||||||
|
|
||||||
|
else
|
||||||
# rule for lib (archive of object files) creation
|
# rule for lib (archive of object files) creation
|
||||||
$(LIBNAME): $(LIBOBJS)
|
$(LIBNAME): $(LIBOBJS)
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
@@ -648,6 +756,8 @@ ifdef RANLIB
|
|||||||
$(RANLIB) $@;
|
$(RANLIB) $@;
|
||||||
endif # RANLIB
|
endif # RANLIB
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
$(INSTALL_BIN)/%: ../os/$(ARCH_CLASS)/%
|
$(INSTALL_BIN)/%: ../os/$(ARCH_CLASS)/%
|
||||||
@echo "Installing os-specific script $@"
|
@echo "Installing os-specific script $@"
|
||||||
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
|
@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)
|
||||||
@@ -662,21 +772,21 @@ $(INSTALL_BIN)/%: ../%
|
|||||||
|
|
||||||
$(INSTALL_LIB)/%.a: %.a
|
$(INSTALL_LIB)/%.a: %.a
|
||||||
@echo "Installing library $@"
|
@echo "Installing library $@"
|
||||||
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
|
@$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB)
|
||||||
ifdef RANLIB
|
ifdef RANLIB
|
||||||
$(RANLIB) $(RANLIBFLAGS) $@
|
$(RANLIB) $(RANLIBFLAGS) $@
|
||||||
endif # RANLIB
|
endif # RANLIB
|
||||||
|
|
||||||
$(INSTALL_LIB)/%.lib: %.lib
|
$(INSTALL_LIB)/%.lib: %.lib
|
||||||
@echo "Installing library $@"
|
@echo "Installing library $@"
|
||||||
@$(INSTALL) -d -m 644 $< $(INSTALL_LIB)
|
@$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB)
|
||||||
|
|
||||||
$(INSTALL_SHRLIB)/lib%: lib%
|
$(INSTALL_SHRLIB)/lib%: lib%
|
||||||
@echo "Installing library $@"
|
@echo "Installing library $@"
|
||||||
@$(INSTALL) -d -m 555 $< $(INSTALL_SHRLIB)
|
@$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB)
|
||||||
ifdef SHRLIB_VERSION
|
ifdef SHRLIB_VERSION
|
||||||
@$(RM) $(@:%.$(SHRLIB_VERSION)=%)
|
$(RM) $(subst .$(SHRLIB_VERSION),,$@)
|
||||||
ln -s $< $(@:%.$(SHRLIB_VERSION)=%)
|
ln -s $< $(subst .$(SHRLIB_VERSION),,$@)
|
||||||
endif # SHRLIB_VERSION
|
endif # SHRLIB_VERSION
|
||||||
|
|
||||||
$(INSTALL_TCLLIB)/%: %
|
$(INSTALL_TCLLIB)/%: %
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
INCREC +=$(RECTYPES) $(MENUS)
|
INCREC +=$(RECTYPES) $(MENUS)
|
||||||
@@ -57,7 +66,7 @@ buildInstall :: build \
|
|||||||
$(INSTALL_MAN) $(INSTALL_MANS) $(INSTALL_HTMLS) \
|
$(INSTALL_MAN) $(INSTALL_MANS) $(INSTALL_HTMLS) \
|
||||||
$(INSTALL_DOC) $(INSTALL_DOCS) $(INSTALL_TEMPLATES) \
|
$(INSTALL_DOC) $(INSTALL_DOCS) $(INSTALL_TEMPLATES) \
|
||||||
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATE) \
|
$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) $(INSTALL_TEMPLATE) \
|
||||||
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
|
$(INSTALL_CONFIG) $(INSTALL_CONFIGS) \
|
||||||
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
|
$(INSTALL_DBD) $(INSTALL_DBS) $(INSTALL_BPTS) \
|
||||||
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
|
$(INSTALL_DBDNAME) $(INSTALL_INCREC) \
|
||||||
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
|
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX)
|
||||||
@@ -139,8 +148,8 @@ $(TARGETS) $(PROD): $(DEPLIBS)
|
|||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||||
|
|
||||||
%.c: %.stt
|
%.c: ../%.stt
|
||||||
@echo "converting $<
|
@echo "converting $<"
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $<
|
||||||
|
|
||||||
@@ -179,34 +188,46 @@ $(INSTALL_DBD)/%: ../%
|
|||||||
|
|
||||||
%Record.h: %Record.dbd
|
%Record.h: %Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
%Record.h: ../%Record.dbd
|
%Record.h: ../%Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
menu%.h: menu%.dbd
|
menu%.h: menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||||
|
|
||||||
menu%.h: ../menu%.dbd
|
menu%.h: ../menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH $<
|
||||||
|
|
||||||
bpt%.dbd: bpt%.data
|
bpt%.dbd: bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||||
|
|
||||||
bpt%.dbd: ../bpt%.data
|
bpt%.dbd: ../bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt $<
|
||||||
|
|
||||||
|
# Patch for old applications
|
||||||
|
ifdef USER_DBDFLAGS
|
||||||
|
DBDFLAGS = $(USER_DBDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef DBDEXPAND
|
||||||
$(DBDNAME): ../$(DBDEXPAND)
|
$(DBDNAME): ../$(DBDEXPAND)
|
||||||
@echo expanding dbd
|
@echo expanding dbd
|
||||||
@$(RM) $@
|
@$(RM) $@ $@-new
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand $(USER_DBDFLAGS) $< > $@
|
$(EPICS_BASE_HOST_BIN)/dbExpand $(DBDFLAGS) $< > $@-new
|
||||||
|
@$(MV) $@-new $@
|
||||||
|
|
||||||
|
ifneq (,$(wildcard ../base.dbd))
|
||||||
|
$(DBDNAME): ../base.dbd
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
$(LIBNAME): $(LIBOBJS)
|
$(LIBNAME): $(LIBOBJS)
|
||||||
@echo Building library $@
|
@echo Building library $@
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),)
|
ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),)
|
||||||
@@ -7,7 +16,7 @@ ifdef LIBOBJS_DEFAULT
|
|||||||
LIBOBJS+=$(LIBOBJS_DEFAULT)
|
LIBOBJS+=$(LIBOBJS_DEFAULT)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
INCREC +=$(RECTYPES) $(MENUS)
|
INCREC +=$(RECTYPES) $(MENUS)
|
||||||
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
|
INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%)
|
||||||
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
|
INSTALL_LIBS = $(LIBNAME:%= $(INSTALL_BIN)/%)
|
||||||
@@ -33,26 +42,33 @@ INSTALL_DBDNAME = $(DBDNAME:%= $(INSTALL_DBD)/%)
|
|||||||
|
|
||||||
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
|
MAN_DIRECTORY_TARGETS = $(foreach n, $(MANLIST),$(INSTALL_MAN)/man$(n))
|
||||||
|
|
||||||
# if we are not building base add base includes
|
#-----------------------------------------------------------------
|
||||||
#
|
# if we are not building base add base includes and dbd dirs
|
||||||
|
# (convenience for extensions and applications)
|
||||||
ifneq ($(EPICS_BASE),$(TOP))
|
ifneq ($(EPICS_BASE),$(TOP))
|
||||||
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
ifneq ($(EPICS_BASE),$(INSTALL_LOCATION))
|
||||||
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
|
||||||
|
EPICS_DBDFLAGS += -I $(EPICS_BASE)/dbd
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all:: install
|
all:: install
|
||||||
|
|
||||||
|
build:: inc
|
||||||
|
|
||||||
rebuild:: clean install
|
rebuild:: clean install
|
||||||
|
|
||||||
pre_build::
|
pre_build::
|
||||||
|
|
||||||
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
|
build:: pre_build $(MENUS) $(RECTYPES) $(BPTS)\
|
||||||
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD) $(DBDNAME)
|
$(LIBNAME) $(LIBNAME_CXX) $(TARGETS) $(PROD)
|
||||||
|
ifdef DBDEXPAND
|
||||||
|
build:: $(DBDNAME)
|
||||||
|
endif
|
||||||
|
|
||||||
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
inc:: $(INSTALL_INC) $(INSTALL_OSINC)
|
||||||
|
|
||||||
install:: inc buildInstall
|
install:: buildInstall
|
||||||
|
|
||||||
buildInstall :: build $(INSTALL_INCREC)\
|
buildInstall :: build $(INSTALL_INCREC)\
|
||||||
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
|
$(INSTALL_LIBS) $(INSTALL_LIBS_CXX) \
|
||||||
@@ -69,24 +85,25 @@ endif
|
|||||||
|
|
||||||
depends:: $(SRCS.c) $(SRCS.cc)
|
depends:: $(SRCS.c) $(SRCS.cc)
|
||||||
$(RM) DEPENDS
|
$(RM) DEPENDS
|
||||||
touch DEPENDS
|
ifneq ($(strip $(SRCS.c) $(SRCS.cc)),)
|
||||||
$(DEPENDS_RULE)
|
$(DEPENDS_RULE)
|
||||||
|
endif
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
@echo "Cleaning"
|
@echo "Cleaning"
|
||||||
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
|
@$(RM) *.i *.o *.a *.out $(TARGETS) $(PROD) $(LIBNAME) $(INC) \
|
||||||
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME)
|
$(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) *.c
|
||||||
|
|
||||||
# The order of the following dependencies is
|
# The order of the following dependencies is
|
||||||
# VERY IMPORTANT !!!!
|
# VERY IMPORTANT !!!!
|
||||||
|
|
||||||
%: %.o
|
%: %.o
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(LINK.c)$@ $< $(LDLIBS)
|
$(LINK.c) $@ $< $(LDLIBS)
|
||||||
|
|
||||||
#$(PROD): $(OBJS)
|
#$(PROD): $(OBJS)
|
||||||
# $(RM) $@
|
# $(RM) $@
|
||||||
# $(LINK.c)$@ $(OBJS)
|
# $(LINK.c) $@ $(OBJS)
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
@@ -137,13 +154,13 @@ endif
|
|||||||
%.c: ../%.st
|
%.c: ../%.st
|
||||||
@echo "preprocessing $*.st"
|
@echo "preprocessing $*.st"
|
||||||
@$(RM) $*.i
|
@$(RM) $*.i
|
||||||
$(CPP) $(CPPFLAGS) $< $*.i
|
$(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< > $*.i
|
||||||
@echo "converting $*.i"
|
@echo "converting $*.i"
|
||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i
|
||||||
|
|
||||||
%.c: %.stt
|
%.c: ../%.stt
|
||||||
@echo "converting $<
|
@echo "converting $<"
|
||||||
ln -s $< $*.st
|
ln -s $< $*.st
|
||||||
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
$(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st
|
||||||
@$(RM) $*.st
|
@$(RM) $*.st
|
||||||
@@ -177,7 +194,6 @@ binInstalls: $(BIN_INSTALLS)
|
|||||||
$(INSTALL) -d -m 555 $^ $(INSTALL_BIN)
|
$(INSTALL) -d -m 555 $^ $(INSTALL_BIN)
|
||||||
|
|
||||||
$(INSTALL_DBD)/%: %
|
$(INSTALL_DBD)/%: %
|
||||||
@echo "Installing $@"
|
|
||||||
@echo "Installing $@"
|
@echo "Installing $@"
|
||||||
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
|
@$(INSTALL) -d -m 644 $< $(INSTALL_DBD)
|
||||||
|
|
||||||
@@ -187,34 +203,42 @@ $(INSTALL_DBD)/%: ../%
|
|||||||
|
|
||||||
%Record.h: %Record.dbd
|
%Record.h: %Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
%Record.h: ../%Record.dbd
|
%Record.h: ../%Record.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH$(EXE) \
|
$(EPICS_BASE_HOST_BIN)/dbToRecordtypeH$(EXE) \
|
||||||
$(USER_DBDFLAGS) $<
|
$(DBDFLAGS) $<
|
||||||
|
|
||||||
menu%.h: menu%.dbd
|
menu%.h: menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||||
|
|
||||||
menu%.h: ../menu%.dbd
|
menu%.h: ../menu%.dbd
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/dbToMenuH$(EXE) $<
|
||||||
|
|
||||||
bpt%.dbd: bpt%.data
|
bpt%.dbd: bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||||
|
|
||||||
bpt%.dbd: ../bpt%.data
|
bpt%.dbd: ../bpt%.data
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $<
|
$(EPICS_BASE_HOST_BIN)/makeBpt$(EXE) $<
|
||||||
|
|
||||||
|
# Patch for old applications
|
||||||
|
ifdef USER_DBDFLAGS
|
||||||
|
DBDFLAGS = $(USER_DBDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef DBDEXPAND
|
||||||
$(DBDNAME): ../$(DBDEXPAND)
|
$(DBDNAME): ../$(DBDEXPAND)
|
||||||
@echo expanding dbd
|
@echo Expanding dbd
|
||||||
@$(RM) $@
|
@$(RM) $@ $@-new
|
||||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@
|
$(EPICS_BASE_HOST_BIN)/dbExpand$(EXE) $(DBDFLAGS) $< > $@-new
|
||||||
|
@$(MV) $@-new $@
|
||||||
|
endif
|
||||||
|
|
||||||
$(LIBNAME): $(LIBOBJS)
|
$(LIBNAME): $(LIBOBJS)
|
||||||
@echo Building library $@
|
@echo Building library $@
|
||||||
@@ -285,7 +309,13 @@ $(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
|
|||||||
ifneq (,$(wildcard ../baseLIBOBJS))
|
ifneq (,$(wildcard ../baseLIBOBJS))
|
||||||
$(LIBNAME): ../baseLIBOBJS
|
$(LIBNAME): ../baseLIBOBJS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(wildcard ../base.dbd))
|
||||||
|
$(DBDNAME): ../base.dbd $(RECTYPES:%.h=../%.dbd)
|
||||||
|
else
|
||||||
|
$(DBDNAME): $(RECTYPES:%.h=../%.dbd)
|
||||||
|
endif
|
||||||
|
|
||||||
#=====> ???? the following line causes a rebuild every time
|
#=====> ???? the following line causes a rebuild every time
|
||||||
#=====> $(LIBNAME): ../Makefile.Vx
|
#=====> $(LIBNAME): ../Makefile.Vx
|
||||||
$(DBDNAME): ../base.dbd $(RECTYPES:%.h=../%.dbd)
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,38 +1,47 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
ARCHS += $(BUILD_ARCHS) host cross
|
ARCHS += $(BUILD_ARCHS) host cross
|
||||||
ACTIONS += clean inc depends buildInstall
|
ACTIONS += clean inc depends build install buildInstall
|
||||||
|
|
||||||
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
|
||||||
actionArchPart = $(subst $(dirPart)$(DIVIDER), ,$@)
|
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
|
||||||
|
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
|
||||||
|
|
||||||
dirActionArchTargets = $(foreach dir, $(DIRS), \
|
dirActionArchTargets = $(foreach dir, $(DIRS), \
|
||||||
$(foreach action, $(ACTIONS) install,\
|
$(foreach action, $(ACTIONS),\
|
||||||
$(foreach arch, $(ARCHS), \
|
$(foreach arch, $(ARCHS), \
|
||||||
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
|
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
|
||||||
dirArchTargets += $(foreach dir, $(DIRS), \
|
dirArchTargets += $(foreach dir, $(DIRS), \
|
||||||
$(foreach arch, $(ARCHS),\
|
$(foreach arch, $(ARCHS),\
|
||||||
$(dir)$(DIVIDER)$(arch)))
|
$(dir)$(DIVIDER)$(arch)))
|
||||||
dirActionTargets += $(foreach dir, $(DIRS), \
|
dirActionTargets += $(foreach dir, $(DIRS), \
|
||||||
$(foreach action, $(ACTIONS) install,\
|
$(foreach action, $(ACTIONS),\
|
||||||
$(dir)$(DIVIDER)$(action)))
|
$(dir)$(DIVIDER)$(action)))
|
||||||
actionArchTargets = $(foreach action, $(ACTIONS) install,\
|
actionArchTargets = $(foreach action, $(ACTIONS),\
|
||||||
$(foreach arch, $(ARCHS), \
|
$(foreach arch, $(ARCHS), \
|
||||||
$(action)$(DIVIDER)$(arch)))
|
$(action)$(DIVIDER)$(arch)))
|
||||||
|
ifeq ($(MAKE_INC_TARGET_FIRST),YES)
|
||||||
installArchTargets = $(foreach action, install,\
|
|
||||||
$(foreach arch, $(ARCHS), \
|
|
||||||
$(action)$(DIVIDER)$(arch)))
|
|
||||||
|
|
||||||
all install :: inc buildInstall
|
all install :: inc buildInstall
|
||||||
|
$(ARCHS) $(installArchTargets) :: inc
|
||||||
|
else
|
||||||
|
all install :: buildInstall
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
rebuild:: clean all
|
rebuild:: clean all
|
||||||
|
|
||||||
$(ARCHS) $(installArchTargets) :: inc
|
|
||||||
|
|
||||||
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
|
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
|
||||||
$(MAKE) -C $(dirPart) $(actionArchPart)
|
$(MAKE) -C $(dirPart) $(actionArchPart)
|
||||||
|
|
||||||
@@ -40,11 +49,9 @@ $(ARCHS) $(ACTIONS) $(actionArchTargets) ::%: \
|
|||||||
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
|
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
|
||||||
|
|
||||||
|
|
||||||
.PHONY :: $(DIRS) all install rebuild
|
.PHONY :: $(DIRS) all rebuild
|
||||||
.PHONY :: $(ARCHS) $(ACTIONS)
|
.PHONY :: $(ARCHS) $(ACTIONS)
|
||||||
.PHONY :: $(dirActionTargets) $(dirArchTargets)
|
.PHONY :: $(dirActionTargets) $(dirArchTargets)
|
||||||
.PHONY :: $(dirActionArchTargets)
|
.PHONY :: $(dirActionArchTargets)
|
||||||
.PHONY :: $(actionArchTargets)
|
.PHONY :: $(actionArchTargets)
|
||||||
.PHONY :: $(installArchTargets)
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,39 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOP)/config/RULES_DIRS
|
include $(TOP)/config/RULES_DIRS
|
||||||
|
|
||||||
uninstall$(DIVIDER)%::
|
uninstall$(DIVIDER)%: uninstallDirs
|
||||||
@$(RMDIR) rec.bak rec
|
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$*
|
||||||
@$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* \
|
|
||||||
$(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) \
|
cleandirs:
|
||||||
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES)
|
@echo " " #stops "nothing to be done for cleandirs" message
|
||||||
|
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
|
||||||
|
@$(RMDIR) $(INSTALL_LOCATION_BIN)
|
||||||
|
endif
|
||||||
|
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
|
||||||
|
@$(RMDIR) $(INSTALL_LOCATION_LIB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
distclean: clean uninstall
|
||||||
|
|
||||||
uninstall:: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
|
uninstall:: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
|
||||||
|
@$(MAKE) -f Makefile cleandirs
|
||||||
|
|
||||||
|
uninstallDirs:
|
||||||
|
@$(RMDIR) rec.bak rec
|
||||||
|
@$(RMDIR) $(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
|
||||||
|
$(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES)
|
||||||
|
|
||||||
tar:
|
tar:
|
||||||
@DIRNAME=$(notdir $(shell pwd)); \
|
@DIRNAME=$(notdir $(shell pwd)); \
|
||||||
@@ -46,6 +69,5 @@ help:
|
|||||||
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
|
||||||
@echo " xxxRecord.o"
|
@echo " xxxRecord.o"
|
||||||
|
|
||||||
.PHONY :: uninstall tar help
|
.PHONY :: uninstall tar help cleandirs distclean uninstallDirs
|
||||||
.PHONY :: $(addprefix uninstall$(DIVIDER), $(BUILDARCHS))
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
# Makefile.Host for base/src/sample
|
# Makefile.Host for base/src/sample
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|||||||
36
src/as/As.rc
Executable file
36
src/as/As.rc
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
#include <Winver.h>
|
||||||
|
#include "epicsVersion.h"
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION BASE_VERSION,BASE_REVISION,BASE_MODIFICATION,BASE_UPDATE_LEVEL
|
||||||
|
PRODUCTVERSION BASE_VERSION,BASE_REVISION,BASE_MODIFICATION,BASE_UPDATE_LEVEL
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS VOS__WINDOWS32
|
||||||
|
FILETYPE VFT_UNKNOWN
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Comments","Access Security Library for EPICS\0"
|
||||||
|
VALUE "CompanyName", "The EPICS collaboration\0"
|
||||||
|
VALUE "FileDescription", "Access Security Library\0"
|
||||||
|
VALUE "FileVersion", BASE_VERSION_STRING "\0"
|
||||||
|
VALUE "InternalName", "as\0"
|
||||||
|
VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
|
||||||
|
VALUE "OriginalFilename", "as.dll\0"
|
||||||
|
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
|
||||||
|
VALUE "ProductVersion", BASE_VERSION_STRING "\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
|
|
||||||
TOP=../..
|
TOP=../..
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,17 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
TOP = ../../..
|
TOP = ../../..
|
||||||
include $(TOP)/config/CONFIG_BASE
|
include $(TOP)/config/CONFIG_BASE
|
||||||
|
|
||||||
USR_CFLAGS += -D_NO_PROTO
|
USR_CFLAGS += -D_NO_PROTO
|
||||||
|
|
||||||
INC := asDbLib.h asLib.h
|
|
||||||
|
|
||||||
# build lib As from asLib.c:
|
# build lib As from asLib.c:
|
||||||
#
|
#
|
||||||
LIBSRCS := asLib.c
|
LIBSRCS := asLib.c
|
||||||
@@ -16,9 +23,12 @@ LIBRARY := As
|
|||||||
#
|
#
|
||||||
SYS_PROD_LIBS_DEFAULT := m
|
SYS_PROD_LIBS_DEFAULT := m
|
||||||
SYS_PROD_LIBS_WIN32 := -nil-
|
SYS_PROD_LIBS_WIN32 := -nil-
|
||||||
PROD_LIBS := As Com Db Com
|
PROD_LIBS := As Db Com
|
||||||
|
|
||||||
PROD := ascheck
|
PROD := ascheck
|
||||||
|
ascheck_SRCS=ascheck.c
|
||||||
|
|
||||||
|
As_RCS_WIN32 = As.rc
|
||||||
|
|
||||||
include $(TOP)/config/RULES.Host
|
include $(TOP)/config/RULES.Host
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,19 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
TOP = ../../..
|
TOP = ../../..
|
||||||
include $(TOP)/config/CONFIG_BASE
|
include $(TOP)/config/CONFIG_BASE
|
||||||
|
|
||||||
USR_CFLAGS = -DACCESS_SECURITY -D_NO_PROTO
|
USR_CFLAGS = -DACCESS_SECURITY -D_NO_PROTO
|
||||||
|
|
||||||
SRCS.c = ../asDbLib.c ../asCa.c asLib.c
|
SRCS.c = ../asDbLib.c ../asCa.c ../asTrapWrite.c asLib.c
|
||||||
LIBOBJS = asDbLib.o asCa.o asLib.o
|
LIBOBJS = asDbLib.o asCa.o asTrapWrite.o asLib.o
|
||||||
LIBNAME = asLibrary
|
LIBNAME = asLibrary
|
||||||
|
|
||||||
include $(TOP)/config/RULES.Vx
|
include $(TOP)/config/RULES.Vx
|
||||||
|
|||||||
@@ -1,22 +1,15 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* share/src/as/asCa.c */
|
/* share/src/as/asCa.c */
|
||||||
/* share/src/as $Id$ */
|
/* share/src/as $Id$ */
|
||||||
/* Author: Marty Kraimer Date: 10-15-93 */
|
/* Author: Marty Kraimer Date: 10-15-93 */
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
/*
|
|
||||||
*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 03-22-94 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*This module is separate from asDbLib because CA uses old database access*/
|
/*This module is separate from asDbLib because CA uses old database access*/
|
||||||
#include <vxWorks.h>
|
#include <vxWorks.h>
|
||||||
@@ -52,6 +45,19 @@ typedef struct {
|
|||||||
chid chid;
|
chid chid;
|
||||||
} CAPVT;
|
} CAPVT;
|
||||||
|
|
||||||
|
static void exceptionCallback(struct exception_handler_args args)
|
||||||
|
{
|
||||||
|
chid chid = args.chid;
|
||||||
|
long stat = args.stat; /* Channel access status code*/
|
||||||
|
const char *channel;
|
||||||
|
static char *noname = "unknown";
|
||||||
|
|
||||||
|
channel = (chid ? ca_name(chid) : noname);
|
||||||
|
|
||||||
|
errlogPrintf("asCa:exceptionCallback stat %s channel %s\n",
|
||||||
|
ca_message(stat),channel);
|
||||||
|
}
|
||||||
|
|
||||||
/*connectCallback only handles disconnects*/
|
/*connectCallback only handles disconnects*/
|
||||||
LOCAL void connectCallback(struct connection_handler_args arg)
|
LOCAL void connectCallback(struct connection_handler_args arg)
|
||||||
{
|
{
|
||||||
@@ -135,6 +141,8 @@ LOCAL void asCaTask(void)
|
|||||||
|
|
||||||
taskwdInsert(taskIdSelf(),NULL,NULL);
|
taskwdInsert(taskIdSelf(),NULL,NULL);
|
||||||
SEVCHK(ca_task_initialize(),"ca_task_initialize");
|
SEVCHK(ca_task_initialize(),"ca_task_initialize");
|
||||||
|
SEVCHK(ca_add_exception_event(exceptionCallback,NULL),
|
||||||
|
"ca_add_exception_event");
|
||||||
while(TRUE) {
|
while(TRUE) {
|
||||||
if(semTake(asCaTaskAddChannels,WAIT_FOREVER)!=OK) {
|
if(semTake(asCaTaskAddChannels,WAIT_FOREVER)!=OK) {
|
||||||
epicsPrintf("asCa semTake error for asCaTaskClearChannels\n");
|
epicsPrintf("asCa semTake error for asCaTaskClearChannels\n");
|
||||||
@@ -234,3 +242,44 @@ void asCaStop(void)
|
|||||||
if(asCaDebug) printf("asCaStop done\n");
|
if(asCaDebug) printf("asCaStop done\n");
|
||||||
semGive(asCaTaskLock);
|
semGive(asCaTaskLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ascar(int level)
|
||||||
|
{
|
||||||
|
ASG *pasg;
|
||||||
|
int n=0,nbad=0;
|
||||||
|
enum channel_state state;
|
||||||
|
|
||||||
|
if(!pasbase) {
|
||||||
|
printf("access security not started\n");
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
pasg = (ASG *)ellFirst(&pasbase->asgList);
|
||||||
|
while(pasg) {
|
||||||
|
ASGINP *pasginp;
|
||||||
|
pasginp = (ASGINP *)ellFirst(&pasg->inpList);
|
||||||
|
while(pasginp) {
|
||||||
|
CAPVT *pcapvt = (CAPVT *)pasginp->capvt;
|
||||||
|
chid chid = pcapvt->chid;
|
||||||
|
pcapvt = pasginp->capvt;
|
||||||
|
++n;
|
||||||
|
state = ca_state(chid);
|
||||||
|
if(state!=cs_conn) ++nbad;
|
||||||
|
if(level>1 || (level==1 && state!=cs_conn)) {
|
||||||
|
printf("connected:");
|
||||||
|
if(state==cs_never_conn) printf("never ");
|
||||||
|
else if(state==cs_prev_conn) printf("prev ");
|
||||||
|
else if(state==cs_conn) printf("yes ");
|
||||||
|
else if(state==cs_closed) printf("closed");
|
||||||
|
else printf("unknown");
|
||||||
|
printf(" read:%s write:%s",
|
||||||
|
(ca_read_access(chid) ? "yes" : "no "),
|
||||||
|
(ca_write_access(chid) ? "yes" : "no "));
|
||||||
|
printf(" %s %s\n", ca_name(chid),ca_host_name(chid));
|
||||||
|
}
|
||||||
|
pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp);
|
||||||
|
}
|
||||||
|
pasg = (ASG *)ellNext((ELLNODE *)pasg);
|
||||||
|
}
|
||||||
|
printf("%d channels %d not connected\n",n,nbad);
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,22 +1,15 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* share/src/as/asDbLib.c */
|
/* share/src/as/asDbLib.c */
|
||||||
/* share/src/as $Id$ */
|
/* share/src/as $Id$ */
|
||||||
/* Author: Marty Kraimer Date: 02-11-94*/
|
/* Author: Marty Kraimer Date: 02-11-94*/
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 02-11-94 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <vxWorks.h>
|
#include <vxWorks.h>
|
||||||
#include <taskLib.h>
|
#include <taskLib.h>
|
||||||
@@ -114,7 +107,11 @@ static long asInitCommon(void)
|
|||||||
firstTime = FALSE;
|
firstTime = FALSE;
|
||||||
if(!pacf) return(0); /*access security will NEVER be turned on*/
|
if(!pacf) return(0); /*access security will NEVER be turned on*/
|
||||||
} else {
|
} else {
|
||||||
if(!asActive) return(S_asLib_asNotActive);
|
if(!asActive) {
|
||||||
|
printf("Access security is NOT enabled."
|
||||||
|
" Was asSetFilename specified before iocInit?\n");
|
||||||
|
return(S_asLib_asNotActive);
|
||||||
|
}
|
||||||
if(pacf) {
|
if(pacf) {
|
||||||
asCaStop();
|
asCaStop();
|
||||||
} else { /*Just leave everything as is */
|
} else { /*Just leave everything as is */
|
||||||
@@ -131,9 +128,6 @@ static long asInitCommon(void)
|
|||||||
|
|
||||||
int asInit(void)
|
int asInit(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
/*If no access configuration file defined return success*/
|
|
||||||
if(!pacf) return(0);
|
|
||||||
return(asInitCommon());
|
return(asInitCommon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
/* share/epicsH/dbAsLib.h */
|
|
||||||
/* $Id$ */
|
|
||||||
/* Author: Marty Kraimer Date: 02-23-94*/
|
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 02-23-94 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INCdbAsLibh
|
|
||||||
#define INCdbAsLibh
|
|
||||||
#include <asLib.h>
|
|
||||||
#include <callback.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
CALLBACK callback;
|
|
||||||
long status;
|
|
||||||
} ASDBCALLBACK;
|
|
||||||
|
|
||||||
int asSetFilename(char *acf);
|
|
||||||
int asSetSubstitutions(char *substitutions);
|
|
||||||
int asInit(void);
|
|
||||||
int asInitAsyn(ASDBCALLBACK *pcallback);
|
|
||||||
int asDbGetAsl( void *paddr);
|
|
||||||
ASMEMBERPVT asDbGetMemberPvt( void *paddr);
|
|
||||||
int asdbdump( void);
|
|
||||||
int aspuag(char *uagname);
|
|
||||||
int asphag(char *hagname);
|
|
||||||
int asprules(char *asgname);
|
|
||||||
int aspmem(char *asgname,int clients);
|
|
||||||
void asCaStart(void);
|
|
||||||
void asCaStop(void);
|
|
||||||
|
|
||||||
#endif /*INCdbAsLibh*/
|
|
||||||
192
src/as/asLib.h
192
src/as/asLib.h
@@ -1,192 +0,0 @@
|
|||||||
/* $Id$ */
|
|
||||||
/* Author: Marty Kraimer Date: 09-27-93*/
|
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 09-27-93 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
#ifndef INCasLibh
|
|
||||||
#define INCasLibh
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <errMdef.h>
|
|
||||||
#include <ellLib.h>
|
|
||||||
|
|
||||||
typedef struct asgMember *ASMEMBERPVT;
|
|
||||||
typedef struct asgClient *ASCLIENTPVT;
|
|
||||||
typedef int (*ASINPUTFUNCPTR)(char *buf,int max_size);
|
|
||||||
typedef enum{
|
|
||||||
asClientCOAR /*Change of access rights*/
|
|
||||||
/*For now this is all*/
|
|
||||||
} asClientStatus;
|
|
||||||
|
|
||||||
typedef void (*ASCLIENTCALLBACK) (ASCLIENTPVT,asClientStatus);
|
|
||||||
/* The following routines are macros with the following syntax
|
|
||||||
long asCheckGet(ASCLIENTPVT asClientPvt);
|
|
||||||
long asCheckPut(ASCLIENTPVT asClientPvt);
|
|
||||||
*/
|
|
||||||
#define asCheckGet(asClientPvt)\
|
|
||||||
(asActive ?\
|
|
||||||
((asClientPvt)->access>=asREAD ? TRUE : FALSE)\
|
|
||||||
: TRUE)
|
|
||||||
#define asCheckPut(asClientPvt)\
|
|
||||||
(asActive ?\
|
|
||||||
((asClientPvt)->access>=asWRITE ? TRUE : FALSE)\
|
|
||||||
: TRUE)
|
|
||||||
|
|
||||||
epicsShareFunc int epicsShareAPI asInit(void);
|
|
||||||
epicsShareFunc long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction);
|
|
||||||
epicsShareFunc long epicsShareAPI asInitFile(const char *filename,const char *substitutions);
|
|
||||||
epicsShareFunc long epicsShareAPI asInitFP(FILE *fp,const char *substitutions);
|
|
||||||
/*caller must provide permanent storage for asgName*/
|
|
||||||
epicsShareFunc long epicsShareAPI asAddMember(ASMEMBERPVT *asMemberPvt,char *asgName);
|
|
||||||
epicsShareFunc long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt);
|
|
||||||
/*caller must provide permanent storage for newAsgName*/
|
|
||||||
epicsShareFunc long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,char *newAsgName);
|
|
||||||
epicsShareFunc void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt);
|
|
||||||
epicsShareFunc void epicsShareAPI asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt);
|
|
||||||
/*client must provide permanent storage for user and host*/
|
|
||||||
epicsShareFunc long epicsShareAPI asAddClient(ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt,
|
|
||||||
int asl,char *user,char *host);
|
|
||||||
/*client must provide permanent storage for user and host*/
|
|
||||||
epicsShareFunc long epicsShareAPI asChangeClient(ASCLIENTPVT asClientPvt,int asl,char *user,char *host);
|
|
||||||
epicsShareFunc long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt);
|
|
||||||
epicsShareFunc void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt);
|
|
||||||
epicsShareFunc void epicsShareAPI asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt);
|
|
||||||
epicsShareFunc long epicsShareAPI asRegisterClientCallback(ASCLIENTPVT asClientPvt,
|
|
||||||
ASCLIENTCALLBACK pcallback);
|
|
||||||
epicsShareFunc long epicsShareAPI asComputeAllAsg(void);
|
|
||||||
/* following declared below after ASG is declared
|
|
||||||
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
|
|
||||||
*/
|
|
||||||
epicsShareFunc long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt);
|
|
||||||
epicsShareFunc int epicsShareAPI asDump(void (*memcallback)(ASMEMBERPVT),
|
|
||||||
void (*clientcallback)(ASCLIENTPVT),int verbose);
|
|
||||||
epicsShareFunc int epicsShareAPI asDumpUag(char *uagname);
|
|
||||||
epicsShareFunc int epicsShareAPI asDumpHag(char *hagname);
|
|
||||||
epicsShareFunc int epicsShareAPI asDumpRules(char *asgname);
|
|
||||||
epicsShareFunc int epicsShareAPI asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int clients);
|
|
||||||
epicsShareFunc int epicsShareAPI asDumpHash(void);
|
|
||||||
|
|
||||||
#define S_asLib_clientsExist (M_asLib| 1) /*Client Exists*/
|
|
||||||
#define S_asLib_noUag (M_asLib| 2) /*User Access Group does not exist*/
|
|
||||||
#define S_asLib_noHag (M_asLib| 3) /*Host Access Group does not exist*/
|
|
||||||
#define S_asLib_noAccess (M_asLib| 4) /*access security: no access allowed*/
|
|
||||||
#define S_asLib_noModify (M_asLib| 5) /*access security: no modification allowed*/
|
|
||||||
#define S_asLib_badConfig (M_asLib| 6) /*access security: bad configuration file*/
|
|
||||||
#define S_asLib_badCalc (M_asLib| 7) /*access security: bad calculation espression*/
|
|
||||||
#define S_asLib_dupAsg (M_asLib| 8) /*Duplicate Access Security Group */
|
|
||||||
#define S_asLib_InitFailed (M_asLib| 9) /*access security: Init failed*/
|
|
||||||
#define S_asLib_asNotActive (M_asLib|10) /*access security is not active*/
|
|
||||||
#define S_asLib_badMember (M_asLib|11) /*access security: bad ASMEMBERPVT*/
|
|
||||||
#define S_asLib_badClient (M_asLib|12) /*access security: bad ASCLIENTPVT*/
|
|
||||||
#define S_asLib_badAsg (M_asLib|13) /*access security: bad ASG*/
|
|
||||||
#define S_asLib_noMemory (M_asLib|14) /*access security: no Memory */
|
|
||||||
|
|
||||||
/*Private declarations */
|
|
||||||
#define ASMAXINP 12
|
|
||||||
extern int asActive;
|
|
||||||
/* definition of access rights*/
|
|
||||||
typedef enum{asNOACCESS,asREAD,asWRITE} asAccessRights;
|
|
||||||
|
|
||||||
/*Base pointers for access security*/
|
|
||||||
typedef struct asBase{
|
|
||||||
ELLLIST uagList;
|
|
||||||
ELLLIST hagList;
|
|
||||||
ELLLIST asgList;
|
|
||||||
void *phash;
|
|
||||||
} ASBASE;
|
|
||||||
/*Defs for User Access Groups*/
|
|
||||||
typedef struct{
|
|
||||||
ELLNODE node;
|
|
||||||
char *user;
|
|
||||||
} UAGNAME;
|
|
||||||
typedef struct uag{
|
|
||||||
ELLNODE node;
|
|
||||||
char *name;
|
|
||||||
ELLLIST list; /*list of UAGNAME*/
|
|
||||||
} UAG;
|
|
||||||
/*Defs for Host Access Groups*/
|
|
||||||
typedef struct{
|
|
||||||
ELLNODE node;
|
|
||||||
char *host;
|
|
||||||
} HAGNAME;
|
|
||||||
typedef struct hag{
|
|
||||||
ELLNODE node;
|
|
||||||
char *name;
|
|
||||||
ELLLIST list; /*list of HAGNAME*/
|
|
||||||
} HAG;
|
|
||||||
/*Defs for Access SecurityGroups*/
|
|
||||||
typedef struct {
|
|
||||||
ELLNODE node;
|
|
||||||
UAG *puag;
|
|
||||||
}ASGUAG;
|
|
||||||
typedef struct {
|
|
||||||
ELLNODE node;
|
|
||||||
HAG *phag;
|
|
||||||
}ASGHAG;
|
|
||||||
typedef struct{
|
|
||||||
ELLNODE node;
|
|
||||||
asAccessRights access;
|
|
||||||
int level;
|
|
||||||
int inpUsed; /*mask for which inputs are used*/
|
|
||||||
int result; /*Result of calc converted to TRUE/FALSE*/
|
|
||||||
char *calc;
|
|
||||||
void *rpcl;
|
|
||||||
ELLLIST uagList; /*List of ASGUAG*/
|
|
||||||
ELLLIST hagList; /*List of ASGHAG*/
|
|
||||||
} ASGRULE;
|
|
||||||
typedef struct{
|
|
||||||
ELLNODE node;
|
|
||||||
char *inp;
|
|
||||||
void *capvt;
|
|
||||||
struct asg *pasg;
|
|
||||||
int inpIndex;
|
|
||||||
}ASGINP;
|
|
||||||
|
|
||||||
typedef struct asg{
|
|
||||||
ELLNODE node;
|
|
||||||
char *name;
|
|
||||||
ELLLIST inpList;
|
|
||||||
ELLLIST ruleList;
|
|
||||||
ELLLIST memberList;
|
|
||||||
double *pavalue; /*pointer to array of input values*/
|
|
||||||
int inpBad; /*mask for which inputs are bad*/
|
|
||||||
int inpChanged; /*mask showing inputs that have changed*/
|
|
||||||
} ASG;
|
|
||||||
typedef struct asgMember {
|
|
||||||
ELLNODE node;
|
|
||||||
ASG *pasg;
|
|
||||||
ELLLIST clientList;
|
|
||||||
char *asgName;
|
|
||||||
void *userPvt;
|
|
||||||
} ASGMEMBER;
|
|
||||||
typedef struct asgClient {
|
|
||||||
ELLNODE node;
|
|
||||||
ASGMEMBER *pasgMember;
|
|
||||||
char *user;
|
|
||||||
char *host;
|
|
||||||
void *userPvt;
|
|
||||||
ASCLIENTCALLBACK pcallback;
|
|
||||||
int level;
|
|
||||||
asAccessRights access;
|
|
||||||
} ASGCLIENT;
|
|
||||||
|
|
||||||
epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg);
|
|
||||||
/*following is "friend" function*/
|
|
||||||
void * asCalloc(size_t nobj,size_t size);
|
|
||||||
|
|
||||||
#endif /*INCasLibh*/
|
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
%{
|
%{
|
||||||
static int yyerror();
|
static int yyerror();
|
||||||
static int yy_start;
|
static int yy_start;
|
||||||
@@ -16,7 +25,7 @@ static ASGRULE *yyAsgRule=NULL;
|
|||||||
%token tokenUAG tokenHAG tokenASG tokenRULE tokenCALC
|
%token tokenUAG tokenHAG tokenASG tokenRULE tokenCALC
|
||||||
%token <Str> tokenINP
|
%token <Str> tokenINP
|
||||||
%token <Int> tokenINTEGER
|
%token <Int> tokenINTEGER
|
||||||
%token <Str> tokenNAME tokenSTRING
|
%token <Str> tokenSTRING
|
||||||
|
|
||||||
%union
|
%union
|
||||||
{
|
{
|
||||||
@@ -39,7 +48,7 @@ asconfig_item: tokenUAG uag_head uag_body
|
|||||||
| tokenASG asg_head
|
| tokenASG asg_head
|
||||||
;
|
;
|
||||||
|
|
||||||
uag_head: '(' tokenNAME ')'
|
uag_head: '(' tokenSTRING ')'
|
||||||
{
|
{
|
||||||
yyUag = asUagAdd($2);
|
yyUag = asUagAdd($2);
|
||||||
if(!yyUag) yyerror("");
|
if(!yyUag) yyerror("");
|
||||||
@@ -57,19 +66,15 @@ uag_user_list: uag_user_list ',' uag_user_list_name
|
|||||||
| uag_user_list_name
|
| uag_user_list_name
|
||||||
;
|
;
|
||||||
|
|
||||||
uag_user_list_name: tokenNAME
|
uag_user_list_name: tokenSTRING
|
||||||
{
|
{
|
||||||
long status;
|
if (asUagAddUser(yyUag,$1))
|
||||||
|
|
||||||
status = asUagAddUser(yyUag,$1);
|
|
||||||
if(status) {
|
|
||||||
yyerror($1);
|
yyerror($1);
|
||||||
}
|
|
||||||
free((void *)$1);
|
free((void *)$1);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
hag_head: '(' tokenNAME ')'
|
hag_head: '(' tokenSTRING ')'
|
||||||
{
|
{
|
||||||
yyHag = asHagAdd($2);
|
yyHag = asHagAdd($2);
|
||||||
if(!yyHag) yyerror("");
|
if(!yyHag) yyerror("");
|
||||||
@@ -84,19 +89,15 @@ hag_user_list: hag_user_list ',' hag_user_list_name
|
|||||||
| hag_user_list_name
|
| hag_user_list_name
|
||||||
;
|
;
|
||||||
|
|
||||||
hag_user_list_name: tokenNAME
|
hag_user_list_name: tokenSTRING
|
||||||
{
|
{
|
||||||
long status;
|
if (asHagAddHost(yyHag,$1))
|
||||||
|
|
||||||
status = asHagAddHost(yyHag,$1);
|
|
||||||
if(status) {
|
|
||||||
yyerror("");
|
yyerror("");
|
||||||
}
|
|
||||||
free((void *)$1);
|
free((void *)$1);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
asg_head: '(' tokenNAME ')'
|
asg_head: '(' tokenSTRING ')'
|
||||||
{
|
{
|
||||||
yyAsg = asAsgAdd($2);
|
yyAsg = asAsgAdd($2);
|
||||||
if(!yyAsg) yyerror("");
|
if(!yyAsg) yyerror("");
|
||||||
@@ -116,23 +117,21 @@ asg_body_item: inp_config | rule_config
|
|||||||
|
|
||||||
inp_config: tokenINP '(' inp_body ')'
|
inp_config: tokenINP '(' inp_body ')'
|
||||||
{
|
{
|
||||||
long status;
|
if (asAsgAddInp(yyAsg,$<Str>3,$<Int>1))
|
||||||
|
|
||||||
status = asAsgAddInp(yyAsg,$<Str>3,$<Int>1);
|
|
||||||
if(status) {
|
|
||||||
yyerror("");
|
yyerror("");
|
||||||
}
|
|
||||||
free((void *)$<Str>3);
|
free((void *)$<Str>3);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
inp_body: tokenNAME
|
inp_body: tokenSTRING
|
||||||
;
|
;
|
||||||
|
|
||||||
rule_config: tokenRULE rule_head rule_body
|
rule_config: tokenRULE rule_head rule_body
|
||||||
| tokenRULE rule_head
|
| tokenRULE rule_head
|
||||||
|
|
||||||
rule_head: '(' tokenINTEGER ',' tokenNAME ')'
|
rule_head: rule_head_manditory rule_head_options
|
||||||
|
|
||||||
|
rule_head_manditory: '(' tokenINTEGER ',' tokenSTRING
|
||||||
{
|
{
|
||||||
asAccessRights rights;
|
asAccessRights rights;
|
||||||
|
|
||||||
@@ -151,6 +150,21 @@ rule_head: '(' tokenINTEGER ',' tokenNAME ')'
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
rule_head_options: ')'
|
||||||
|
| rule_log_options
|
||||||
|
|
||||||
|
rule_log_options: ',' tokenSTRING ')'
|
||||||
|
{
|
||||||
|
if((strcmp($2,"TRAPWRITE")==0)) {
|
||||||
|
long status;
|
||||||
|
status = asAsgAddRuleOptions(yyAsgRule,AS_TRAP_WRITE);
|
||||||
|
if(status) yyerror("");
|
||||||
|
} else if((strcmp($2,"NOTRAPWRITE")!=0)) {
|
||||||
|
yyerror("Illegal access type");
|
||||||
|
}
|
||||||
|
free((void *)$2);
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
rule_body: '{' rule_list '}'
|
rule_body: '{' rule_list '}'
|
||||||
;
|
;
|
||||||
@@ -163,12 +177,8 @@ rule_list_item: tokenUAG '(' rule_uag_list ')'
|
|||||||
| tokenHAG '(' rule_hag_list ')'
|
| tokenHAG '(' rule_hag_list ')'
|
||||||
| tokenCALC '(' tokenSTRING ')'
|
| tokenCALC '(' tokenSTRING ')'
|
||||||
{
|
{
|
||||||
long status;
|
if (asAsgRuleCalc(yyAsgRule,$3))
|
||||||
|
yyerror("access security CALC failure");
|
||||||
status = asAsgRuleCalc(yyAsgRule,$3);
|
|
||||||
if(status){
|
|
||||||
yyerror("access security CALC failure");
|
|
||||||
}
|
|
||||||
free((void *)$3);
|
free((void *)$3);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
@@ -177,14 +187,10 @@ rule_uag_list: rule_uag_list ',' rule_uag_list_name
|
|||||||
| rule_uag_list_name
|
| rule_uag_list_name
|
||||||
;
|
;
|
||||||
|
|
||||||
rule_uag_list_name: tokenNAME
|
rule_uag_list_name: tokenSTRING
|
||||||
{
|
{
|
||||||
long status;
|
if (asAsgRuleUagAdd(yyAsgRule,$1))
|
||||||
|
yyerror("");
|
||||||
status = asAsgRuleUagAdd(yyAsgRule,$1);
|
|
||||||
if(status) {
|
|
||||||
yyerror("");
|
|
||||||
}
|
|
||||||
free((void *)$1);
|
free((void *)$1);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
@@ -193,14 +199,10 @@ rule_hag_list: rule_hag_list ',' rule_hag_list_name
|
|||||||
| rule_hag_list_name
|
| rule_hag_list_name
|
||||||
;
|
;
|
||||||
|
|
||||||
rule_hag_list_name: tokenNAME
|
rule_hag_list_name: tokenSTRING
|
||||||
{
|
{
|
||||||
long status;
|
if (asAsgRuleHagAdd(yyAsgRule,$1))
|
||||||
|
yyerror("");
|
||||||
status = asAsgRuleHagAdd(yyAsgRule,$1);
|
|
||||||
if(status) {
|
|
||||||
yyerror("");
|
|
||||||
}
|
|
||||||
free((void *)$1);
|
free((void *)$1);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
@@ -225,7 +227,7 @@ static int myParse(ASINPUTFUNCPTR inputfunction)
|
|||||||
if (!FirstFlag) {
|
if (!FirstFlag) {
|
||||||
line_num=1;
|
line_num=1;
|
||||||
yyFailed = FALSE;
|
yyFailed = FALSE;
|
||||||
yyreset(NULL);
|
yyreset();
|
||||||
yyrestart(NULL);
|
yyrestart(NULL);
|
||||||
}
|
}
|
||||||
FirstFlag = 0;
|
FirstFlag = 0;
|
||||||
|
|||||||
@@ -1,23 +1,15 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* share/src/as/asLibRoutines.c */
|
/* share/src/as/asLibRoutines.c */
|
||||||
/* share/src/as $Id$ */
|
/* share/src/as $Id$ */
|
||||||
/* Author: Marty Kraimer Date: 10-15-93 */
|
/* Author: Marty Kraimer Date: 10-15-93 */
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 10-15-93 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef vxWorks
|
#ifdef vxWorks
|
||||||
#include <vxWorks.h>
|
#include <vxWorks.h>
|
||||||
@@ -77,6 +69,7 @@ static long asHagAddHost(HAG *phag,char *host);
|
|||||||
static ASG *asAsgAdd(char *asgName);
|
static ASG *asAsgAdd(char *asgName);
|
||||||
static long asAsgAddInp(ASG *pasg,char *inp,int inpIndex);
|
static long asAsgAddInp(ASG *pasg,char *inp,int inpIndex);
|
||||||
static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level);
|
static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level);
|
||||||
|
static long asAsgAddRuleOptions(ASGRULE *pasgrule,int trapMask);
|
||||||
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name);
|
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name);
|
||||||
static long asAsgRuleHagAdd(ASGRULE *pasgrule,char *name);
|
static long asAsgRuleHagAdd(ASGRULE *pasgrule,char *name);
|
||||||
static long asAsgRuleCalc(ASGRULE *pasgrule,char *calc);
|
static long asAsgRuleCalc(ASGRULE *pasgrule,char *calc);
|
||||||
@@ -477,6 +470,7 @@ long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt)
|
|||||||
/*The dump routines do not lock. Thus they may get inconsistant data.*/
|
/*The dump routines do not lock. Thus they may get inconsistant data.*/
|
||||||
/*HOWEVER if they did lock and a user interrupts one of then then BAD BAD*/
|
/*HOWEVER if they did lock and a user interrupts one of then then BAD BAD*/
|
||||||
static char *asAccessName[] = {"NONE","READ","WRITE"};
|
static char *asAccessName[] = {"NONE","READ","WRITE"};
|
||||||
|
static char *asTrapOption[] = {"NOTRAPWRITE","TRAPWRITE"};
|
||||||
static char *asLevelName[] = {"ASL0","ASL1"};
|
static char *asLevelName[] = {"ASL0","ASL1"};
|
||||||
int epicsShareAPI asDump(
|
int epicsShareAPI asDump(
|
||||||
void (*memcallback)(struct asgMember *),
|
void (*memcallback)(struct asgMember *),
|
||||||
@@ -553,8 +547,9 @@ int epicsShareAPI asDump(
|
|||||||
while(pasgrule) {
|
while(pasgrule) {
|
||||||
int print_end_brace;
|
int print_end_brace;
|
||||||
|
|
||||||
printf("\tRULE(%d,%s)",
|
printf("\tRULE(%d,%s,%s)",
|
||||||
pasgrule->level,asAccessName[pasgrule->access]);
|
pasgrule->level,asAccessName[pasgrule->access],
|
||||||
|
asTrapOption[pasgrule->trapMask]);
|
||||||
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
||||||
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
||||||
if(pasguag || pasghag || pasgrule->calc) {
|
if(pasguag || pasghag || pasgrule->calc) {
|
||||||
@@ -604,7 +599,9 @@ int epicsShareAPI asDump(
|
|||||||
else
|
else
|
||||||
printf(" Illegal Level %d",pasgclient->level);
|
printf(" Illegal Level %d",pasgclient->level);
|
||||||
if(pasgclient->access>=0 && pasgclient->access<=2)
|
if(pasgclient->access>=0 && pasgclient->access<=2)
|
||||||
printf(" %s",asAccessName[pasgclient->access]);
|
printf(" %s %s",
|
||||||
|
asAccessName[pasgclient->access],
|
||||||
|
asTrapOption[pasgclient->trapMask]);
|
||||||
else
|
else
|
||||||
printf(" Illegal Access %d",pasgclient->access);
|
printf(" Illegal Access %d",pasgclient->access);
|
||||||
if(clientcallback) clientcallback(pasgclient);
|
if(clientcallback) clientcallback(pasgclient);
|
||||||
@@ -710,8 +707,9 @@ int epicsShareAPI asDumpRules(char *asgname)
|
|||||||
while(pasgrule) {
|
while(pasgrule) {
|
||||||
int print_end_brace;
|
int print_end_brace;
|
||||||
|
|
||||||
printf("\tRULE(%d,%s)",
|
printf("\tRULE(%d,%s,%s)",
|
||||||
pasgrule->level,asAccessName[pasgrule->access]);
|
pasgrule->level,asAccessName[pasgrule->access],
|
||||||
|
asTrapOption[pasgrule->trapMask]);
|
||||||
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList);
|
||||||
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList);
|
||||||
if(pasguag || pasghag || pasgrule->calc) {
|
if(pasguag || pasghag || pasgrule->calc) {
|
||||||
@@ -783,7 +781,9 @@ int epicsShareAPI asDumpMem(char *asgname,void (*memcallback)(ASMEMBERPVT),int c
|
|||||||
else
|
else
|
||||||
printf(" Illegal Level %d",pasgclient->level);
|
printf(" Illegal Level %d",pasgclient->level);
|
||||||
if(pasgclient->access>=0 && pasgclient->access<=2)
|
if(pasgclient->access>=0 && pasgclient->access<=2)
|
||||||
printf(" %s",asAccessName[pasgclient->access]);
|
printf(" %s %s",
|
||||||
|
asAccessName[pasgclient->access],
|
||||||
|
asTrapOption[pasgclient->trapMask]);
|
||||||
else
|
else
|
||||||
printf(" Illegal Access %d",pasgclient->access);
|
printf(" Illegal Access %d",pasgclient->access);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
@@ -909,6 +909,7 @@ static long asComputeAsgPvt(ASG *pasg)
|
|||||||
static long asComputePvt(ASCLIENTPVT asClientPvt)
|
static long asComputePvt(ASCLIENTPVT asClientPvt)
|
||||||
{
|
{
|
||||||
asAccessRights access=asNOACCESS;
|
asAccessRights access=asNOACCESS;
|
||||||
|
int trapMask=0;
|
||||||
ASGCLIENT *pasgclient = asClientPvt;
|
ASGCLIENT *pasgclient = asClientPvt;
|
||||||
ASGMEMBER *pasgMember;
|
ASGMEMBER *pasgMember;
|
||||||
ASG *pasg;
|
ASG *pasg;
|
||||||
@@ -961,12 +962,15 @@ check_hag:
|
|||||||
}
|
}
|
||||||
check_calc:
|
check_calc:
|
||||||
if(!pasgrule->calc
|
if(!pasgrule->calc
|
||||||
|| (!(pasg->inpBad & pasgrule->inpUsed) && (pasgrule->result==1)))
|
|| (!(pasg->inpBad & pasgrule->inpUsed) && (pasgrule->result==1))) {
|
||||||
access = pasgrule->access;
|
access = pasgrule->access;
|
||||||
|
trapMask = pasgrule->trapMask;
|
||||||
|
}
|
||||||
next_rule:
|
next_rule:
|
||||||
pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule);
|
pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule);
|
||||||
}
|
}
|
||||||
pasgclient->access = access;
|
pasgclient->access = access;
|
||||||
|
pasgclient->trapMask = trapMask;
|
||||||
if(pasgclient->pcallback && oldaccess!=access) {
|
if(pasgclient->pcallback && oldaccess!=access) {
|
||||||
(*pasgclient->pcallback)(pasgclient,asClientCOAR);
|
(*pasgclient->pcallback)(pasgclient,asClientCOAR);
|
||||||
}
|
}
|
||||||
@@ -1205,6 +1209,7 @@ static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level)
|
|||||||
if(!pasg) return(0);
|
if(!pasg) return(0);
|
||||||
pasgrule = asCalloc(1,sizeof(ASGRULE));
|
pasgrule = asCalloc(1,sizeof(ASGRULE));
|
||||||
pasgrule->access = access;
|
pasgrule->access = access;
|
||||||
|
pasgrule->trapMask = 0;
|
||||||
pasgrule->level = level;
|
pasgrule->level = level;
|
||||||
ellInit(&pasgrule->uagList);
|
ellInit(&pasgrule->uagList);
|
||||||
ellInit(&pasgrule->hagList);
|
ellInit(&pasgrule->hagList);
|
||||||
@@ -1212,6 +1217,16 @@ static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level)
|
|||||||
return(pasgrule);
|
return(pasgrule);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static long asAsgAddRuleOptions(ASGRULE *pasgrule,int trapMask)
|
||||||
|
{
|
||||||
|
if(!pasgrule) {
|
||||||
|
errMessage(S_asLib_badConfig," Access Security internal failure");
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
pasgrule->trapMask = trapMask;
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name)
|
static long asAsgRuleUagAdd(ASGRULE *pasgrule,char *name)
|
||||||
{
|
{
|
||||||
ASGUAG *pasguag;
|
ASGUAG *pasguag;
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
integer [0-9]
|
integer [0-9]
|
||||||
name [a-zA-Z0-9_\-:\.\[\]<>;]
|
name [a-zA-Z0-9_\-:\.\[\]<>;]
|
||||||
notquote [^\"]
|
notquote [^\"]
|
||||||
@@ -39,7 +48,7 @@ INP[A-L] {/* If A-L is changed then ASMAXINP must also be changed*/
|
|||||||
{name}+ { /*unquoted string*/
|
{name}+ { /*unquoted string*/
|
||||||
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
|
yylval.Str=(char *)asCalloc(1,strlen(yytext)+1);
|
||||||
strcpy(yylval.Str,yytext);
|
strcpy(yylval.Str,yytext);
|
||||||
return(tokenNAME);
|
return(tokenSTRING);
|
||||||
}
|
}
|
||||||
|
|
||||||
\"{string}*\" { /*quoted string*/
|
\"{string}*\" { /*quoted string*/
|
||||||
|
|||||||
165
src/as/asTrapWrite.c
Normal file
165
src/as/asTrapWrite.c
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
|
/*asTrapWrite.c */
|
||||||
|
/* Author: Marty Kraimer Date: 07NOV2000 */
|
||||||
|
|
||||||
|
/* Matthias Clausen and Vladis Korobov at DESY
|
||||||
|
* implemented the first logging of Channel Access Puts
|
||||||
|
* This implementation uses many ideas from their implementation
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "callback.h"
|
||||||
|
#include "freeList.h"
|
||||||
|
#include "asLib.h"
|
||||||
|
#include "asTrapWrite.h"
|
||||||
|
#include "semLib.h"
|
||||||
|
#include "ellLib.h"
|
||||||
|
|
||||||
|
typedef struct listenerPvt {
|
||||||
|
ELLNODE node;
|
||||||
|
struct listener *plistener;
|
||||||
|
void *userPvt;
|
||||||
|
}listenerPvt;
|
||||||
|
|
||||||
|
typedef struct listener{
|
||||||
|
ELLNODE node;
|
||||||
|
asTrapWriteListener func;
|
||||||
|
}listener;
|
||||||
|
|
||||||
|
typedef struct writeMessage {
|
||||||
|
ELLNODE node;
|
||||||
|
asTrapWriteMessage message;
|
||||||
|
ELLLIST listenerPvtList;
|
||||||
|
}writeMessage;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct asTrapWritePvt
|
||||||
|
{
|
||||||
|
ELLLIST listenerList;
|
||||||
|
ELLLIST writeMessageList;
|
||||||
|
void *freeListWriteMessage;
|
||||||
|
void *freeListListenerPvt;
|
||||||
|
SEM_ID lock;
|
||||||
|
}asTrapWritePvt;
|
||||||
|
|
||||||
|
static asTrapWritePvt *pasTrapWritePvt = 0;
|
||||||
|
|
||||||
|
static void asTrapWriteInit(void)
|
||||||
|
{
|
||||||
|
pasTrapWritePvt = calloc(1,sizeof(asTrapWritePvt));
|
||||||
|
ellInit(&pasTrapWritePvt->listenerList);
|
||||||
|
ellInit(&pasTrapWritePvt->writeMessageList);
|
||||||
|
freeListInitPvt(
|
||||||
|
&pasTrapWritePvt->freeListWriteMessage,sizeof(writeMessage),20);
|
||||||
|
freeListInitPvt(
|
||||||
|
&pasTrapWritePvt->freeListListenerPvt,sizeof(listenerPvt),20);
|
||||||
|
pasTrapWritePvt->lock = semMCreate(
|
||||||
|
SEM_DELETE_SAFE|SEM_INVERSION_SAFE|SEM_Q_PRIORITY);
|
||||||
|
}
|
||||||
|
|
||||||
|
asTrapWriteId epicsShareAPI asTrapWriteRegisterListener(
|
||||||
|
asTrapWriteListener func)
|
||||||
|
{
|
||||||
|
listener *plistener;
|
||||||
|
if(pasTrapWritePvt==0) asTrapWriteInit();
|
||||||
|
plistener = calloc(1,sizeof(listener));
|
||||||
|
plistener->func = func;
|
||||||
|
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||||
|
ellAdd(&pasTrapWritePvt->listenerList,&plistener->node);
|
||||||
|
semGive(pasTrapWritePvt->lock);
|
||||||
|
return((asTrapWriteId)plistener);
|
||||||
|
}
|
||||||
|
|
||||||
|
void epicsShareAPI asTrapWriteUnregisterListener(asTrapWriteId id)
|
||||||
|
{
|
||||||
|
listener *plistener = (listener *)id;
|
||||||
|
writeMessage *pwriteMessage;
|
||||||
|
|
||||||
|
if(pasTrapWritePvt==0) return;
|
||||||
|
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||||
|
pwriteMessage = (writeMessage *)ellFirst(&pasTrapWritePvt->writeMessageList);
|
||||||
|
while(pwriteMessage) {
|
||||||
|
listenerPvt *plistenerPvt
|
||||||
|
= (listenerPvt *)ellFirst(&pwriteMessage->listenerPvtList);
|
||||||
|
while(plistenerPvt) {
|
||||||
|
listenerPvt *pnext
|
||||||
|
= (listenerPvt *)ellNext(&plistenerPvt->node);
|
||||||
|
if(plistenerPvt->plistener == plistener) {
|
||||||
|
ellDelete(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||||
|
freeListFree(pasTrapWritePvt->freeListListenerPvt,(void *)plistenerPvt);
|
||||||
|
}
|
||||||
|
plistenerPvt = pnext;
|
||||||
|
}
|
||||||
|
pwriteMessage = (writeMessage *)ellNext(&pwriteMessage->node);
|
||||||
|
}
|
||||||
|
ellDelete(&pasTrapWritePvt->listenerList,&plistener->node);
|
||||||
|
free((void *)plistener);
|
||||||
|
semGive(pasTrapWritePvt->lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void * epicsShareAPI asTrapWriteBeforeWrite(
|
||||||
|
char *userid,char *hostid,void *addr)
|
||||||
|
{
|
||||||
|
writeMessage *pwriteMessage;
|
||||||
|
listener *plistener;
|
||||||
|
listenerPvt *plistenerPvt;
|
||||||
|
|
||||||
|
if(pasTrapWritePvt==0) return(0);
|
||||||
|
if(ellCount(&pasTrapWritePvt->listenerList)<=0) return 0;
|
||||||
|
pwriteMessage = (writeMessage *)freeListCalloc(
|
||||||
|
pasTrapWritePvt->freeListWriteMessage);
|
||||||
|
pwriteMessage->message.userid = userid;
|
||||||
|
pwriteMessage->message.hostid = hostid;
|
||||||
|
pwriteMessage->message.serverSpecific = addr;
|
||||||
|
ellInit(&pwriteMessage->listenerPvtList);
|
||||||
|
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||||
|
ellAdd(&pasTrapWritePvt->writeMessageList,&pwriteMessage->node);
|
||||||
|
plistener = (listener *)ellFirst(&pasTrapWritePvt->listenerList);
|
||||||
|
while(plistener) {
|
||||||
|
plistenerPvt = (listenerPvt *)freeListCalloc(
|
||||||
|
pasTrapWritePvt->freeListListenerPvt);
|
||||||
|
plistenerPvt->plistener = plistener;
|
||||||
|
pwriteMessage->message.userPvt = 0;
|
||||||
|
(*plistener->func)(&pwriteMessage->message,0);
|
||||||
|
plistenerPvt->userPvt = pwriteMessage->message.userPvt;
|
||||||
|
ellAdd(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||||
|
plistener = (listener *)ellNext(&plistener->node);
|
||||||
|
}
|
||||||
|
semGive(pasTrapWritePvt->lock);
|
||||||
|
return((void *)pwriteMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
void epicsShareAPI asTrapWriteAfterWrite(void *pvt)
|
||||||
|
{
|
||||||
|
writeMessage *pwriteMessage = (writeMessage *)pvt;
|
||||||
|
listenerPvt *plistenerPvt;
|
||||||
|
|
||||||
|
if(pwriteMessage==0 || pasTrapWritePvt==0) return;
|
||||||
|
semTake(pasTrapWritePvt->lock,WAIT_FOREVER);
|
||||||
|
plistenerPvt = (listenerPvt *)ellFirst(&pwriteMessage->listenerPvtList);
|
||||||
|
while(plistenerPvt) {
|
||||||
|
listenerPvt *pnext = (listenerPvt *)ellNext(&plistenerPvt->node);
|
||||||
|
listener *plistener;
|
||||||
|
plistener = plistenerPvt->plistener;
|
||||||
|
pwriteMessage->message.userPvt = plistenerPvt->userPvt;
|
||||||
|
(*plistener->func)(&pwriteMessage->message,1);
|
||||||
|
ellDelete(&pwriteMessage->listenerPvtList,&plistenerPvt->node);
|
||||||
|
freeListFree(pasTrapWritePvt->freeListListenerPvt,(void *)plistenerPvt);
|
||||||
|
plistenerPvt = pnext;
|
||||||
|
}
|
||||||
|
ellDelete(&pasTrapWritePvt->writeMessageList,&pwriteMessage->node);
|
||||||
|
freeListFree(pasTrapWritePvt->freeListWriteMessage,(void *)pwriteMessage);
|
||||||
|
semGive(pasTrapWritePvt->lock);
|
||||||
|
}
|
||||||
@@ -1,21 +1,15 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* share/src/as/ascheck.c */
|
/* share/src/as/ascheck.c */
|
||||||
/* share/src/as $Id$ */
|
/* share/src/as $Id$ */
|
||||||
/* Author: Marty Kraimer Date: 03-24-94 */
|
/* Author: Marty Kraimer Date: 03-24-94 */
|
||||||
/*****************************************************************
|
|
||||||
COPYRIGHT NOTIFICATION
|
|
||||||
*****************************************************************
|
|
||||||
|
|
||||||
(C) COPYRIGHT 1993 UNIVERSITY OF CHICAGO
|
|
||||||
|
|
||||||
This software was developed under a United States Government license
|
|
||||||
described on the COPYRIGHT_UniversityOfChicago file included as part
|
|
||||||
of this distribution.
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
/* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 03-24-94 mrk Initial Implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
|
|
||||||
TOP=../..
|
TOP=../..
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
TOP = ../../..
|
TOP = ../../..
|
||||||
include $(TOP)/config/CONFIG_BASE
|
include $(TOP)/config/CONFIG_BASE
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
TOP = ../../..
|
TOP = ../../..
|
||||||
include $(TOP)/config/CONFIG_BASE
|
include $(TOP)/config/CONFIG_BASE
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
/* cvtBpt.c - Convert using breakpoint table
|
/* cvtBpt.c - Convert using breakpoint table
|
||||||
@@ -6,31 +15,6 @@
|
|||||||
* Date: 04OCT95
|
* Date: 04OCT95
|
||||||
* This is adaptation of old bldCvtTable
|
* This is adaptation of old bldCvtTable
|
||||||
*
|
*
|
||||||
* Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
*
|
|
||||||
* Copyright 1991, the Regents of the University of California,
|
|
||||||
* and the University of Chicago Board of Governors.
|
|
||||||
*
|
|
||||||
* This software was produced under U.S. Government contracts:
|
|
||||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
|
||||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
|
||||||
*
|
|
||||||
* Initial development by:
|
|
||||||
* The Controls and Automation Group (AT-8)
|
|
||||||
* Ground Test Accelerator
|
|
||||||
* Accelerator Technology Division
|
|
||||||
* Los Alamos National Laboratory
|
|
||||||
*
|
|
||||||
* Co-developed with
|
|
||||||
* The Controls and Computing Group
|
|
||||||
* Accelerator Systems Division
|
|
||||||
* Advanced Photon Source
|
|
||||||
* Argonne National Laboratory
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* 01 04OCT95 mrk Taken from old bldCvtTable
|
|
||||||
*/
|
*/
|
||||||
#include <vxWorks.h>
|
#include <vxWorks.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -50,28 +34,19 @@ extern struct dbBase *pdbbase;
|
|||||||
|
|
||||||
static brkTable *findBrkTable(short linr)
|
static brkTable *findBrkTable(short linr)
|
||||||
{
|
{
|
||||||
brkTable *pbrkTable;
|
|
||||||
dbMenu *pdbMenu;
|
dbMenu *pdbMenu;
|
||||||
char name[50];
|
|
||||||
char *pname = name;
|
|
||||||
int len,ind;
|
|
||||||
|
|
||||||
|
|
||||||
pdbMenu = dbFindMenu(pdbbase,"menuConvert");
|
pdbMenu = dbFindMenu(pdbbase,"menuConvert");
|
||||||
len = strlen(pdbMenu->papChoiceValue[linr]);
|
if(!pdbMenu) {
|
||||||
if(len>=sizeof(name)) {
|
epicsPrintf("findBrkTable: menuConvert does not exist\n");
|
||||||
epicsPrintf("Break Tables(findBrkTable) choice name too long\n");
|
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
strcpy(pname,pdbMenu->papChoiceValue[linr]);
|
if(linr<0 || linr>=pdbMenu->nChoice) {
|
||||||
for(ind=0; ind<strlen(pname); ind++) {
|
epicsPrintf("findBrkTable linr %d but menuConvert has %d choices\n",
|
||||||
if(!isalnum(pname[ind])) {
|
linr,pdbMenu->nChoice);
|
||||||
pname[ind] = '\0';
|
return(0);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
pbrkTable = dbFindBrkTable(pdbbase,pname);
|
return(dbFindBrkTable(pdbbase,pdbMenu->papChoiceValue[linr]));
|
||||||
return(pbrkTable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
long cvtRawToEngBpt(double *pval,short linr,short init, void **ppbrk,
|
long cvtRawToEngBpt(double *pval,short linr,short init, void **ppbrk,
|
||||||
|
|||||||
@@ -1,35 +1,18 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* $Id$
|
/* $Id$
|
||||||
* Breakpoint Tables
|
* Breakpoint Tables
|
||||||
*
|
*
|
||||||
* Author: Marty Kraimer
|
* Author: Marty Kraimer
|
||||||
* Date: 11-7-90
|
* Date: 11-7-90
|
||||||
*
|
*
|
||||||
* Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
*
|
|
||||||
* Copyright 1991, the Regents of the University of California,
|
|
||||||
* and the University of Chicago Board of Governors.
|
|
||||||
*
|
|
||||||
* This software was produced under U.S. Government contracts:
|
|
||||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
|
||||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
|
||||||
*
|
|
||||||
* Initial development by:
|
|
||||||
* The Controls and Automation Group (AT-8)
|
|
||||||
* Ground Test Accelerator
|
|
||||||
* Accelerator Technology Division
|
|
||||||
* Los Alamos National Laboratory
|
|
||||||
*
|
|
||||||
* Co-developed with
|
|
||||||
* The Controls and Computing Group
|
|
||||||
* Accelerator Systems Division
|
|
||||||
* Advanced Photon Source
|
|
||||||
* Argonne National Laboratory
|
|
||||||
*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 05-18-92 rcz removed extern
|
|
||||||
* .02 05-18-92 rcz new database access
|
|
||||||
* .03 08-19-92 jba add prototypes for cvtRawToEngBpt,cvtEngToRawBpt
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCcvtTableh
|
#ifndef INCcvtTableh
|
||||||
|
|||||||
@@ -1,32 +1,16 @@
|
|||||||
|
/*************************************************************************\
|
||||||
|
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
* National Laboratory.
|
||||||
|
* Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
* Operator of Los Alamos National Laboratory.
|
||||||
|
* EPICS BASE Versions 3.13.7
|
||||||
|
* and higher are distributed subject to a Software License Agreement found
|
||||||
|
* in file LICENSE that is included with this distribution.
|
||||||
|
\*************************************************************************/
|
||||||
/* $Id$
|
/* $Id$
|
||||||
* Author: Marty Kraimer
|
* Author: Marty Kraimer
|
||||||
* Date: 9/28/95
|
* Date: 9/28/95
|
||||||
* Replacement for old bldCvtTable
|
* Replacement for old bldCvtTable
|
||||||
*
|
|
||||||
* Experimental Physics and Industrial Control System (EPICS)
|
|
||||||
*
|
|
||||||
* Copyright 1991, the Regents of the University of California,
|
|
||||||
* and the University of Chicago Board of Governors.
|
|
||||||
*
|
|
||||||
* This software was produced under U.S. Government contracts:
|
|
||||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
|
||||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
|
||||||
*
|
|
||||||
* Initial development by:
|
|
||||||
* The Controls and Automation Group (AT-8)
|
|
||||||
* Ground Test Accelerator
|
|
||||||
* Accelerator Technology Division
|
|
||||||
* Los Alamos National Laboratory
|
|
||||||
*
|
|
||||||
* Co-developed with
|
|
||||||
* The Controls and Computing Group
|
|
||||||
* Accelerator Systems Division
|
|
||||||
* Advanced Photon Source
|
|
||||||
* Argonne National Laboratory
|
|
||||||
*
|
|
||||||
* Modification Log:
|
|
||||||
* -----------------
|
|
||||||
* .01 28SEP95 mrk Replace old bldCvtTable
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
menu(menuConvert) {
|
menu(menuConvert) {
|
||||||
choice(menuConvertNO_CONVERSION,"NO CONVERSION")
|
choice(menuConvertNO_CONVERSION,"NO CONVERSION")
|
||||||
choice(menuConvertLINEAR,"LINEAR")
|
choice(menuConvertLINEAR,"LINEAR")
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
#*************************************************************************
|
||||||
|
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
|
||||||
|
# National Laboratory.
|
||||||
|
# Copyright (c) 2002 The Regents of the University of California, as
|
||||||
|
# Operator of Los Alamos National Laboratory.
|
||||||
|
# EPICS BASE Versions 3.13.7
|
||||||
|
# and higher are distributed subject to a Software License Agreement found
|
||||||
|
# in file LICENSE that is included with this distribution.
|
||||||
|
#*************************************************************************
|
||||||
|
|
||||||
TOP=../..
|
TOP=../..
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user