나는 D 언어와 프로그래밍을위한 유틸리티 라이브러리 libdog-dev
을 쓰고, 여기에 Makefile.am
입니다 : 제대로 작동D 소스에서 빌드 한 정적 라이브러리를 Makefile.am에 포함시키는 방법?
sited2dir = /usr/include/d2/site
lib32dir = ${libdir}/i386-linux-gnu
# lib64dir = ${libdir}/x86_64-linux-gnu
lib32_LIBRARIES = \
i386/libdog.a
# lib64_LIBRARIES = \
# x86_64/libdog.a
i386/libdog.a:
mkdir -p i386
dmd -lib -m32 [email protected] -op -Hdi386/include/ `find src/ -name '*.d'`
x86_64/libdog.a:
mkdir -p x86_64
dmd -lib -m64 [email protected] -op -Hdx86_64/include/ `find src/ -name '*.d'`
# Since the header files for i386/x86_64 are the same, let's just pick the i386 one.
install-data-hook:
mkdir -p $(DESTDIR)$(sited2dir)
rsync -av i386-linux-gnu/include/ $(DESTDIR)$(sited2dir)
그러나, 뭔가 난 아직 불분명 해요 :
내가 필요 이 프로젝트에 c/C++ 소스가 없으므로
AC_PROG_CC
및AC_PROG_RANLIB
을configure.ac
에 포함해야합니다.이 값은 불필요합니다. 두 명령.이 누락되면 오류가 발생합니다.에는 단 하나의
libdog.a
만 포함 할 수 있습니다. 나는 그것을 포함하는 경우, automake에 오류가 표시됩니다 위의 코드에서 - 64 일을 주석했다 :cd . && /bin/bash /home/lenik/tasks/1-uni/devel/libdog-dev/missing --run automake-1.11 --gnu Makefile Makefile.am: object `libdog.$(OBJEXT)' created by `x86_64/libdog.c' and `i386/libdog.c' make: *** [Makefile.in] Error 1
내가처럼, 하나 개의 패키지에 모두 i386을위한 버전과 x86-64에 포함 할 데비안의 공식
dmd
패키지 : 열심히 메이크 소스에 아치 이름i386-linux-gnu
및x86_64-linux-gnu
코딩했다... (install tree of the dmd-2.059-0 package) |-- lib/ | |-- i386-linux-gnu/ | | `-- libphobos2.a | `-- x86_64-linux-gnu/ | `-- libphobos2.a
하지만, 어떻게 든 생성해야 ..?