Rev 4394 | Blame | Last modification | View Log | Download | RSS feed
LIBLOC=../../../libraryLIBINDEX=$(wildcard $(LIBLOC)/LibIndex)DPKG=$(LIBLOC)/$(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)),)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/*.gnw.[rR])ifeq ($(strip RWIN32),)PKGRFILES=$(PKGRFILES0)elseR1 = $(foreach i,$(RWIN32),$(basename $(basename $i)))R2 = $(foreach i,$(R1),$i.r $i.R $i.unix.r $i.unix.R $i.win.r $i.win.R $i.mac.r $i.mac.R)PKGRFILES=$(filter-out $(R2),$(PKGRFILES0))endif# OthersOFILES0=$(wildcard $(SPKG)/*)OFILES1= DESCRIPTION INDEX TITLEOFILES-NO= R r data man src src-c Makefile.in inst check orig\DESCRIPTION INDEX TITLE index titleOFILES3=$(foreach i, $(OFILES1), $(SPKG)/$i)OFILES2=$(foreach i, $(OFILES-NO), $(SPKG)/$i)OFILES=$(filter-out $(OFILES2),$(OFILES0))INSTFILES=$(wildcard $(SPKG)/inst/*)all: $(DPKG)/zzzz $(DPKG)/R/$(PKG) $(DATA) $(DYNLIB)include ../../gnuwin32/MkRulesSEDP='/^[ ]*$$/d;s/$(DLLNAME).so/$(DLLNAME).dll/'$(DPKG)/R/$(PKG): $(PKGRFILES)ifneq ($(strip $(PKGRFILES)),)$(MKDIR) -p $(DPKG)/R$(CAT) $(PKGRFILES) | sed $(SEDP) > $@else@$(ECHO) " no R files in this package"endif# This fails if DESCRIPTION.. doesn't exist.# $(DPKG)/zzzz: $(OFILES3) $(OFILES)# On the other hand, ...zzzz is never created so$(DPKG)/zzzz:@$(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: FORCE$(MAKE) -C $(SSPKG) -f ../../../gnuwin32/MakeDll DLLNAME=$(DLLNAME)FORCE: