Rev 38811 | Blame | Last modification | View Log | Download | RSS feed
#-*- Makefile -*-all: makeMakedeps $(DLLNAME).dll.PHONY : all makeMakedeps# set this in Makevars.win to supply your own resource fileRCNAME=${DLLNAME}_res# set this (e.g. in SHLIB) to suppress adding version info to the DLLRCOBJ=$(RCNAME).o# Don't use SOURCES as this get passed on for libR.CFSOURCES=$(wildcard -f *.c *.f *.f90 *.f95)CSOURCES=$(wildcard -f *.c)CXXSOURCES=$(wildcard -f *.cc *.cpp *.C)FSOURCES=$(wildcard -f *.f)FCSOURCES=$(wildcard -f *.f90 *.f95)OBJSA=$(foreach i,$(CSOURCES) $(FSOURCES) $(CXXSOURCES) $(FCSOURCES),$(basename $i).o)include $(RHOME)/src/gnuwin32/MkRulesifneq ($(strip $(FCSOURCES)),)# don't assume F95 can be cross-compiled in the same wayDLL="$(F95)"elseifneq ($(strip $(CXXSOURCES)),)DLL_LDMAIN=g++endififneq ($(strip $(FSOURCES)),)EXTRA_LIBS=$(FLIBS)endifendififdef DEBUGDLLFLAGS=DEBUGFLAG=$(G_FLAG) -WallelseDLLFLAGS=-sDEBUGFLAG=-WallendifCOPTFLAG=-O2CXXOPTFLAG=-O2FOPTFLAG=-O2CPPFLAGS=$(PKG_CPPFLAGS) -I$(RHOME)/includeCFLAGS=$(CPPFLAGS) $(DEBUGFLAG) $(COPTFLAG) -std=gnu99 $(PKG_CFLAGS)CXXFLAGS=$(CPPFLAGS) $(DEBUGFLAG) $(CXXOPTFLAG) $(PKG_CXXFLAGS)FFLAGS=$(FOPTFLAG) $(DEBUGFLAG) $(PKG_FFLAGS)DLLLIBS=-L$(RHOME)/bin $(PKG_LIBS) $(EXTRA_LIBS) -lRRESFLAGS=--include-dir $(RHOME)/include# for use by Makevars.winR_HOME=$(RHOME)AA=$(wildcard Makefile)ifeq ($(AA),Makefile)include MakefileelseOBJS=$(filter-out $(OBJS-NO),$(OBJSA))endifAA=$(wildcard Makevars.win)ifeq ($(AA),Makevars.win)include Makevars.winelse-include Makevarsendif$(DLLNAME)_res.rc:@PERL5LIB=$(RHOME)/share/perl perl $(RHOME)/src/gnuwin32/makeDllRes.pl $(DLLNAME) > $@$(DLLNAME)_res.o: $(DLLNAME)_res.rc $(RHOME)/include/Rversion.hifeq ($(wildcard $(DLLNAME)-win.def),$(DLLNAME)-win.def)$(DLLNAME).dll : $(DLLNAME)-win.def $(OBJS) $(RCOBJ)$(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $^ $($*-DLLLIBS) $(DLLLIBS)else$(DLLNAME).dll : $(OBJS) $(RCOBJ)endif# DependenciesCXXSOURCES1=$(wildcard -f *.cc)CXXSOURCES2=$(wildcard -f *.cpp)CXXSOURCES3=$(wildcard -f *.C)DEPS=$(CSOURCES:.c=.d) $(CXXSOURCES1:.cc=.d) $(CXXSOURCES2:.cpp=.d) $(CXXSOURCES3:.C=.d)makeMakedeps: $(DEPS)@$(RM) Makedepsifneq ($(strip $(DEPS)),)@cat $(DEPS) >> Makedepsendif-include Makedeps