PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/09/06 20:01:00
Name DEICIDE
Subject [프로그래밍] 다음 make 파일을 어떻게 빌드해야 할지 모르겠네요;
GSL (곰TV 스타리그 아닙니다; GNU Scientific Library) 의 C++ wrapping 코드인 gnuwrap 이라는 것을 받아 사용하려고 합니다.
일단 저는 래핑 클래스라는 개념도 생소하고;;
그리고 일단 이 gnuwrap 을 빌드해서 라이브러리를 만들어 사용해야 하더군요.
그런데 이 녀석이 Makefile 을 제공하고 있습니다. 저같은 Visual Studio 같은 IDE 환경에나 익숙한 사람은 makefile 을 만나기만 해도 겁이 나네요;
이리저리 구글링을 해 봐서 Visual Studio 에서 제공하는 nmake 를 사용하면 빌드할 수 있다고 하는데, 이상하게 빌드가 되지 않네요.
해당 make 파일을 분석해서 Visual Studio 에서 동일하게 프로젝트를 구성하는 방식도 있다고 하는데, make 파일을 읽고 그대로 구성해 낼 능력도 되지 않아서;;
일단 해당 make 파일을 올려봅니다. (소스코드를 올리려니 참;;)
어떻게 빌드해야 할까요?

ThEnd.

//////////////////


Makefile.in

@SET_MAKE@
SHELL = @SHELL@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..

ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@

am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@

EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CXX = @CXX@
DEPDIR = @DEPDIR@
GSLWRAP_CFLAGS = @GSLWRAP_CFLAGS@
GSLWRAP_LIBS = @GSLWRAP_LIBS@
GSL_CFLAGS = @GSL_CFLAGS@
GSL_CONFIG = @GSL_CONFIG@
GSL_LIBS = @GSL_LIBS@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
STRIP = @STRIP@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
EXTRA_DIST = generate matrix_source.cc matrix_source.h vector_source.cc vector_source.h
INCLUDES = -I$(top_srcdir) @GSL_CFLAGS@
lib_LIBRARIES = libgslwrap.a
libgslwrapincludedir = $(includedir)/gslwrap

BUILT_SOURCES = matrix_float.h matrix_double.h matrix_int.h
vector_double.h  vector_float.h  vector_int.h
matrix_float.cc matrix_double.cc matrix_int.cc
vector_float.cc vector_double.cc vector_int.cc


libgslwrapinclude_HEADERS = matrix_float.h matrix_double.h matrix_int.h
vector_double.h  vector_float.h  vector_int.h
permutation.h
histogram.h
matrix_vector_operators.h
min_fminimizer.h multimin_fdfminimizer.h
random_generator.h
random_number_distribution.h


libgslwrap_a_SOURCES = matrix_float.cc matrix_double.cc matrix_int.cc
vector_float.cc vector_double.cc vector_int.cc
random_generator.cc

subdir = gslwrap
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
LIBRARIES = $(lib_LIBRARIES)

libgslwrap_a_AR = $(AR) cru
libgslwrap_a_LIBADD =
am_libgslwrap_a_OBJECTS = matrix_float.$(OBJEXT) matrix_double.$(OBJEXT)
        matrix_int.$(OBJEXT) vector_float.$(OBJEXT)
        vector_double.$(OBJEXT) vector_int.$(OBJEXT)
        random_generator.$(OBJEXT)
libgslwrap_a_OBJECTS = $(am_libgslwrap_a_OBJECTS)

DEFS = @DEFS@
DEFAULT_INCLUDES =  -I. -I$(srcdir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/matrix_double.Po
@AMDEP_TRUE@        ./$(DEPDIR)/matrix_float.Po
@AMDEP_TRUE@        ./$(DEPDIR)/matrix_int.Po
@AMDEP_TRUE@        ./$(DEPDIR)/random_generator.Po
@AMDEP_TRUE@        ./$(DEPDIR)/vector_double.Po
@AMDEP_TRUE@        ./$(DEPDIR)/vector_float.Po
@AMDEP_TRUE@        ./$(DEPDIR)/vector_int.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
        -o $@
CXXFLAGS = @CXXFLAGS@
DIST_SOURCES = $(libgslwrap_a_SOURCES)
HEADERS = $(libgslwrapinclude_HEADERS)

DIST_COMMON = $(libgslwrapinclude_HEADERS) Makefile.am Makefile.in
SOURCES = $(libgslwrap_a_SOURCES)

all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
.SUFFIXES: .cc .o .obj
$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) &&
          $(AUTOMAKE) --foreign  gslwrap/Makefile
Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)

AR = ar
libLIBRARIES_INSTALL = $(INSTALL_DATA)
install-libLIBRARIES: $(lib_LIBRARIES)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
        @list='$(lib_LIBRARIES)'; for p in $$list; do
          if test -f $$p; then
            f="`echo $$p | sed -e 's|^.*/||'`";
            echo " $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f";
            $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f;
          else :; fi;
        done
        @$(POST_INSTALL)
        @list='$(lib_LIBRARIES)'; for p in $$list; do
          if test -f $$p; then
            p="`echo $$p | sed -e 's|^.*/||'`";
            echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p";
            $(RANLIB) $(DESTDIR)$(libdir)/$$p;
          else :; fi;
        done

uninstall-libLIBRARIES:
        @$(NORMAL_UNINSTALL)
        @list='$(lib_LIBRARIES)'; for p in $$list; do
          p="`echo $$p | sed -e 's|^.*/||'`";
          echo " rm -f $(DESTDIR)$(libdir)/$$p";
          rm -f $(DESTDIR)$(libdir)/$$p;
        done

clean-libLIBRARIES:
        -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
libgslwrap.a: $(libgslwrap_a_OBJECTS) $(libgslwrap_a_DEPENDENCIES)
        -rm -f libgslwrap.a
        $(libgslwrap_a_AR) libgslwrap.a $(libgslwrap_a_OBJECTS) $(libgslwrap_a_LIBADD)
        $(RANLIB) libgslwrap.a

mostlyclean-compile:
        -rm -f *.$(OBJEXT) core *.core

distclean-compile:
        -rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_double.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_float.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_int.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_generator.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_double.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_float.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_int.Po@am__quote@

distclean-depend:
        -rm -rf ./$(DEPDIR)

.cc.o:
@AMDEP_TRUE@        source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@        depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@        $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
        $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<

.cc.obj:
@AMDEP_TRUE@        source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@        depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@        $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
        $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
CXXDEPMODE = @CXXDEPMODE@
uninstall-info-am:
libgslwrapincludeHEADERS_INSTALL = $(INSTALL_HEADER)
install-libgslwrapincludeHEADERS: $(libgslwrapinclude_HEADERS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libgslwrapincludedir)
        @list='$(libgslwrapinclude_HEADERS)'; for p in $$list; do
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi;
          f="`echo $$p | sed -e 's|^.*/||'`";
          echo " $(libgslwrapincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libgslwrapincludedir)/$$f";
          $(libgslwrapincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libgslwrapincludedir)/$$f;
        done

uninstall-libgslwrapincludeHEADERS:
        @$(NORMAL_UNINSTALL)
        @list='$(libgslwrapinclude_HEADERS)'; for p in $$list; do
          f="`echo $$p | sed -e 's|^.*/||'`";
          echo " rm -f $(DESTDIR)$(libgslwrapincludedir)/$$f";
          rm -f $(DESTDIR)$(libgslwrapincludedir)/$$f;
        done

ETAGS = etags
ETAGSFLAGS =

tags: TAGS

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)';
        unique=`for i in $$list; do
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi;
          done |
          $(AWK) '    { files[$$0] = 1; }
               END { for (i in files) print i; }'`;
        mkid -fID $$unique

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
                $(TAGS_FILES) $(LISP)
        tags=;
        here=`pwd`;
        list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)';
        unique=`for i in $$list; do
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi;
          done |
          $(AWK) '    { files[$$0] = 1; }
               END { for (i in files) print i; }'`;
        test -z "$(ETAGS_ARGS)$$tags$$unique"
          || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS)
             $$tags $$unique

GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd`
          && cd $(top_srcdir)
          && gtags -i $(GTAGS_ARGS) $$here

distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)

top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)

distdir: $(DISTFILES)
        @list='$(DISTFILES)'; for file in $$list; do
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi;
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`;
          if test "$$dir" != "$$file" && test "$$dir" != "."; then
            dir="/$$dir";
            $(mkinstalldirs) "$(distdir)$$dir";
          else
            dir='';
          fi;
          if test -d $$d/$$file; then
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1;
            fi;
            cp -pR $$d/$$file $(distdir)$$dir || exit 1;
          else
            test -f $(distdir)/$$file
            || cp -p $$d/$$file $(distdir)/$$file
            || exit 1;
          fi;
        done
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(HEADERS)

installdirs:
        $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(libgslwrapincludedir)

