1#
2# GNUPLOT Makefile for use on OS/2 2.x (and above)
3# using emx 0.9 (and above) and GNU make
4#
5# We note that builds using newer gcc based on kLIBC are not supported yet.
6#
7# To compile gnuplot, run the following command in directory gnuplot\src:
8#	make -f ..\config\makefile.os2
9#
10
11# The following tools and libraries are recommended/required to use this
12# makefile out of the box:
13#	- GNU make, e.g. http://hobbes.nmsu.edu/pub/os2/dev/util/make-3.81beta3-r2-bin.zip
14#	- IPFC included in the OS/2 developer kit
15#	- emtex is only required for some parts of the documentation
16#
17#	- GD library, http://hobbes.nmsu.edu/pub/os2/util/gd-2-0-33.zip
18#	- PNG library, http://hobbes.nmsu.edu/download/pub/os2/dev/mm/libpng-1.0.18.zip
19#	- ICONV library, http://hobbes.nmsu.edu/download/pub/os2/util/iconv0.2.1a.zip
20#	[ LUA library, http://hobbes.nmsu.edu/download/pub/os2/dev/lua-5.1.5-ecs.os2.zip - recompiled ]
21#	[ PDFlib Lite 6.0 or later compiled for emx (available as source from http://www.pdflib.com/ ) ]
22#	[ XFree86 libraries, ftp://ftp.netlabs.org/pub/xfree86/4.5.0 ]
23#
24#	- GBM binaries for image conversion, http://hobbes.nmsu.edu/download/pub/os2/apps/graphics/gbmos2_176_bin.zip
25#
26
27# We depend on using cmd.exe (or a compatible one) and the
28# standard OS/2 tool set. (additionally we use 'cat')
29SHELL=cmd.exe
30
31#
32# ***************** Begin of Configuration section ***************************
33#
34
35#
36# Comment out the definition lines to disable the according features:
37#
38
39# X11 driver
40# requires installed XFree86 libraries and headers
41X11=1
42
43# GIF, PNG, JPEG device drivers
44# Requires gd library (not part of gnuplot)
45#
46# You can use the following set of options for GD library v2.0 something
47# or newer. This library writes PNG, JPEG and GIF images.
48# If libgd has been compiled with TrueType font support, then you can use
49# scaled TrueType fonts in PNG images. If not, then uncomment FREETYPE.
50# The pre-compiled GD library by Ilya Zakharevich available at
51# http://hobbes.nmsu.edu/pub/os2/util/gd-2-0-33.zip
52# is strongly recommended. This packages already includes the required
53# GD, JPEG and Z and freetype libraries.
54GD=1
55PNG=1
56GIF=1
57JPEG=1
58FREETYPE=1
59
60# ICONV library
61ICONV=1
62
63# cairo/pango terminals:  pdfcairo, pngcairo, cairolatex
64# requires pango / cairo
65# Note that cairo/pango are only available for newer gcc/kLIBC, not EMX.
66#CAIRO=1
67
68# PDF device driver
69# requires PDFlib (not part of gnuplot)
70#PDF=1
71
72# VESAkit support
73# requires SVGA- and VESA Kit (not part of gnuplot)
74# VESA=1
75
76# LUA support - lua/tikz terminal
77LUA=1
78
79# GNU_ReadLine support
80# requires GNU readline library (static or DLL; not part of gnuplot)
81# GNU_RL=1
82
83# DEBUGging support
84# creates binaries suitable for debugging. Some bugs may come and go
85# as opposed to a production build since we lower the optimization level
86# DEBUG=1
87
88# MOUSE support for PM and X11 terminals
89# NOTE: This cannot be disabled
90MOUSE=1
91
92# Include image in gnuplot.inf
93IMAGEHELP=1
94
95#
96# ****************** End of Configuration section ****************************
97#
98
99#
100# Miscellaneous setup
101#
102
103.PHONY: all runtime alldocs demo binaries infomin clean veryclean
104.SUFFIXES: .c .trm .o .obj .exe .rc .res .dll
105
106# A reasonable default
107default: runtime
108
109# A basic help screen
110help:
111	   @echo " Usage: $(MAKE) -f makefile.os2 target"
112	   @echo "   where target is one of:"
113	   @echo "   all runtime alldocs demo binaries infomin help clean veryclean"
114
115#
116# Definitions of flags and symbols used by makefile.all and makefile.os2
117#
118
119# these definitions are used by makefile.all
120T=../term/
121D=../docs/
122L=$(D)latextut/
123M=../demo/
124
125#
126# Definitions valid for all targets on OS/2
127#
128
129OS2DIR  = os2
130DOCDIR  = ..\docs
131DEMODIR = ..\demo
132TERMDIR = ..\term
133
134
135# where to place gnuplot.gih helpfile
136HELPFILE = $(DOCDIR)\gnuplot.gih
137
138# Where to install the PostScript prologue files, relatively to the executable
139# gnuplot.exe
140GNUPLOT_PS_DIR = share/PostScript
141
142# Similarly for javascript files for the canvas terminal:
143GNUPLOT_JS_DIR = share/js
144
145# Similarly for scripts used by the lua terminal
146GNUPLOT_LUA_DIR = share/lua
147
148#
149# Two sets of variables are defined and used to create
150#   1: gnuplot.exe, and utilities
151#   2: gnupmdrv.exe (the PM-driver executable)
152#
153CC  = gcc
154CC2 = gcc
155O  = o
156O2 = obj
157
158# Flags for compiler and linker under OS/2
159OS2FLAGS = -DOS2
160TERMFLAGS = -DOS2
161
162# Flags for compiling with EMX/GCC
163# Special note: -ffloat-store is necessary to avoid some strange behaviour
164# of this code:
165#   reset; set key; set xlabel "Year"; set xdata time; set timefmt "%y%m%d"
166#   set format x "%y"; set xrange ["900621" : "950126"];
167#   plot '-' using 1:2 title 'Fitted IO' with lines 1
168#   900621 20
169#   950126 55
170#   e
171# Confirmed for gcc 2.7.x/2.8.x; graphics.c used to be the culprit, but as
172# of today (20010918) it isn't any more ...
173#
174EMXSPECIFIC = -DHAVE_CONFIG_H -ffloat-store
175LIBS =
176
177#
178# Choose flags suitable for a debugging or for a production build
179#
180WARNFLAGS = -Wall -Wno-comment
181ifdef DEBUG
182CFLAGS  = -g $(OS2FLAGS) $(EMXSPECIFIC) $(WARNFLAGS) -O0 -Zmt
183LDFLAGS  = -g -Zmt -Zcrtdll -Zbsd-signals
184CFLAGS2 = -g $(OS2FLAGS) $(EMXSPECIFIC) $(WARNFLAGS) -O0 -Zmt -Zomf
185LDFLAGS2 = -g -Zmt -Zcrtdll -Zomf -Zbsd-signals
186else
187CFLAGS  = $(OS2FLAGS) $(EMXSPECIFIC) -O4 $(WARNFLAGS) -Zmt
188LDFLAGS  = -s -Zmt -Zcrtdll -Zbsd-signals
189CFLAGS2 = $(OS2FLAGS) $(EMXSPECIFIC) -O4 $(WARNFLAGS) -Zmt -Zomf
190LDFLAGS2 = -s -Zmt -Zcrtdll -Zomf -Zbsd-signals
191endif
192
193#
194# Settings for the terminals to be included
195#
196TERMFLAGS = -DGNUPLOT_PS_DIR=\"$(GNUPLOT_PS_DIR)\" -DGNUPLOT_JS_DIR=\"$(GNUPLOT_JS_DIR)\"
197TERMFLAGS += -DGNUPLOT_LUA_DIR=\"$(GNUPLOT_LUA_DIR)\" -I. -I.. -I$(T)
198
199ifdef GD
200  CFLAGS += -DHAVE_LIBGD -DHAVE_GD_H
201  TERMLIBS += -lgd
202ifdef FREETYPE
203  CFLAGS += -DHAVE_GD_TTF
204endif
205ifdef PNG
206  CFLAGS += -DHAVE_GD_PNG
207endif
208ifdef GIF
209  CFLAGS += -DHAVE_GD_GIF -DGIF_ANIMATION
210endif
211ifdef JPEG
212  CFLAGS += -DHAVE_GD_JPEG
213endif
214endif
215
216ifdef CAIRO
217  CFLAGS += -DHAVE_CAIROPDF -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0
218  TERMFLAGS += -DHAVE_CAIROEPS
219  TERMLIBS  += -lcairo -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lfreetype -lglib-2.0 -lintl -lpthread
220  CAIROOBJS = gp_cairo.$(O) gp_cairo_helpers.$(O)
221endif
222
223ifdef PDF
224  TERMFLAGS += -DHAVE_LIBPDF -DHAVE_PDFLIB_H
225  TERMLIBS  += -lpdflib
226endif
227
228# SVGA-/VESAkit support
229ifdef VESA
230  TERMFLAGS += -DEMXVESA
231  TERMLIBS  += -ljmgraph -lvesa
232endif
233
234# LUA support
235ifdef LUA
236  TERMFLAGS += -DHAVE_LUA
237  TERMLIBS  += -lliblua
238  LUA_HELP  =  $(D)\gnuplot-tikz.help
239endif
240
241# X11 support
242ifdef X11
243  TERMFLAGS += -DX11 -DX11_DRIVER_DIR=\".\"
244endif
245
246# MOUSE support
247ifdef MOUSE
248  TERMFLAGS += -DUSE_MOUSE
249  # the interprocess communication flag OS2_IPC is #defined in config.(os2,h)
250endif
251
252# GNU readline support
253ifdef GNU_RL
254  CFLAGS  += -DHAVE_LIBREADLINE -D HAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_READLINE_RESET
255  LIBS    += -lreadline -lncurses
256else
257  CFLAGS  += -DREADLINE
258endif
259
260# iconv support
261ifdef ICONV
262  CFLAGS  += -DHAVE_ICONV
263  LIBS    += -liconv
264endif
265
266
267# TOOLS
268CPP = cpp
269# Do not name this variable "IPFC"!! This won't work out...
270IPF_C = ipfc.exe
271
272# Tools for buildings the docs
273DVIPS    = dvips
274LATEX    = latex
275PDFLATEX = vlatex
276PLAINTEX = tex
277
278#
279# Default Rules
280#
281.c.$(O):
282	$(CC)  $(CFLAGS) $(TERMFLAGS) -o $*.$(O) -c $*.c
283.c.obj:
284	$(CC2) $(CFLAGS2) $(TERMFLAGS) -o $*.obj -c $*.c
285
286#
287# Include dependencies valid for all platforms from makefile.all
288#
289include makefile.all
290
291
292#
293# Pre-defined sets of targets:
294#
295all:         runtime demo
296alldocs:     $(DOCDIR)\gnuplot.gih $(DOCDIR)\gnuplot.inf $(DOCDIR)\gnuplot.html \
297             $(DOCDIR)\gnuplot.info $(DOCDIR)\gnuplot.ps \
298             $(DOCDIR)\gnuplot.pdf
299runtime:     config.h binaries infomin $(DOCDIR)\gnuplot.inf
300infomin:     gnupmdrv.hlp $(DOCDIR)\gnuplot.gih
301demo:        $(M)binary1 $(M)binary2 $(M)binary3
302ifdef X11
303binaries: gnuplot.exe gnupmdrv.exe gnuplot_x11.exe
304else
305binaries: gnuplot.exe gnupmdrv.exe
306endif
307
308OBJS = $(COREOBJS) $(CAIROOBJS) version.$(O)
309
310
311term.$(O): $(CORETERM) term.h config.h $(OS2DIR)\pm_msgs.h
312
313gp_cairo.$(O): wxterminal/gp_cairo.c
314	$(CC)  $(CFLAGS) $(TERMFLAGS) -o $*.$(O) -c $<
315
316gp_cairo_helpers.$(O): wxterminal/gp_cairo_helpers.c
317	$(CC)  $(CFLAGS) $(TERMFLAGS) -o $*.$(O) -c $<
318
319$(OBJS): config.h
320
321gnuplot.exe: $(OBJS)
322	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(TERMLIBS) $(LIBS)
323
324#
325# Build the PM outboard driver
326#
327$(OS2DIR)\gnupmdrv.$(O2):  $(OS2DIR)\gnupmdrv.c   $(OS2DIR)\gnupmdrv.h	config.h
328$(OS2DIR)\gclient.$(O2):   $(OS2DIR)\gclient.c    $(OS2DIR)\gnupmdrv.h	config.h  $(OS2DIR)\pm_msgs.h	mouse.h
329$(OS2DIR)\dialogs.$(O2):   $(OS2DIR)\dialogs.c    $(OS2DIR)\gnupmdrv.h	config.h  $(OS2DIR)\dialogs.h
330$(OS2DIR)\print.$(O2):     $(OS2DIR)\print.c      $(OS2DIR)\gnupmdrv.h	config.h
331$(OS2DIR)\gpexecute.$(O2): gpexecute.c            gpexecute.h
332
333$(OS2DIR)\gnupmdrv.res :   $(OS2DIR)\gnupmdrv.rc  $(OS2DIR)\gnuplot.ico $(OS2DIR)\dialogs.h
334	cd $(OS2DIR) && rc -i \usr\include\os2tk45 -r gnupmdrv.rc & cd ..
335
336OS2OBJ = $(OS2DIR)\gnupmdrv.$(O2) $(OS2DIR)\gclient.$(O2) $(OS2DIR)\print.$(O2) \
337         $(OS2DIR)\dialogs.$(O2) gpexecute.$(O2)
338
339gnupmdrv.exe: $(OS2OBJ) $(OS2DIR)\gnupmdrv.res $(OS2DIR)\gnupmdrv.def
340	$(CC2) $(LDFLAGS2) -o $@ $(OS2DIR)\gnupmdrv.res $(OS2OBJ) $(OS2DIR)\gnupmdrv.def
341
342gnupmdrv.hlp: $(OS2DIR)\gnupmdrv.ipf
343#	Cannot use the command
344#	$(IPF_C) $< $@
345#	because IPFC 2.1 does not support this syntax. Use instead:
346	copy $< . && $(IPF_C) gnupmdrv.ipf && del gnupmdrv.ipf
347
348#
349# Build the X11 outboard driver
350#
351
352# X11 libraries
353X11LIBS = -L$(X11ROOT)/XFree86/lib -lX11 -lsocket -Zbsd-signals -Zcrtdll
354# X11 includes
355X11INCLUDES = -I$(X11ROOT)/XFree86/include
356X11FLAGS= -Zmt -D__UNIXOS2__ -DI_NEED_OS2_H
357ifdef MOUSE
358X11FLAGS += -DUSE_MOUSE
359endif
360
361gnuplot_x11.exe: gplt_x11.o gpexecute.o getcolor_x11.o version.o
362	$(CC) $(LDFLAGS) $(X11FLAGS) $(EMXSPECIFIC) -o $@ -DGPLT_X11_MODE $^ $(X11LIBS)
363
364gplt_x11.o: gplt_x11.c mouse.h gpexecute.h config.h
365	$(CC) $(CFLAGS) $(X11FLAGS) $(EMXSPECIFIC) $(X11INCLUDES) -c -o $@ $<
366
367getcolor_x11.o: getcolor.c
368	$(CC) $(CFLAGS) $(X11FLAGS) $(EMXSPECIFIC) -DGPLT_X11_MODE -c -o $@ $<
369
370#
371# Create config.h
372# This file is preferable over having explicit gcc command longer than 10 lines:
373# gcc ... -DHAVE_ -DHAVE_ ... -DHAVE_ -DHAVE_ ... myfile.c
374#
375config.h: ..\config\config.os2
376	if exist $@ del $@
377	copy $< $@
378
379ifdef LUA
380$(LUA_HELP): $(T)/lua/gnuplot-tikz.lua
381	lua $< termhelp > $@
382endif
383
384#
385# Create documentation in various formats
386#
387# The idea behind the renaming business is that we may want to
388# use various LaTeX systems which may choke if they find existing
389# intermediate files from other systems.
390# Call LaTeX three times to get the toc right.
391$(DOCDIR)\gnuplot.dvi: $(DOCDIR)\gnuplot.tex
392	copy $(DOCDIR)\gnuplot.tex $(DOCDIR)\gnuplot_2.tex
393	cd $(DOCDIR) && $(LATEX) gnuplot_2.tex && $(LATEX) gnuplot_2.tex && $(LATEX) gnuplot_2.tex
394	if exist $(DOCDIR)\gnuplot.dvi del $(DOCDIR)\gnuplot.dvi
395	move $(DOCDIR)\gnuplot_2.dvi $(DOCDIR)\gnuplot.dvi
396	del $(DOCDIR)\gnuplot_2.*
397$(DOCDIR)\gnuplot.ps: $(DOCDIR)\gnuplot.dvi
398	$(DVIPS) -o $@ $(DOCDIR)\gnuplot.dvi
399$(DOCDIR)\gnuplot.pdf: $(DOCDIR)\gnuplot.tex
400	copy $(DOCDIR)\gnuplot.tex $(DOCDIR)\gnuplot_3.tex
401	cd $(DOCDIR) && $(PDFLATEX) gnuplot_3.tex && $(PDFLATEX) gnuplot_3.tex && $(PDFLATEX) gnuplot_3.tex
402	if exist $(DOCDIR)\gnuplot.pdf del $(DOCDIR)\gnuplot.pdf
403	move $(DOCDIR)\gnuplot_3.pdf $(DOCDIR)\gnuplot.pdf
404	del $(DOCDIR)\gnuplot_3.*
405$(DOCDIR)\gnuplot.tex:  $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2tex.exe
406	$(DOCDIR)\doc2tex.exe $(DOCDIR)\gnuplot.doc $@
407$(DOCDIR)\gnuplot.inf:  $(DOCDIR)\gnuplot.ipf $(DOCDIR)\plotstyles.gnu
408	gnuplot -d -e "set loadpath '../demo'; winhelp=1; cd '$(D)'" plotstyles.gnu
409	cd $(DOCDIR) && plotstyles_cvt.cmd
410#	Cannot use the command
411#	$(IPF_C) /INF $< $@
412#	because IPFC 2.1 does not support this syntax. Use instead:
413	cd $(DOCDIR) && $(IPF_C) /INF gnuplot.ipf
414$(DOCDIR)\gnuplot.gih:  $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2gih.exe
415	$(DOCDIR)\doc2gih.exe $(DOCDIR)\gnuplot.doc $@
416$(DOCDIR)\gnuplot.html: $(DOCDIR)\gnuplot.texi $(DOCDIR)\gnuplot.doc
417	$(MAKEINFO) --html -I$(DOCDIR) $(DOCDIR)\gnuplot.texi --no-split --output=$@
418$(DOCDIR)\gnuplot.info: $(DOCDIR)\gnuplot.texi $@
419	$(MAKEINFO) -I$(DOCDIR) $(DOCDIR)\gnuplot.texi --no-split --output=$@
420# $(DOCDIR)\gnuplot.texi: $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2texi.pl
421#	perl $(DOCDIR)\doc2texi.pl $(DOCDIR)\gnuplot.doc >$@
422$(DOCDIR)\gnuplot.rtf:  $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2rtf.exe
423	$(DOCDIR)\doc2rtf.exe $(DOCDIR)\gnuplot.doc $@
424$(DOCDIR)\gnuplot.ms:   $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2ms.exe
425	$(DOCDIR)\doc2ms.exe $(DOCDIR)\gnuplot.doc $@
426$(DOCDIR)\gnuplot.ipf:  $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2ipf.exe
427	$(DOCDIR)\doc2ipf.exe $(DOCDIR)\gnuplot.doc $@
428# Assume we need A4 format
429
430#
431# Tools for converting the documentation from docs\gnuplot.doc
432# in various formats
433#
434
435# Some dependencies - no rule!
436$(DOCDIR)\doc2gih.exe $(DOCDIR)\doc2ipf.exe $(DOCDIR)\doc2info.exe \
437$(DOCDIR)\doc2tex.exe $(DOCDIR)\doc2rtf.exe: \
438      $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(DOCDIR)\allterm.h ..\src\config.h $(LUA_HELP)
439
440
441SORT_TERMINALS=1
442ifdef SORT_TERMINALS
443# sort alphabetically all terminals
444$(DOCDIR)\allterm.h: $(CORETERM)
445	@echo "Building allterm.h"
446	@..\src\os2\4allterm.cmd sort
447else
448# SORT_TERMINALS==0, then sequence of terminals according to "ls term/*.trm":
449$(DOCDIR)\allterm.h: $(CORETERM)
450	@echo "Building allterm.h"
451	@..\src\os2\4allterm.cmd nosort
452endif
453
454$(DOCDIR)\doc2gih.exe:  $(DOCDIR)\doc2gih.c $(DOCDIR)\termdoc.c $(OS2TERM)
455	$(CC) $(CFLAGS) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2gih.c $(DOCDIR)\termdoc.c
456$(DOCDIR)\doc2ipf.exe:  $(DOCDIR)\doc2ipf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERM)
457	$(CC) $(CFLAGS) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2ipf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
458$(DOCDIR)\doc2tex.exe:  $(DOCDIR)\doc2tex.c $(DOCDIR)\termdoc.c $(OS2TERM) $(DOCDIR)\allterm.h
459	$(CC) $(CFLAGS) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2tex.c $(DOCDIR)\termdoc.c
460$(DOCDIR)\doc2rtf.exe:  $(DOCDIR)\doc2rtf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERM)
461	$(CC) $(CFLAGS) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2rtf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
462$(DOCDIR)\doc2ms.exe:   $(DOCDIR)\doc2ms.c $(DOCDIR)\termdoc.c $(OS2TERM)
463	$(CC) $(CFLAGS) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2ms.c $(DOCDIR)\termdoc.c
464#
465# Create binary demo files
466#
467$(M)binary1 $(M)binary2 $(M)binary3: $(M)bf_test.exe
468	cd $(DEMODIR) && bf_test.exe
469
470$(M)bf_test.exe : bf_test.c
471	$(CC) $(CFLAGS) -o $@ bf_test.c
472
473#
474# Clean up
475#
476
477# Clean up all files temporary used
478clean:
479	if exist config.h                  del config.h
480	if exist *.$(O)                    del *.$(O)
481	if exist *.$(O2)                   del *.$(O2)
482	cd $(OS2DIR) && if exist *.$(O2)   del *.$(O2)
483	if exist $(OS2DIR)\gnupmdrv.res    del $(OS2DIR)\gnupmdrv.res
484	if exist $(DEMODIR)\bf_test.exe    del $(DEMODIR)\bf_test.exe
485	if exist $(DOCDIR)\doc2*.exe       del $(DOCDIR)\doc2*.exe
486	if exist $(DOCDIR)\gnuplot.ipf     del $(DOCDIR)\gnuplot.ipf
487	if exist $(DOCDIR)\figure_*.bmp    del $(DOCDIR)\figure_*.bmp
488	if exist $(DOCDIR)\windows\figure_*.png  del $(DOCDIR)\windows\figure_*.png
489	if exist $(DOCDIR)\gnuplot_2*      del $(DOCDIR)\gnuplot_2*
490	if exist $(DOCDIR)\gnuplot_3*      del $(DOCDIR)\gnuplot_3*
491	if exist core                      del core
492	if exist $(DOCDIR)\allterm.?       del $(DOCDIR)\allterm.?
493
494# Clean up ALL files that were not part of the source distribution
495veryclean: clean
496	if exist *.exe                     del *.exe
497	if exist gnupmdrv.hlp              del gnupmdrv.hlp
498	if exist $(DOCDIR)\gnuplot.dvi     del $(DOCDIR)\gnuplot.dvi
499	if exist $(DOCDIR)\gnuplot.gih     del $(DOCDIR)\gnuplot.gih
500	if exist $(DOCDIR)\gnuplot.html    del $(DOCDIR)\gnuplot.html
501	if exist $(DOCDIR)\gnuplot.inf     del $(DOCDIR)\gnuplot.inf
502	if exist $(DOCDIR)\gnuplot.info    del $(DOCDIR)\gnuplot.info
503	if exist $(DOCDIR)\gnuplot.ms      del $(DOCDIR)\gnuplot.ms
504	if exist $(DOCDIR)\gnuplot.ps      del $(DOCDIR)\gnuplot.ps
505	if exist $(DOCDIR)\gnuplot.pdf     del $(DOCDIR)\gnuplot.pdf
506	if exist $(DOCDIR)\gnuplot.rtf     del $(DOCDIR)\gnuplot.rtf
507	if exist $(DOCDIR)\gnuplot.tex     del $(DOCDIR)\gnuplot.tex
508	if exist $(DOCDIR)\gnuplot_tikz.help  del $(DOCDIR)\gnuplot_tikz.help
509	if exist $(DOCDIR)\*.dvi           del $(DOCDIR)\*.dvi
510	if exist $(DOCDIR)\*.log           del $(DOCDIR)\*.log
511	if exist $(DOCDIR)\*.aux           del $(DOCDIR)\*.aux
512	if exist $(DOCDIR)\*.toc           del $(DOCDIR)\*.toc
513	if exist $(DEMODIR)\binary?        del $(DEMODIR)\binary?
514