#-*- Makefile -*-
## remove any .y.c rule
.SUFFIXES:
include ../gnuwin32/MkRules

all: makeMakedeps libmain.a

## there are headers and include files in this directory
CPPFLAGS=-I. -I../include -DHAVE_CONFIG_H -DR_DLL_BUILD
CFLAGS=$(OPTFLAGS)
FFLAGS=-O2

CSOURCES=\
	CConverters.c CommandLineArgs.c \
	Rdynload.c Renviron.c RNG.c \
	apply.c apse.c arithmetic.c array.c attrib.c \
	base.c bind.c builtin.c \
	character.c coerce.c colors.c complex.c connections.c context.c \
	cov.c cum.c \
	dcf.c datetime.c debug.c deparse.c deriv.c devices.c \
	dotcode.c dounzip.c dstruct.c duplicate.c \
	engine.c envir.c errors.c eval.c \
	format.c fourier.c \
	gevents.c gram.c gram-ex.c gramRd.c graphics.c \
	identical.c inlined.c internet.c iosupport.c \
	lapack.c list.c localecharset.c logic.c \
	main.c mapply.c match.c memory.c mkdtemp.c model.c \
	names.c \
	objects.c optim.c optimize.c options.c \
	par.c paste.c pcre.c platform.c \
	plot.c plot3d.c plotmath.c \
	print.c printarray.c printvector.c printutils.c qsort.c \
	random.c regex.c registration.c relop.c rlocale.c \
	saveload.c scan.c seq.c serialize.c size.c sort.c source.c split.c \
	sprintf.c startup.c subassign.c subscript.c subset.c summary.c sysutils.c \
	unique.c util.c \
	version.c vfonts.c

FSOURCES=xxxpr.f
OBJS=$(CSOURCES:.c=.o) $(FSOURCES:.f=.o) 

ifdef RUN_BISON
gram.c: gram.y
	bison gram.y
	$(SED) -e "s/gram.tab.c/gram.c/" gram.tab.c > gram.c
	$(RM) gram.tab.c
	
gramRd.c: gramRd.y
	bison gramRd.y
	$(SED) -e "s/gramRd.tab.c/gramRd.c/" gramRd.tab.c > gramRd.c
	$(RM) gramRd.tab.c	
endif

saveload-CPPFLAGS=-I../extra/xdr
connections-CPPFLAGS=-I../extra/zlib -I../extra/bzip2
dounzip-CPPFLAGS=-I../extra/zlib
character-CPPFLAGS=-I../extra/pcre -I../gnuwin32 -DPCRE_STATIC
pcre-CPPFLAGS=-I../extra/pcre -DPCRE_STATIC
platform-CPPFLAGS=-I../gnuwin32
builtin-CPPFLAGS=-I../gnuwin32
printutils-CPPFLAGS=-I../gnuwin32

ifeq ($(strip $(USE_ICU)),YES)
util-CPPFLAGS=-DUSE_ICU -I"$(ICU_PATH)"/include
endif

libmain.a: $(OBJS)

# Dependencies
DEPS=$(CSOURCES:.c=.d)

makeMakedeps: $(DEPS)
	@$(RM) Makedeps
	@cat $(DEPS) >> Makedeps

-include Makedeps
