Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

MKSHLIB(1)

��������
mkshlib - �������� ����������� ����������

���������

    mkshlib  -s ����_������������ [-t ����_����������] [-h ����_������]
       [-n] [-L �������] [-q]

��������
������� mkshlib ������� ��� ����������� ���������� ����������, ��� � ����������� ���������� ������. ����������� ���������� ����� ������ �� �������, ������������� �� ������ ����������, �� ���������� ���, ��� ���������, ��������� � ����������� �����������, ����� �� ����� ���������� ������������ ����� � ��� �� ����������� ������ ������ ������������ �����������, ����� ��� � ������ ������������� ��������� � ������ �������� ������� ���� ����� ������������ �����������.

����������� ���������� ������ - ��� �����, ������� ������������ ��� �������������� ������ ����� ����������� ������������ � ����������� ����������� [��. ar(4)]. � ����������� ����������� ������ ����� �������� ����� ��� ��, ��� � � �������������, ��� ����� ������� ������� ���������� � ������� cc(1). ����� ����, ��� ��������, ������� ����� ��������� ��� �������, ����� ���� ��������� � ��� ����������� ����������� ������.

����������� ���������� ���������� - ��� ����������� ������, ������� �������������� � �������� ������������ �� ����� ���������� ���������, ������������ ����������� ����������. ����������� ���������� ���������� �������� ������ ������ ���� ����������� ����������; � ��� �� ������ ���� ������������� ������. ����������� ���������� ���������� ����� ��������� � ������ �� ����� ���������� ���������, ������������ ����������� ����������, � ������ ��������, ������������ �� �� ����������, ����� ��������� ��� ����������� � ������ ������ ������, �� ������ ������� ����� ����� ���� ����� ������ ������.

��������� ������������ � �������� mkshlib ������� �� ����� ��������� ������ � ����� ������������, ������������ ���������� ����������� ����������.

������� mkshlib ���������� ����� ������ ��������, ����� ��� ar(1), as(1), ld(1). ��������� � ������ ���������� ���������� � ������� ���������� ������ execvp [��. exec(2)], ������� ���� ������ ��������� � ��������� �� ������ ������, ����������� � ���������� PATH. ������� mkshlib ������������ �������� ��� ��, ��� � ������� cc(1); ��� ���������, � ������� ������������ ���������, �������� ��� �� �������. ��������, pfxmkshlib ������� pfxld.

������� mkshlib ���������� ��������� �����:

-s ����_������������
��������� ���� ������������ ����������� ����������. ���� ���� �������� ����������, ����������� ��� ���������� ����������� ����������. � ��� ��������� ������������ ������� ��������� ��� ����������� ���������� ����������, ���������� ��� �����, � ������� ������ ���������� ����������� ���������� ����������, ��������� ������ ������ ������ � ������ ������ ��� ����������� ���������� ����������, ������������ ������������� ��� ����������� ���������� ������ � ������ �� ������ ������, ������� ������ ���� �������� � ����������� ���������� (����������� ��. ����).

-t ����_����������
��������� ����, � ������� ����� �������� ����������� ����������� ���������� ����������. ��� ����, ����� ��������������� ����������� ����������� ����������, �� ���������� ����������� � �� �����, ������� ������� � ����� ������������ (��. ���� ��������� #target). ���� ������������ ����� -n, ��������� ����������� ���������� ���������� �� ������������.

-h ����_������
��������� ����, � ������� ����� �������� ����������� ����������� ���������� ������. ���� ��� ����� �� �������, ��������� ����������� ���������� ������ �� ������������.

-n
�� ������������ ����������� ���������� ����������. ��� ����� ������������ ��� ����, ����� ������� ������ ����������� ���������� ������. ��� �� �����, ������� ����������� ��������� � ����� -t, ��� ��� ��� �������� ����������� ���������� ������ ��������� ������ ����������� ���������� ����������.

-L ������� ...
�������� �������� ������ ��� ����������� ��������� ������, ��������� ���������� #objects noload, ���, ��� ����� ������� ������������ � ��������� ��������, � ������ ����� � ��������� �� ���������. ����� -L ����� ���� ������� � ��������� ������ ��������� ���, ��� ���� �������� ��������������� � ��������� ������� ����� ������� � ��������� �� ���������.

-q
�� �������� ��������������� ���������. ��� ����� ������������, ���� ��������, ��� ����� ������ ��������� �������� ��������������.

���� ������������ ����������� ���������� �������� ����������, ����������� ��� �������� ��� ����������� ���������� ������, ��� � ����������� ���������� ����������. ���������� � ������ ����� ������������ �������� �����������, �������������� ����.

������ ���������, �� ������� ����� ��������� ��������� ����� ������������, ��������� �� ��� ���, ���� �� ���������� ���� ��� �� ���������� ������ ���������.

#address ������ �����
��������� ��������� ����� ������ ����������� ���������� ����������. ��� ��������� ������ ������������ ��� ������� ��������� ������� ������ .text � .data.

#target ����������_���
������ ����������_��� ����������� ���������� ���������� �� ����� �� �������������. ��������� ��� ������������ � ����� ���� a.out(4), ������������ � ����������� ����������, � ������ ������������ ������� ��� ������ ����������� ����������, ����� ��� ��������� ������������ �����.

#branch
��������� �� ������ ������������ ������� ���������. ������, ��������� �� ���� ����������, ���������� ��� ������ ������������ ������� ���������. ������ ������������ ������� ��������� ����� ��������� ������:
   ���_������� ������_���_��������� �������
��� ���_������� - ��� ���, ��� �������� �������� ����� ����� � ������� ���������, � ������� ������ ������� ���� ����� �����. ������� ����� ���� ����� ������ ��� ���������� ����� ����� � ������� �������1-�������2. ������ ������� ������ ���� �� ������ 1; ���� � �� �� ������� �� ����� ���� ������� ������; � ������� ��������� �� ������ ���� ����������� ������� (������ ����� �� 1 �� ���������� ������������� ������ ���� ����������� �������������).

���� ��� ����� ���������� ����� ����� ����� ����� ����� ������������ ��� ���� ��������� ������� ��� ����� �������� ������ � ���� �� ����� � ������ ������� ������������ ������� ���������, �� ������������ ������������ �� ���������� �������. ��� ��������� ������� ������� ��������� ����� ��������������� ��� ������, � ������� � ����� ������� ����������� ���������� ����� ���� �������� ����� �������.

#objects
��������� ����� �� ������ �������, ������������ ����������� ���������� ����������. ������, ��������� �� ���� ����������, ��������������� ��� ������ �� ������ ������, � ��� �������, � ������� ��� ������ ���� ��������� � ����������� ���������� ����������. ������ ������� �� ���� ������, ����������� ��������� ��� �����������. ���� �� ������ ������������ ��� ����������� �� ������ ������ ��� ����������� ���������� ������, �� ������� �� � ����������� ���������� ������ ������������ ��������� ������ ����� lorder(1)tsort(1). ��� ��������� ����� ����������� � ����� ������������ ����������� ���������� ������ �������.

#objects noload
�� ������ ���������� ������� ������ ���� ����������� ��������� ������. ��� ���������� ��������������� � ��� �������, � ������� ��� �������, ��� ���������� ������ �� ����������� ����������� ����������. ��� ���� ��������, ����� ������������� ������ �� ���� �������������� ������ �����������, ���������� ��� ���������.

��� ����������� ���������� ������ �������� ��� ���������� ��� ����� ��� ��� �������� ���� -lX, ��� libX.a �������� ������ ����� � �������� LIBDIR ��� LLIBDIR. ����������� �������� ���������� �������� � ld(1), � ��� ������� ������ ��������� ������ ��������� ����� ��������������� ������ -L.

�������, ��� ���� � ������� ��������� #objects noload ������� ����������� ���������� ������, �� � ������ ������� cc, ������������� ����� � ����������� ����������� �����������, ����� ����� �������� ���������� ����������� ���������� ������.

#hide linker [*]
��� ��������� ������ ������� ����� ���������� ��� ����������� ����������� ����������. � ����������� ������� ����� ���������� ���������� ��������� [��. sh(1), find(1)], � ���� ������� ��� ������������� ���� �� ������ �� ���������, ��� ���������� ���������. �������� ��������� ����� �������� ����� � ������� ��������� #export (��. ����). �������������� �������� * ������������ ������������������
      #hide linker *
� �������� � ����, ��� ��� ������� ����� ���������� ����������.

��� �����, �������������� � ���������� #init � #branch, ������ �������� �������� � �� ����� ���� ������� ���������� � ������� ��������� #hide.

#export linker [*]
� ����������� ������� ����� ���������� ������� �����, ������� ��-�� ������������ ���������� ���������� ��������� #hide ����� �� ����� ����������. ��������, ������������������ ��������
   #hide linker *
   #export linker
   one
   two
�������� � ����, ��� ��� �����, ����� one � two, � ����� ���, ������� ��������� � ���������� #init � #branch, ���������� ����������.

#init �� ������_����
��������� �� ������ ����, ������� ������� �������������. ������, ��������� �� ���� ����������, ��������������� ��� ������ ������������ �������������, ������� ������ ����� ��������� ������:
   ��������� ������_���_��������� ���
��� ��������� - ��� ��������� �� ������� ���; ��������� ������ ���� ��������� � �� ������_�����. ��� ������ ����� ������ ������������ ������� ������������� ����:
   ���������=&���;
��������� ������������� ���������� �� �����������, ��� ��, ��� � ��������� ������������� ��������� #init ��� ���� �� �� �������_�����.

#ident �������_��������
������ �������_��������, ������� ����� �������� � ������ ������������ (.comment) ����������� ���������� ����������.

##
�����������. ������, ������������ � ##, ������������.

�����

   LIBDIR          ������ /lib.
   LLIBDIR         ������ /usr/lib.
   TMPDIR/*        ��������� �����.

������ ������� TMPDIR - ��� /usr/tmp, ������ ������ ���������� ����� ��������, �������� ���������� ��������� TMPDIR ������ �������� [��. tempnam( ) � tmpnam(3S)].

��. �����
ar(1), as(1), cc(1), ld(1), lorder(1), tsort(1). a.out(4), ar(4) � ����������� ������������.

�����������
����� -n ������ ������������ ������������ � ���������� #objects noload. ���� ������� ����������� ���������� ������, ������� ��� ����������, �� mkshlib ������� �� � ������� ������� ar -ru. �������������, ���� ��������� ��� ����������������� �� ������ ����, ���������� � ����������� ���������� ������, �� ����� ����������� ����� ����������� ������� ����������� ���������� ������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT