src/Makefile
b22faf0d
 SUBDIRS = gmap gstruct
 
 .PHONY: all clean $(SUBDIRS)
 
86afb162
 OBJECTS = bamreader.o bamtally.o iit.o variantsummary.o genome.o R_init_gmapR.o
b22faf0d
 
 R_SRC_DIR = ${CURDIR}
 PREFIX = ${R_SRC_DIR}/../inst/usr
 INCLUDE_DIR = $(PREFIX)/include
 
ca5cb9d7
 GSTRUCT_LIB = $(PREFIX)/$(LIBnn)/libgstruct-1.0.a
b22faf0d
 GSTRUCT_INCLUDE_DIR = $(INCLUDE_DIR)/gstruct
 
 SAMTOOLS_LIB = samtools/libbam.a
 
5bb21ad5
 PATCH_O = samtools_patch.o
 KNETFILE_O = knetfile.o
 BAMOBJ_0 = \
   bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o	\
   bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o \
   $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o $(PATCH_O)
 BAMOBJ=$(BAMOBJ_0:%=samtools/%)
 DFLAGS = -D_USE_KNETFILE -D_FILE_OFFSET_BITS=64 \
   -U_FORTIFY_SOURCE -DBGZF_CACHE \
   -Dfprintf=_samtools_fprintf \
   -Dexit=_samtools_exit \
   -Dabort=_samtools_abort
 
03e8ca6d
 PKG_CPPFLAGS += -I$(INCLUDE_DIR)
b22faf0d
 PKG_LIBS += $(GSTRUCT_LIB) $(SAMTOOLS_LIB) -lz
 
 SHLIB = gmapR.so
 
 all: $(SHLIB) gmap
 
 $(SHLIB): $(OBJECTS) $(GSTRUCT_LIB)
 	$(SHLIB_LINK) -o $@ $(OBJECTS) $(ALL_LIBS)
 
 $(OBJECTS): $(GSTRUCT_INCLUDE_DIR) $(OBJECTS:%.o=%.c)
 
91163a44
 samtools/%.o: samtools/%.c
 	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(DFLAGS) -c $< -o $@
 
b22faf0d
 $(GSTRUCT_LIB) $(GSTRUCT_INCLUDE_DIR): gstruct
 
5bb21ad5
 $(SAMTOOLS_LIB): $(BAMOBJ)
 	$(AR) -crus $@ $(BAMOBJ)
b22faf0d
 
5bb21ad5
 $(SUBDIRS): %: %/Makefile $(SAMTOOLS_LIB)
b22faf0d
 	cd $@; \
29fb70f5
 	$(MAKE) install
b22faf0d
 
5bb21ad5
 gstruct/Makefile: gstruct/configure
b22faf0d
 	cd $(dir $@); \
a49cb8de
         CFLAGS="-g -O3" \
03e8ca6d
 	./configure --enable-static --disable-shared \
b22faf0d
 	            --prefix=${PREFIX} --includedir=${GSTRUCT_INCLUDE_DIR} \
10998234
 	            --libdir=${PREFIX}/${LIBnn} \
6cc263ed
 	            --with-samtools-lib=${R_SRC_DIR}/samtools \
15c3d797
 		    --disable-maintainer-mode \
55d77a12
                     --disable-binaries
b22faf0d
 ## does not appear to be a true dependency yet
 ##	            --with-gmap=${PREFIX}/bin
 
 gmap/Makefile: gmap/configure
 	cd $(dir $@); \
c78be696
 	 ./configure --with-gmapdb=${GMAPDB} --prefix=${PREFIX} \
ff0b3d97
 	            --libdir=${PREFIX}/${LIBnn} --disable-maintainer-mode
b22faf0d
 
 clean:
 	for dir in $(SUBDIRS); do \
 	  $(MAKE) -C $$dir distclean; \
 	done
 	rm -f *.o *.so *.dll