# Makefile:10: *** commands commence before first target. Stop.
위의 에러는 '첫 번째 타겟이 나오기 전에 명령어가 시작되었다'는 애매한 에러 메시지이다. 필자가 경험한 이 에러의 원인은 주로 긴 문장을 여러 라인에 표시를 하기 위해서 '\'를 사용할 때, 이를 잘못 사용했기 때문인 것 같다. 즉 '\'부분은 라인의 가장 끝문자가 되어야 하는데 실수로 '\'뒤에 스페이스를 몇 개 집어넣으면 여지없이 위의 에러가 발생한다.
대처: 10번째 줄(근처)에서 '\'문자가 있거든 이 문자가 라인의 가장 끝문자가 되도록 한다. 즉 '\'문자 다음에 나오는 글자(스페이스가 대부분) 는 모조리 없애 버린다.
SVN의 태그/브랜치는 CVS의 태그/브랜치와 다르다.
CVS의 태그/브랜치는 version에 박히는 것이라면은,
SVN의 태그/브랜치는 저장소에 복사를 하는 것이다.
그런 의미로 굳이
아래의 구조가 아니어도 상관이 없고, 사용자가 관리하기 편한대로 구조를 잡아도 된다는 것이다.
아무튼 태그/브랜치는 TortoiseSVN의 context-menu에서 Branch/tag로 들어갈 수 있으며
Branch/Tag를 누르면 아래의 다이얼로그가 뜨면서 복사할 URL을 물어본다.
기본적인 repository 구조라면, trunk 대신 tags/tag_number로 입력해준다.
그러면 그 위치로 현재 리비전을 복사해서, 새로운 tag를 생성한다.
(물론 내부적으로 복사하므로 매우 빠르고, 실제 데이터 크기가 크게 늘어나지도 않는다)
Repository Browser로 확인해 본, 태그 디렉토리
위에서 한대로 0.0.1 버전을 생성하였다.
4.19. Branching / Tagging
One of the features of version control systems is the ability to isolate
changes onto a separate line of development. This line is known as a branch. Branches are often used to try out new features
without disturbing the main line of development with compiler errors and bugs.
As soon as the new feature is stable enough then the development branch is merged back into the main branch (trunk).
Another feature of version control systems is the ability to mark particular
revisions (e.g. a release version), so you can at any time recreate a certain
build or environment. This process is known as tagging.
Subversion does not have special commands for branching or tagging, but uses
so-called “cheap copies” instead. Cheap copies are
similar to hard links in Unix, which means that instead of making a complete
copy in the repository, an internal link is created, pointing to a specific
tree/revision. As a result branches and tags are very quick to create, and take
up almost no extra space in the repository.
kscope는 KDE용 cscope의 GUI 프로그램이다.
솔찍히 대충써봐서인지 자세히는 모르겠지만
결과적으로 source insight를 대체하기에는 너무나 부족한 감이 든다.
물론 추적기능이라던가, 여러가지 있지만, 자동추적 기능이 없기 때문에 공백이 크게 느껴지는 것 같다.
아래는 kscope의 Project 메뉴이다.
Create Project를 하면 아래와 같은 dialog 창이 뜬다.
위에는 프로젝트의 이름( = 프로젝트 디렉토리의 이름)을 넣고
아래에는 프로젝트 디렉토리가 저장될 경로를 넣는다.
colinux portable ubuntu / ubuntu 9.04 에서 해봤는데,
/home이 아닌 곳에서는 아래와 같은 에러가 나므로, 되도록이면 $HOME(사용자 디렉토리) 에 생성하도록 한다.
프로젝트를 생성후, 소스 트리에서 소스파일들을 추가해준다.
Add/Remove files에 들어가면 아래와 같은 Dialog창으 뜨게 되고,
Add 에서 Directory 등을 이용해 파일을 추가한다. (이 부분은 source insight와 거의 유사하다)
만약에 *.c *.h 외에 다른 확장자가 필요하다면,
초기 프로젝트 생성시에 File Types에서 추가를 해주거나
Project 메뉴의 Project Properties에서 추가를 해주면 된다.
The network interface served by the static IP is configured by creating the configuration entry in the "/etc/network/interfaces" file as the following.
When the Linux kernel detects the physical interface eth0, the allow-hotplug stanza will cause ifup to bring up the interface and the iface stanza will cause ifup to use the static IP to configure the interface.
간단하게 해석하자면, 물리적으로 연결이 되었음을 탐지하게 되면, 자동으로 설정을 실행한다는 의미이다.
(interface-eth0-를 up 시키고 iface구절을 실행함)
Check to see if a Network Link/Interface is up|down
ip link show eth0
//the iproute package is required. If there is no ip package, apt-get install iproute
If eth0 has a Network link, the following will be returned:
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:26:57:4e brd ff:ff:ff:ff:ff:ff
If eth0 has no Network link, the following will be returned:
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:26:57:4e brd ff:ff:ff:ff:ff:ff