#CC = insure EXTRAS = -Wpointer-arith -Wcast-qual -Wcast-align include local.config CC=/gcc-2.95.2/bin/gcc # if building from the CVS repository # change this to . LOCAL_INCLUDES=../include CFLAGS= -g -ggdb -O -ansi -Wall -mno-cygwin -mpentium \ -fnative-struct -mwindows $(INCLUDES:%=-I%) AR=ar rc DLLTOOL=dlltool DLLWRAP=dllwrap SRC= ggobi.c make_ggobi.c color.c main_ui.c cpanel.c utils.c array.c vector.c \ read_array.c read_data.c io.c writedata_ui.c writedata.c \ pipeline.c missing.c \ scatterplot.c scatterplot_ui.c \ splot.c sp_plot.c win32_draw.c \ display.c \ p1d_ui.c p1d.c ash1d.c texture.c \ xyplot_ui.c xyplot.c \ rotate_ui.c \ tour2d_ui.c tour.c pp_ui.c \ ctour_ui.c cpp_ui.c \ brush_ui.c brush.c brush_init.c brush_bins.c brush_api.c color_ui.c xlines.c \ exclusion_ui.c exclusion.c \ scale_ui.c scale_drag.c scale_click.c scale_api.c \ identify_ui.c identify.c \ lineedit_ui.c lineedit.c \ movepts_ui.c \ parcoords_ui.c parcoords.c \ scatmat_ui.c scatmat.c \ varpanel_ui.c vartable_ui.c vardata.c vdialog_ui.c \ transform_ui.c transform.c sphere_ui.c sphere.c svd.c \ subset_ui.c subset.c jitter_ui.c jitter.c smooth_ui.c \ gtkextruler.c gtkexthruler.c gtkextvruler.c \ display_tree.c \ noop-checkbutton.c \ ggobi-API.c s_erf.c OB=ggobi.o make_ggobi.o color.o main_ui.o cpanel.o array.o vector.o \ utils_ui.o utils.o utils_gdk.o \ read_array.o read_data.o io.o writedata_ui.o writedata.o \ pipeline.o missing.o \ scatterplot.o scatterplot_ui.o \ splot.o sp_plot.o win32_draw.o \ display.o display_ui.o \ p1d_ui.o p1d.o ash1d.o texture.o \ xyplot_ui.o xyplot.o \ rotate_ui.o \ tour2d_ui.o tour.o pp_ui.o \ ctour_ui.o cpp_ui.o \ brush_ui.o brush.o brush_init.o brush_bins.o brush_api.o color_ui.o xlines.o \ exclusion_ui.o exclusion.o \ scale_ui.o scale_drag.o scale_click.o scale_api.o \ identify_ui.o identify.o \ lineedit_ui.o lineedit.o \ movepts.o movepts_ui.o \ parcoords_ui.o parcoords.o \ scatmat_ui.o scatmat.o \ varpanel_ui.o vartable_ui.o vartable.o \ transform_ui.o transform.o sphere_ui.o sphere.o svd.o \ subset_ui.o subset.o jitter_ui.o jitter.o smooth_ui.o \ gtkextruler.o gtkexthruler.o gtkextvruler.o \ display_tree.o \ datad.o \ mt19937-1.o \ write_svg.o \ impute.o impute_ui.o \ tour2d.o \ noop-checkbutton.o \ ggobi-API.o s_erf.o # vdialog_ui.o \ # Needs to be \ for windows # Does glib/gtk have something for this ifdef USE_XML CFLAGS+= -DDIR_SEPARATOR="'/'" XML_SRC= read_xml.c write_xml.c XML_OB= read_xml.o write_xml.o XML_INC_DIRS= -I d:/Nicholas/src/libxml2\ -I d:/Nicholas/src/zlib CFLAGS+= -DUSE_XML=1 $(XML_INC_DIRS) OB+= $(XML_OB) XML_LIB_DIRS = -L d:/Nicholas/src/libxml2 \ -L d:/Nicholas/src/zlib XML_LIBS= -lxml -lzlib -lwsock32 endif LIBBASE=ggobi LIB=lib$(LIBBASE).a DLL=$(LIB:.a=.dll) IMPBASE=$(LIBBASE)_dll IMP=lib$(IMPBASE).a EXP=lib$(IMPBASE).exp DEF=$(DLL:.dll=.def) LLIBS=-lgdk-1.3 -lgtk-1.3 -lglib-1.3 ggobi: $(OB) $(CC) $(LIBS) $(OB) -o ggobi $(XML_LIB_DIRS) $(XML_LIBS) -lm \ -lgdk-1.3 -lgtk-1.3 \ -lglib-1.3 pure: ggobi.o $(OB) purify -cache-dir=/tmp -always-use-cache-dir=yes \ ${CC} -o ggobi $(OB) dll: $(DLL) lib: $(LIB) $(DLL): $(LIB) $(DEF) $(IMP) $(DLLWRAP) -DBUILDING_DLL=1 --output-def $(DEF) --driver-name $(CC)\ --dllname $@\ --output-lib $@ $(LIB) $(LIBS) $(LLIBS) $(XML_LIB_DIRS)\ $(XML_LIBS) $(LDFLAGS) -mwindows -mno-cygwin #$(DLL): $(LIB) $(DEF) # gcc -shared -Wl -implib libGgobi.a -o Ggobi.dll $(OB) main_ui.lo: main_ui.c $(CC) -DAS_GGOBI_LIBRARY $(CFLAGS) $(INC) -o $@ -c $< $(LIB): main_ui.lo $(OB) $(AR) $@ $^ $(DEF): $(OB) $(DLLTOOL) --kill-at --export-all -D $(DLL) --output-def $@ $^ $(IMP): $(DEF) $(DLLTOOL) -d $< -l $@ -D $(DLL) clean: rm -f *.o ggobi *.a *.dll *.def INC= -I. -I/gtk/src/gtk+ -I/gtk/src/gtk+/gdk -I/gtk/src/glib #-I/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/include #INC=-I . -I ../gtk-win/glib\ # -I ../gtk-win/glib/gmodule \ # -I ../gtk-win/gtk+/gdk/win32 \ # -I ../gtk-win/gtk+/gdk \ # -I ../gtk-win/gtk+ -I ../gtk-win/pthreads LIBS= -L/gtk/src/gtk+/gtk -L/gtk/src/gtk+/gdk -L/gtk/src/glib # -L ../gtk-win/gtk+/gtk \ # -L ../gtk-win/glib \ # -L ../gtk-win/pthreads .c.o: $(CC) -c $(CFLAGS) $(INC) $*.c # Emacs's tags for navigating through the source. etags: etags $(SRC) # The version for vi tags: tags $(SRC) # If USE_XML, may need to add XML_LIB_DIRS and XML_INC_DIRS local.config: @echo "# Whether to enable support for reading XML data" > $@ @echo "# USE_XML=1" >> $@ @echo "# XML_INC_DIRS=" >> $@ @echo "# XML_LIB_DIRS=" >> $@ @echo "# Location of dmalloc" >> $@ @echo "# DM=1" >> $@ #ifdef USE_XML #xmlConvert: xmlConvert.o libggobi.so # $(CC) -o $@ xmlConvert.o $(XML_LIBS) $(XML_LIB_DIRS) -L. -lggobi #endif # include .depends # DO NOT DELETE