topsrc = @top_srcdir@
datarootdir = @datarootdir@

prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@

CC = @CC@
CFLAGS = @CFLAGS@
MAKE = @MAKE@
INSTALL = @INSTALL@
LN = @LN_S@

build_gui = @build_gui@
have_gmp = @have_gmp@
build_mailer = @build_mailer@

GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
GMP_CFLAGS = @GMP_CFLAGS@
GMP_LIBS = @GMP_LIBS@
MPFR_CFLAGS = @MPFR_CFLAGS@
MPFR_LIBS = @MPFR_LIBS@
LAPACK_LIBS = @LAPACK_LIBS@
HAVE_AUDIO = @HAVE_AUDIO@
FLITE_CFLAGS = @FLITE_CFLAGS@
FLITE_LIBS = @FLITE_LIBS@

ifeq ($(CC),)
  CC = gcc
endif
ifeq ($(INSTALL_PROGRAM),)
  INSTALL_PROGRAM = $(INSTALL) -m 755
endif
ifeq ($(INSTALL_DATA),)
  INSTALL_DATA = $(INSTALL) -m 644
endif

VPATH = $(topsrc)/plugin:$(topsrc)/tests:$(topsrc)/plugin/mpack

override CFLAGS += -I.. -I$(topsrc)/gui2 -DHAVE_CONFIG_H

LIBTOOL = ../libtool
COMPILE = $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) 
LINK = $(LIBTOOL) --mode=link $(CC) -module -avoid-version -rpath $(plugindir)

GRETLINC = -I$(topsrc)/lib/src
GRETLLIB = ../lib/libgretl-1.0.la

plugindir = $(libdir)/gretl-gtk2
GRETL_LIBOLE2_CFLAGS := -I$(topsrc)/plugin $(shell pkg-config --cflags glib-2.0)
GRETL_ZIP_CFLAGS := -I$(topsrc)/plugin/zipunzip $(shell pkg-config --cflags glib-2.0)
GRETL_ZIP_LIBS := $(shell pkg-config --libs glib-2.0) -lz

SRCS = excel_import.c \
	fiml.c \
	liml.c \
	gnumeric_import.c \
	eviews_import.c \
	stata_import.c \
	jmulti_import.c \
	import_common.c \
	johansen.c \
	kernel.c \
	lad.c \
	longname.c \
	mp_ols.c \
	pca.c \
	progress_bar.c \
	range-mean.c \
	fractals.c \
	stats_tables.c \
	sysest.c \
	tramo_options.c \
	tramo-x12a.c \
	workbook.c \
	nistcheck.c \
	arma.c \
	arma_x12.c \
	tobit.c \
	oprobit.c \
	garch.c \
	urcdist.c \
	vif.c \
	poisson.c \
	gretlzip.c

ZIPSRC = zfileio.c \
	zsystem.c \
	zipfile.c \
	zipmain.c \
	zipwork.c

PLUGINS = arbond.la \
	arma.la \
	arma_x12.la \
	eviews_import.la \
	stata_import.la \
	jmulti_import.la \
	fractals.la \
	garch.la \
	johansen.la \
	kernel.la \
	lad.la \
	nistcheck.la \
	range-mean.la \
	stats_tables.la \
	sysest.la \
	tobit.la \
	oprobit.la \
	urcdist.la \
	vif.la \
	poisson.la \
	gretlzip.la 

GUI_DEPENDENT_PLUGINS = excel_import.la \
	gnumeric_import.la \
	progress_bar.la \
	leverage.la \
	tramo-x12a.la \
	pca.la 

MAILER_PLUGIN = mailer.la

ifeq ($(build_gui),yes)
  PLUGINS += $(GUI_DEPENDENT_PLUGINS)
  ifeq ($(build_mailer),yes)
     PLUGINS += $(MAILER_PLUGIN)
  endif
  ifeq ($(HAVE_AUDIO),1)
     PLUGINS += audio.la
     AUDIO_CFLAGS = $(FLITE_CFLAGS)
     AUDIO_LIBS = $(FLITE_LIBS)
  endif  
endif

ifeq ($(have_gmp),yes)
  PLUGINS += mp_ols.la
  GMPDEF = -DUSE_GMP
endif

vpath %.c $(topsrc)/plugin/libole2
vpath %.h $(topsrc)/plugin/libole2

ifeq ($(LIBGSF_LIBS),)
  vpath %.c $(topsrc)/plugin/zipunzip
  vpath %.h $(topsrc)/plugin/zipunzip
  ZIPOBJ = $(ZIPSRC:.c=.lo)
  ZIP_LIBS = $(GRETL_ZIP_LIBS)
  ZIP_CFLAGS = $(GRETL_ZIP_CFLAGS)
endif

URCDATA = $(topsrc)/plugin/data/urcdata.gz

override CFLAGS += $(GRETLINC) $(GTK_CFLAGS) $(GMP_CFLAGS) $(MPFR_CFLAGS) \
	$(XML_CFLAGS) $(GRETL_LIBOLE2_CFLAGS) $(ZIP_CFLAGS) $(AUDIO_CFLAGS) -I. $(GMPDEF)