install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)"
          INSTALL_STRIP_FLAG=-s
          `test -z '$(STRIP)' ||
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
        -rm -f Makefile $(CONFIG_CLEAN_FILES)

maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am

clean-am: clean-generic clean-libLIBRARIES mostlyclean-am

distclean: distclean-am

distclean-am: clean-am distclean-compile distclean-depend
        distclean-generic distclean-tags

dvi: dvi-am

dvi-am:

info: info-am

info-am:

install-data-am: install-libgslwrapincludeHEADERS

install-exec-am: install-libLIBRARIES

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am

maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

uninstall-am: uninstall-info-am uninstall-libLIBRARIES
        uninstall-libgslwrapincludeHEADERS

.PHONY: GTAGS all all-am check check-am clean clean-generic
        clean-libLIBRARIES distclean distclean-compile distclean-depend
        distclean-generic distclean-tags distdir dvi dvi-am info
        info-am install install-am install-data install-data-am
        install-exec install-exec-am install-info install-info-am
        install-libLIBRARIES install-libgslwrapincludeHEADERS
        install-man install-strip installcheck installcheck-am
        installdirs maintainer-clean maintainer-clean-generic
        mostlyclean mostlyclean-compile mostlyclean-generic tags
        uninstall uninstall-am uninstall-info-am uninstall-libLIBRARIES
        uninstall-libgslwrapincludeHEADERS


$(BUILT_SOURCES): vector_source.h matrix_source.h vector_source.cc matrix_source.cc
        ./generate
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

////////////////////////////////////////////////////////////////////////////

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
MoreThanAir
10/09/06 20:18
수정 아이콘
리눅스에서 'make all' 하셔야 할 것 같은데요.

윈도우용으로 나온 놈이 아니라 윈도우로 컴파일 하기에는 힘들듯 한데요.

라이브러리도 전부 리눅스용으로 경로가 지정되어 있는걸로 보이네요.
소인배
10/09/06 20:18
수정 아이콘
그냥 ./configure 해 준 다음에 make && make install로 설치하면 안 되나요?
10/09/06 21:08
수정 아이콘
소인배님 말씀처럼 보통 라이브러리 소스를 가지고 오면
configure 를 실행 해 줘야 합니다.
이 놈이 하는 일은 make 파일을 환경에 맞도록 생성해 내는 거에요.
고로 configure 를 실행하기 전의 makefile은 정상 makefile 이 아닙니다.
보통은 환경에 맞도록 gcc 등을 설정(크로스 컴파일러 설정)하고, output 파일 생성 경로 등을 설정하죠.
일반 pc 환경이라면 configure 실행, make 실행 정도만 하면 원하는 바이너리가 생성됩니다.
make install 은 아마도 생성된 바이너리를 참조 가능한 PATH 에 이동 시키는 작업을 할 겁니다.
소인배
10/09/06 21:45
수정 아이콘
음... 윈도우즈라면 저는 모르겠네요 -_-;;
10/09/07 01:07
수정 아이콘
글을 다시 읽어보니, Visual Studio 에서 열려고 하시는군요 -_-;
죄송합니다. 리눅스 환경인 줄 알고 ㅠㅠ
configure 는 리눅스 환경 혹은 윈도우즈라면 cygwin 에서 실행할 수 있는 거구요.

대충 구글링 해 보니, 손쉽게 Visual Studio 에서는 사용할 수는 없는 것 같습니다.
구체적으로는 저도 해 보지 않아 모르겠지만, "gsl windows visual studio" 라고 구글링 해보니
몇 블로그가 나오긴 하네요. 다른 분께서 해 놓으신 걸 따라 하면 될 것 같습니다.
(저도 아주 예전엔 만들어 놓은 라이브러리 갖다 쓰는 것도 쉽지 않은 일이었죠 ...)
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
90381 아이유 팬분들 음반 질문 좀 드리겠습니다~ [3] KAKA`1550 10/09/06 1550
90380 새로 살 TV.... 브라운관 TV? TV겸용 모니터? [2] 회전목마1737 10/09/06 1737
90378 연극 예매티켓 다른사람이 수령 할 수 있나요? [1] 촉호파이1924 10/09/06 1924
90377 아이폰4에 대해 몇가지 궁금한게 있습니다. [2] gL2095 10/09/06 2095
90375 추석용 선물을 찾고 있습니다. 무적 신마1471 10/09/06 1471
90374 다이어트 할때 물대용으로 차가버섯 또는 결명자 물로 괜찮은가요 [3] -Aka2077 10/09/06 2077
90372 토목과 혹은 건축과 이신, 이셨던 분들 질문드립니다 ㅠ [5] 로랑보두앵1635 10/09/06 1635
90371 SRS WOW HD 설정 질문!! 생마린2555 10/09/06 2555
90370 [컴퓨터] 스파이웨어, 이상한 중국 사이트 질문 [2] 뮤게2538 10/09/06 2538
90369 윤하 질문 [5] 그랜드1906 10/09/06 1906
90368 과와 직업에 대해 질문입니다 레몬커피1632 10/09/06 1632
90366 스타 실력을 가늠할때 피지A B C 막 이런게 있던데 이게뭐죠? [12] 삼엽초2158 10/09/06 2158
90365 피지알 로그인이 자꾸 풀립니다. [4] 레지엔1438 10/09/06 1438
90363 통기타 독학으로 하는데 너무 어렵습니다ㅠㅠ [4] 뜨거운눈물2193 10/09/06 2193
90362 수학문제 하나 질문드립니다~ [3] Lionel Messi1939 10/09/06 1939
90361 손목이 아픕니다 ㅠ [4] 에휴존슨이무슨죄1328 10/09/06 1328
90360 [주식]self fund에 관해서 잘 아시는분.. [3] BoSs_YiRuMa1334 10/09/06 1334
90359 [프로그래밍] 다음 make 파일을 어떻게 빌드해야 할지 모르겠네요; [10] DEICIDE2217 10/09/06 2217
90358 나무 박사님 계신가요? 사진 보시고 나무 이름 좀 알려주세요! [5] 내여자태연1688 10/09/06 1688
90357 [스타2] 맹덕엄마가 누군지 밝혀졌나요??? [4] 화려한프로토3640 10/09/06 3640
90356 대학교 기성회직원 질문입니다. [4] 큭큭나당1539 10/09/06 1539
90355 머리카락 빨리 자라는 법은 정말 없나요????? [6] 갈반나2096 10/09/06 2096
90354 연애 질문입니다.(기념일 관련) [5] 天飛2147 10/09/06 2147
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로