Rev 9523 | Blame | Last modification | View Log | Download | RSS feed
#-*- Makefile -*-RLIB=../../../libraryDPKG=$(RLIB)/$(PKG)SPKG=.ifeq ($(strip $(DLLNM)),)DLLNAME=$(PKG)elseDLLNAME=$(DLLNM)endif#this can be overwriten by the callerSRC = src#source directorySSPKG=$(SPKG)/$(SRC)LSOURCES=$(wildcard $(SSPKG)/*.c $(SSPKG)/*.f)ifeq ($(strip $(LSOURCES)),)LOBJS=DYNLIB=elseLOBJS=$(foreach i, $(LSOURCES), $(basename $i).o)DYNLIB=$(DPKG)/libs/$(DLLNAME).dllendif# dataDSOURCES=$(filter-out $(SPKG)/data/CVS, $(wildcard $(SPKG)/data/*))ifeq ($(strip $(DSOURCES)),)DATA=elseDATA=$(DPKG)/dataendif# RPKGRFILES0=$(wildcard $(SPKG)/R/*.[RSqrs])RWIN32=$(wildcard $(SPKG)/R/windows/*.[Rr])ifeq ($(strip RWIN32),)PKGRFILES=$(PKGRFILES0)elseR1 = $(foreach i,$(RWIN32), $(addprefix $(SPKG)/R/, $(notdir $i)))PKGRFILES=$(filter-out $(R1), $(PKGRFILES0)) $(RWIN32)endif# OthersOFILES0=$(wildcard $(SPKG)/*)OFILES1= DESCRIPTION INDEX TITLEOFILES-NO= R r chm data man src src-c Makefile.in inst check orig tests \DESCRIPTION DESCRIPTION.in INDEX TITLE index title \configure configure.inOFILES3=$(foreach i, $(OFILES1), $(SPKG)/$i)OFILES2=$(foreach i, $(OFILES-NO), $(SPKG)/$i)OFILES=$(filter-out $(OFILES2),$(OFILES0))INSTFILES=$(wildcard $(SPKG)/inst/*)# src Makefile?SRCMAKE=$(wildcard $(SSPKG)/Makefile.win)all: bare $(DATA) $(DYNLIB)bare: $(DPKG)/zzzz $(DPKG)/R/$(PKG)include $(RHOME)/src//gnuwin32/MkRulesclean:ifeq ($(strip $(SRCMAKE)),)$(RM) $(SSPKG)/$(DLLNAME).dll $(LOBJS) $(SSPKG)/$(DLLNAME).a $(SSPKG)/$(DLLNAME).defelse$(MAKE) -C $(SSPKG) RHOME=$(RHOME) -f Makefile.win cleanendif$(RM) -rf $(SPKG)/chm $(SPKG)/checkSEDP='/^[ ]*$$/d;s/$(DLLNAME).so/$(DLLNAME).dll/'$(DPKG)/R/$(PKG): $(PKGRFILES)ifneq ($(strip $(PKGRFILES)),)$(MKDIR) -p $(DPKG)/R# $(CAT) $(PKGRFILES) | $(SED) $(SEDP) > $@$(CAT) $(PKGRFILES) > $@else@$(ECHO) " no R files in this package"endif$(SPKG)/TITLE:if [ ! -f $(SPKG)/TITLE -a -f $(SPKG)/DESCRIPTION ] ; then \$(AWK) -f $(RHOME)/src/gnuwin32/maketitle $(SPKG)/DESCRIPTION > $@; \fi# This fails if DESCRIPTION.. doesn't exist.# $(DPKG)/zzzz: $(OFILES3) $(OFILES)# On the other hand, ...zzzz is never created so$(DPKG)/zzzz: $(SPKG)/TITLE@$(ECHO) "---------- Making package $(PKG) ------------"$(MKDIR) -p $(DPKG)ifeq ($(strip $(INSTFILES)),)-$(CP) -r $(OFILES3) $(OFILES) $(DPKG)/else-$(CP) -r $(OFILES3) inst/* $(DPKG)/endif$(DATA): $(DSOURCES)$(MKDIR) -p $(DATA)$(CP) $^ $@$(DYNLIB): $(SSPKG)/$(DLLNAME).dll$(MKDIR) -p $(DPKG)/libs$(CP) $^ $@$(SSPKG)/$(DLLNAME).dll: FORCEifeq ($(strip $(SRCMAKE)),)$(MAKE) -C $(SSPKG) RHOME=$(RHOME) \-f $(RHOME)/src/gnuwin32/MakeDll DLLNAME=$(DLLNAME)else$(MAKE) -C $(SSPKG) RHOME=$(RHOME) -f Makefile.winendifFORCE: