Rev 52549 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#-*- Makefile -*-ifeq ($(strip $(WIN)),64)BINPREF = $(BINPREF64)SYMPAT = $(SYMPAT64)R_ARCH = /x64DEFINES = -DR_ARCH='"x64"' -DW64elseR_ARCH = /i386DEFINES = -DR_ARCH='"i386"' $(DEFS_W64)SYMPAT = 's/^.* [BCDRT] _/ /p'endif## -std=c99 would force __STRICT_ANSI__ disabling strdup etc, and also allocaC99FLAG=-std=gnu99# No other alternative is currently supported, but this could be used for ICCBUILD=GCC4ifeq ($(strip $(BUILD)),GCC4)F77=$(BINPREF)gfortran$(GCC4_SUFF)FLIBS=-lgfortran## earlier Rtools needed -sjlj; the alternative is -dw2, which failed building R.GCC4_SUFF=endifBINDIR=bin$(R_ARCH)ifdef USE_IMPLIBSIMPDIR=libelseIMPDIR=$(BINDIR)endif## use in front-ends and internet moduleGRAPHAPP_LIB=-lRgraphapp## used in stats/src/Makevars.winBLAS_LIBS=-L$(RHOME)/$(IMPDIR) -lRblasAR=$(BINPREF)arAS=$(BINPREF)as# AWK=gawkCAT=catCC=$(BINPREF)gcc$(GCC4_SUFF) $(C99FLAG)CP=cp# as set by makeCPP=$(CC) -EDLL=$(CC)DLLTOOL=$(BINPREF)dlltool## some versions have trouble with paths, so we always need this## even for native buildsDLLTOOLFLAGS=--as $(AS) -kECHO=echo## FIND is only used in installer/MakefileFIND=findLINKER=$(MAIN_LD)MAIN_LD=$(CC)MKDIR=mkdirNM=$(BINPREF)nmPERL=perlRANLIB=$(BINPREF)ranlibRESCOMP=$(BINPREF)windres# as set by makeRM=rm -fSED=sedSORT=sort.SUFFIXES:.SUFFIXES: .c .cc .cpp .C .f .o .a .def .exp .dll .exe .d .f90 .f95 .m .S.c.d:@echo "making $@ from $<"@$(CC) -MM $(CPPFLAGS) $($*-CPPFLAGS) $(DEFINES) $< -o $@.c.o:$(CC) $(CPPFLAGS) $($*-CPPFLAGS) $(CFLAGS) $($*-CFLAGS) $(DEFINES) -c $< -o $@.f.o:$(F77) $(FFLAGS) $($*-FFLAGS) -c $< -o $@%.exe:$(LINKER) $(LINKFLAGS) $($*-LINKFLAGS) -o $@ $^ $($*-LIBS) $(LIBS)%.dll:@$(ECHO) EXPORTS > $*.def@$(NM) $^ | $(SED) -n $(SYMPAT) >> $*.def$(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $*.def $^ $($*-DLLLIBS) $(DLLLIBS)@$(RM) $*.deflib%.dll.a: %.def$(DLLTOOL) $(DLLTOOLFLAGS) $($*-DLLTOOLFLAGS) --dllname $*.dll --input-def $*.def --output-lib $@%.a:# @$(ECHO) -------- Building $@ from $^ --------@$(RM) $@$(AR) crs $@ $^%.o: %.rc$(RESCOMP) $(RESFLAGS) $($*-RESFLAGS) -i $< -o $@