[질문] freeBSD5.2기반 OpenSSH source받아서 수정후 컴파일 및

senon의 이미지

안녕하세요...

유닉스 초보입니다.

제 질문은 위의 제목처럼 freeBSD5.2기반 테스팅 서버에서 OpenSSH(버전은 중요하지 않습니다.)의 소스를 다운로드 받아서 일부 소스를 수정하고 나서 컴파일 하고, 실행해서 수정된 부분이 제대로 동작하는지 테스트를 하고자 합니다.

*.tar.gz를 다운로드 받으니 openssh*라는 디렉토리가 생기고, 안에 들여다 보니 *.c *.h 파일들만 쭉 있습니다. 어디를 수정해야 하는지는 알고 있습니다만...수정후 이를 효과적으로 재컴파일하고 실행 및 테스트 후 또 재컴파일하고 하려면 어떻게 하는것이 가장 좋을까요?

학교에서 프로젝할때는 거의 항상 이미 만들어진 Makefile를 가지고 작업했기에, 막상 Makefile 없으니, 어떻게 해야할지 모르겠습니다.

Makefile을 만들자니 어디서 부터 어떻게 만들어야 될지도 모르겠구요...
가장 보편적으로 사용되는 Makefile sample 같은 것이 혹시 있는지요...

그리고 추가로 질문을 하나 더 드리면...죄송...
Makefile에서
CFLAGS = -D[headerfile name]
LDFLAGS = -l[headerfile name]

그러니까, 만약에 #include <esp.h>를 제 소스에 추가시키면 (esp.h안에 있는 함수를 사용하기 위해), Makefile에서
CFLAGS = -DESP
LDFLAGS = -lesp

이것을 추가하라고 하는데, 이게 무슨 뜻인지 혹시 아시는 분 있으면 답변 부탁드리겠습니다. 컴파일할때 옵션 인 것 같긴한데...Makefile도 없고...없고.:cry:

그럼 미리 감사드리며 답변 부탁드리겠습니다.

wafe의 이미지

FreeBSD라면 포트 시스템의 Makefile을 참조하시면 도움이 될 것 같군요.

Heejoon Lee

senon의 이미지

포트 시스템이 Port Collection을 말하는 건가요?
그리고 포트 시스템의 Makefile은 어디서 찾을 수 있는지
조금만 자세히 알려주시면 감사하겠습니다.

shame2의 이미지

각 포트 디렉토리와 man make.conf

프비 매니아~

sangwoo의 이미지

senon wrote:
안녕하세요...

유닉스 초보입니다.

제 질문은 위의 제목처럼 freeBSD5.2기반 테스팅 서버에서 OpenSSH(버전은 중요하지 않습니다.)의 소스를 다운로드 받아서 일부 소스를 수정하고 나서 컴파일 하고, 실행해서 수정된 부분이 제대로 동작하는지 테스트를 하고자 합니다.

*.tar.gz를 다운로드 받으니 openssh*라는 디렉토리가 생기고, 안에 들여다 보니 *.c *.h 파일들만 쭉 있습니다. 어디를 수정해야 하는지는 알고 있습니다만...수정후 이를 효과적으로 재컴파일하고 실행 및 테스트 후 또 재컴파일하고 하려면 어떻게 하는것이 가장 좋을까요?

학교에서 프로젝할때는 거의 항상 이미 만들어진 Makefile를 가지고 작업했기에, 막상 Makefile 없으니, 어떻게 해야할지 모르겠습니다.

Makefile을 만들자니 어디서 부터 어떻게 만들어야 될지도 모르겠구요...
가장 보편적으로 사용되는 Makefile sample 같은 것이 혹시 있는지요...

포트 컬렉션의 Makefile을 다 들여다보고 고치시기는 좀 힘드실 꺼 같고.
(포트 시스템은 자체적으로 정해져 있는 타겟이 많고, 타겟의 세세한 내용은
또 별도의 *.mk 파일에 나누어져 들어 있기 때문에, 마음잡고 보지 않으면
정말 힘듭니다.)
다운받아서 컴파일하여 사용하고 싶으시면, 가장 편한 방법은 openssh-portable
의 소스를 받아서, configure 스크립트를 실행하는 방법일 꺼 같습니다.
마스터 사이트는 여기네요. ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
소스를 푸신 후, ./configure 를 실행시키시면 Makefile 이 생성됩니다.
그 후, gmake 나 make 로 생성된 Makefile을 실행시키시면 됩니다.

참고하실 페이지입니다. 첫 문단을 읽어보세요 ^^
http://www.openssh.org/portable.html

----
Let's shut up and code.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.