%.lo: %.c
	$(COMPILE) $< 
	$(CC) $(CFLAGS) -MM -MT $*.lo $< > .deps/$*.d 

all: .deps $(PLUGINS)

.deps:
	mkdir $@

-include .deps/*.d

stats_tables.la: stats_tables.lo
	$(LINK) -o $@ $< $(GRETLLIB)

range-mean.la: range-mean.lo
	$(LINK) -o $@ $< $(GRETLLIB)

eviews_import.la: eviews_import.lo
	$(LINK) -o $@ $< $(GRETLLIB)

stata_import.la: stata_import.lo
	$(LINK) -o $@ $< $(GRETLLIB) $(GLIB_LIBS)

jmulti_import.la: jmulti_import.lo
	$(LINK) -o $@ $< $(GRETLLIB)

fractals.la: fractals.lo
	$(LINK) -o $@ $< $(GRETLLIB)

lad.la: lad.lo
	$(LINK) -o $@ $< $(GRETLLIB)

kernel.la: kernel.lo
	$(LINK) -o $@ $< $(GRETLLIB)

vif.la: vif.lo
	$(LINK) -o $@ $< $(GRETLLIB) $(LAPACK_LIBS)

urcdist.la: urcdist.lo
	$(LINK) -o $@ $< $(GRETLLIB)

pca.la: pca.lo
	$(LINK) -o $@ $< $(GTK_LIBS) $(GRETLLIB) $(LAPACK_LIBS)

tramo-x12a.la: tramo-x12a.lo tramo_options.lo
	$(LINK) -o $@ $^ $(GTK_LIBS) $(GRETLLIB)

progress_bar.la: progress_bar.lo
	$(LINK) -o $@ $< $(GTK_LIBS)

gnumeric_import.la: gnumeric_import.lo
	$(LINK) -o $@ $< $(GTK_LIBS) $(GRETLLIB) $(XML_LIBS)

excel_import.la: excel_import.lo workbook.lo ms-ole.lo
	$(LINK) -o $@ $^ $(GTK_LIBS) $(GRETLLIB)

mp_ols.la: mp_ols.lo
	$(LINK) -o $@ $< $(GRETLLIB) $(GMP_LIBS) $(MPFR_LIBS)

johansen.la: johansen.lo 
	$(LINK) -o $@ $< $(GRETLLIB) $(LAPACK_LIBS)

sysest.la: sysest.lo fiml.lo liml.lo
	$(LINK) -o $@ $^ $(GRETLLIB) $(LAPACK_LIBS)

leverage.la: leverage.lo 
	$(LINK) -o $@ $< $(GTK_LIBS) $(GRETLLIB) $(LAPACK_LIBS)

nistcheck.la: nistcheck.lo 
	$(LINK) -o $@ $< $(GRETLLIB) $(LAPACK_LIBS)

arbond.la: arbond.lo 
	$(LINK) -o $@ $< $(GRETLLIB)

arma.la: arma.lo 
	$(LINK) -o $@ $< $(GRETLLIB) $(LAPACK_LIBS)

arma_x12.la: arma_x12.lo 
	$(LINK) -o $@ $< $(GTK_LIBS) $(GRETLLIB) $(LAPACK_LIBS)

tobit.la: tobit.lo
	$(LINK) -o $@ $< $(GRETLLIB) 

oprobit.la: oprobit.lo
	$(LINK) -o $@ $< $(GRETLLIB) 

poisson.la: poisson.lo
	$(LINK) -o $@ $< $(GRETLLIB) 

garch.la: garch.lo fcp.lo mod_garch.lo
	$(LINK) -o $@ $^ $(GRETLLIB) $(LAPACK_LIBS)

gretlzip.la: gretlzip.lo $(ZIPOBJ)
	$(LINK) -o $@ $^ $(ZIP_LIBS) $(GRETLLIB)

audio.la: audio.lo midi_utils.lo
	$(LINK) -o $@ $^ $(GRETLLIB) $(AUDIO_LIBS)

mailer.la: mailer.lo codes.lo encode.lo md5c.lo
	$(LINK) -o $@ $^ $(GTK_LIBS) $(GRETLLIB) 

$(GRETLLIB):
	$(MAKE) -C ../lib

.PHONY: 

install: $(GRETLLIB) $(PLUGINS) $(URCDATA) installdirs 
	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) \
	$(PLUGINS) $(plugindir)
	$(INSTALL_DATA) $(URCDATA) $(plugindir)/data

install-strip: $(GRETLLIB) $(PLUGINS) installdirs
	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) -s \
	$(PLUGINS) $(plugindir)

installdirs:
	$(topsrc)/tools/mkinstalldirs $(plugindir)
	$(topsrc)/tools/mkinstalldirs $(plugindir)/data

clean:
	rm -f *.lo *.o *.la
	rm -rf .libs .deps

distclean: clean
	rm -f Makefile



syntax highlighted by Code2HTML, v. 0.9.1