blob: 925d80dc82c3744f5c2d52db9d103473679eb9ec [file] [log] [blame]
#
# ${R_HOME}/src/unix/Makefile
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../..
subdir = src/unix
include $(top_builddir)/Makeconf
# see note in src/main/Makefile.in
LIBINTL= @BUILD_LIBINTL_FALSE@ @LIBINTL@
R_HOME=$(rhome)
STATIC_LIBR_PC = @WANT_R_STATIC_TRUE@ $(BLAS_LIBS) $(FLIBS) @R_XTRA_LIBS@ $(LIBINTL) @READLINE_LIBS@ $(LIBS)
ALL_CPPFLAGS = $(R_XTRA_CPPFLAGS) $(X_CFLAGS) $(CPPFLAGS) $(DEFS)
## Rscript should not be linked to OpenMP
## MAIN_CFLAGS is used on some systems when profiling R.
ALL_CFLAGS0 = $(R_XTRA_CFLAGS) $(MAIN_CFLAGS) $(CFLAGS)
SOURCES_C_BASE = Rembedded.c dynload.c system.c sys-unix.c sys-std.c X11.c
SOURCES = $(SOURCES_C_BASE)
DEPENDS = $(SOURCES:.c=.d)
OBJECTS = $(SOURCES:.c=.o)
HEADERS = Runix.h
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
DISTFILES = \
Makefile.in $(SOURCES_C_BASE) Rscript.c \
$(HEADERS) libR.pc.in system.txt
@WANT_R_SHLIB_TRUE@ALL_CFLAGS = $(ALL_CFLAGS_LO)
all: R
Makefile: $(srcdir)/Makefile.in \
$(top_builddir)/config.status \
../include/Rversion.h \
$(SOURCES)
@cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
Makedeps: Makefile $(DEPENDS)
@cat $(DEPENDS) >> Makefile
@touch $@
R: Makedeps
@$(MAKE) libunix.a
@$(MAKE) rhome="$(abs_top_builddir)" install-Rscript
## is this portable?
../include/Rversion.h:
(cd ../include; $(MAKE) $(@F))
libunix.a: $(OBJECTS)
@rm -Rf $@
$(AR) -cr $@ $(OBJECTS)
$(RANLIB) $@
mostlyclean: clean
clean:
@-rm -Rf .libs _libs Rscript.dSYM
@-rm -f Makedeps *.d *.o *.a *.lo *.la stamp-lo
distclean: clean
@-rm -f Makefile Rscript
maintainer-clean: distclean
## we need to build at install time to capture the correct 'rhome'
install-Rscript:
$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS0) $(LDFLAGS) -DR_HOME='"$(rhome)"' \
-o Rscript $(srcdir)/Rscript.c
@$(MKINSTALLDIRS) "$(DESTDIR)$(Rexecbindir)"
@$(INSTALL_PROGRAM) Rscript "$(DESTDIR)$(Rexecbindir)/Rscript"
## substitute at install time to allow 'prefix' to be overridden
install-pc:
@$(MKINSTALLDIRS) "$(DESTDIR)$(libdir)/pkgconfig"
-@$(SED) -e "s:@rhome:$(rhome):" \
-e "s:@rincludedir:$(rincludedir):" \
-e "s:@rarch:$(R_ARCH):" \
-e 's:@libsprivate:$(STATIC_LIBR_PC):' \
-e 's:@others:$(MAIN_LDFLAGS) $(LDFLAGS):' \
-e 's/@VERSION/$(VERSION)/' $(srcdir)/libR.pc.in \
> "$(DESTDIR)$(libdir)/pkgconfig/libR.pc"
install: install-main
install: @WANT_R_SHLIB_TRUE@ install-pc
install: @WANT_R_STATIC_TRUE@ install-pc
install-main: install-Rscript
@$(MKINSTALLDIRS) "$(DESTDIR)$(bindir)"
@$(INSTALL_PROGRAM) Rscript "$(DESTDIR)$(bindir)/Rscript"
@if test -n "${R_ARCH}"; then \
$(MKINSTALLDIRS) "$(DESTDIR)$(Rexecbindir2)"; \
$(INSTALL_PROGRAM) Rscript "$(DESTDIR)$(Rexecbindir2)/Rscript"; \
fi
uninstall:
@rm -f "$(DESTDIR)$(bindir)/Rscript" "$(DESTDIR)$(Rexecbindir)/Rscript" \
"$(DESTDIR)$(Rexecbindir2)/Rscript" \
"$(DESTDIR)$(libdir)/pkgconfig/libR.pc"
install-strip:
@$(MAKE) INSTALL_PROGRAM="${INSTALL_PROGRAM} -s" install
TAGS info dvi check:
distdir: $(DISTFILES)
@for f in $(DISTFILES); do \
test -f $(distdir)/$${f} \
|| ln $(srcdir)/$${f} $(distdir)/$${f} 2>/dev/null \
|| cp -p $(srcdir)/$${f} $(distdir)/$${f}; \
done
## Automagically generated dependencies: