makefile のインストール先指定の質問です。
普段何も考えずに
./configure, make, make install
を実行しているので、よくわかりません。
サーバー環境で、環境を壊したくないので、自分のディレクトリ内にインストールし、
パスを通すという事がしたいのですが、
makefile 内のどの部分でインストール先が指定されているのかが、読み解けません...
インストールしたいものの中に configure がなく、makefile の
どこかに PREFIX や BINDIR があるのではと探してはいるもののやはり、よくわかりません。
ググっても欲しい情報がなかなか手に入らず、困っています。
初歩的な質問でお恥ずかしいのですが、ご回答いただけたら幸いです。
ちなみに Makefile の中身はこんな感じです。
makefile
1CC= gcc 2CFLAGS= -g -Wall -O2 3#LDFLAGS= -Wl,-rpath,$$ORIGIN/../lib 4DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 5KNETFILE_O= knetfile.o 6LOBJS= bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o \ 7 bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o bedidx.o \ 8 $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o bam_cat.o 9AOBJS= bam_tview.o bam_plcmd.o sam_view.o \ 10 bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o \ 11 bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o \ 12 cut_target.o phase.o bam2depth.o padding.o bedcov.o bamshuf.o \ 13 bam_tview_curses.o bam_tview_html.o 14PROG= samtools 15INCLUDES= -I. 16SUBDIRS= . bcftools misc 17LIBPATH= 18LIBCURSES= -lcurses # -lXCurses 19 20.SUFFIXES:.c .o 21.PHONY: all lib 22 23.c.o: 24 $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ 25 26all-recur lib-recur clean-recur cleanlocal-recur install-recur: 27 @target=`echo $@ | sed s/-recur//`; \ 28 wdir=`pwd`; \ 29 list='$(SUBDIRS)'; for subdir in $$list; do \ 30 cd $$subdir; \ 31 $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \ 32 INCLUDES="$(INCLUDES)" LIBPATH="$(LIBPATH)" $$target || exit 1; \ 33 cd $$wdir; \ 34 done; 35 36all:$(PROG) 37 38.PHONY:all lib clean cleanlocal 39.PHONY:all-recur lib-recur clean-recur cleanlocal-recur install-recur 40 41lib:libbam.a 42 43libbam.a:$(LOBJS) 44 $(AR) -csru $@ $(LOBJS) 45 46samtools:lib-recur $(AOBJS) 47 $(CC) $(CFLAGS) -o $@ $(AOBJS) $(LDFLAGS) libbam.a -Lbcftools -lbcf $(LIBPATH) $(LIBCURSES) -lm -lz -lpthread 48 49razip:razip.o razf.o $(KNETFILE_O) 50 $(CC) $(CFLAGS) -o $@ $^ -lz 51 52bgzip:bgzip.o bgzf.o $(KNETFILE_O) 53 $(CC) $(CFLAGS) -o $@ $^ -lz -lpthread 54 55bgzf.o:bgzf.c bgzf.h 56 $(CC) -c $(CFLAGS) $(DFLAGS) -DBGZF_CACHE $(INCLUDES) bgzf.c -o $@ 57 58razip.o:razf.h 59bam.o:bam.h razf.h bam_endian.h kstring.h sam_header.h 60sam.o:sam.h bam.h 61bam_import.o:bam.h kseq.h khash.h razf.h 62bam_pileup.o:bam.h razf.h ksort.h 63bam_plcmd.o:bam.h faidx.h bcftools/bcf.h bam2bcf.h 64bam_index.o:bam.h khash.h ksort.h razf.h bam_endian.h 65bam_lpileup.o:bam.h ksort.h 66bam_tview.o:bam.h faidx.h bam_tview.h 67bam_tview_curses.o:bam.h faidx.h bam_tview.h 68bam_tview_html.o:bam.h faidx.h bam_tview.h 69bam_sort.o:bam.h ksort.h razf.h 70bam_md.o:bam.h faidx.h 71sam_header.o:sam_header.h khash.h 72bcf.o:bcftools/bcf.h 73bam2bcf.o:bam2bcf.h errmod.h bcftools/bcf.h 74bam2bcf_indel.o:bam2bcf.h 75errmod.o:errmod.h 76phase.o:bam.h khash.h ksort.h 77bamtk.o:bam.h 78 79faidx.o:faidx.h razf.h khash.h 80faidx_main.o:faidx.h razf.h 81 82 83libbam.1.dylib-local:$(LOBJS) 84 libtool -dynamic $(LOBJS) -o libbam.1.dylib -lc -lz 85 86libbam.so.1-local:$(LOBJS) 87 $(CC) -shared -Wl,-soname,libbam.so -o libbam.so.1 $(LOBJS) -lc -lz 88 89dylib: 90 @$(MAKE) cleanlocal; \ 91 case `uname` in \ 92 Linux) $(MAKE) CFLAGS="$(CFLAGS) -fPIC" libbam.so.1-local;; \ 93 Darwin) $(MAKE) CFLAGS="$(CFLAGS) -fPIC" libbam.1.dylib-local;; \ 94 *) echo 'Unknown OS';; \ 95 esac 96 97 98cleanlocal: 99 rm -fr gmon.out *.o a.out *.exe *.dSYM razip bgzip $(PROG) *~ *.a *.so.* *.so *.dylib 100 101clean:cleanlocal-recur
もう一つは、ややこしくどこから見ていけばいいのかもわかりません...
makefile
1 2all: 3 cd lib && ${MAKE} 4 cd jkOwnLib && ${MAKE} 5 cd blat && $(MAKE) 6 cd gfClient && $(MAKE) 7 cd gfServer && $(MAKE) 8 cd hg/pslPretty && $(MAKE) 9 cd hg/pslReps && $(MAKE) 10 cd hg/pslSort && $(MAKE) 11 cd utils/nibFrag && $(MAKE) 12 cd utils/faToNib && $(MAKE) 13 cd utils/faToTwoBit && $(MAKE) 14 cd utils/twoBitToFa && $(MAKE) 15 cd utils/twoBitInfo && $(MAKE) 16 cd webBlat && $(MAKE) 17 18clean: 19 rm -f */*.o */*/*.o lib/*/*.a
回答2件
あなたの回答
tips
プレビュー