본문 바로가기

Computer Science32

GNU make GNU make는 기본적으로 프로그램 그룹 중에서 어느 부분이 새롭게 컴파일되어야 하는지를 자동적으로 판단해서 필요한 커맨드를 실행한다. GNU make에 그 프로그램의 타겟과 의존성들을 알려주는 것이 Makefile이다. Makefile의 기본적인 구조는 아래와 같다. 타겟은 말 그대로 명령이 수행되어 얻을 결과 파일이고 의존성은 타겟이 의존하고 있는, 즉 타겟이 컴파일되기 위해 필요한 파일들을 의미한다. 참고로 타겟에는 결과 파일만 올 수 있는 것뿐 아니라 clean과 같은 레이블도 올 수 있다. 명령 부분은 앞에 반드시 TAB으로 구분한다. make는 명령어를 앞단에서 TAB으로 구분하기 때문이다. 나의 경우처럼 TAB 기본 설정이 nvim.init 에디터 설정에.. 2020. 9. 4.
리눅스 디렉토리 구조 중요도 순서대로 정리하자면, / - 루트 디렉토리. 모든 파일과 디렉토리가 이 곳에서 시작된다. /bin - 사용자 바이너리 디렉토리. 실행가능한 바이너리 파일들이 들어있다. (ex. grep, ping, cp) /sbin - 시스템 바이너리 디렉토리. 실행가능한 시스템 바이너리 파일들이 들어 있다. (ex. fdisk, ifconfig) /etc - 설정 파일 디렉토리. 왜 이름이 conf가 아니라 etc인지는 의문이다. 서버에서는 아파치 설정파일이 여기에 들어간다. /var - 가변 파일 디렉토리. /var/log의 시스템 로그나 /var/email의 이메일 등의 가변 파일을 보관한다. /home - 홈 디렉토리. 보통 사용자의 개인 파일을 유저 별로 나누어 디렉토리에 각각 보관한다. /tmp - 임.. 2020. 9. 4.