[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/gnuplot/gnuplot-old/gnuplot-4-4-alpha/config/makefile.win [Back]  [Original]

#
# $Id: makefile.win,v 1.16 2007/11/19 21:17:13 sfeam Exp $
#
# GNUPLOT Makefile for Borland C++ 3.1 Windows version
# and Win32 using Borland C++ 4 (or 5? --- 4.52 is known to work)
# or Borland C++ Builder 1 (newer versions may work as well)
#
# Cd to the 'src' directory, and 'make -f ../config/makefile.win'
# To compile for win32, pass option '-DWIN32=1' to 'make'.
#
# This makefile may need some editing before it can be used. Check
# BCC installation path, the WIN32 and RUNTIME_LIB flags, in particular.
#
# The compile and link includes debug flags.  Take them out if you
# do not want them included  (-y -v -M, /m /s /v /l)
#
# New 991003: WIN32=1 build makes the helpers (doc2rtf, bf_test) as Win32
#             console applications, instead of plain DOS programs. This
#             way, it also works with those compilers missing a DOS option.
#
# CAVEAT for the 16bit Windows (BC 3.1) version:
# You will also need to edit term.h to not include some of the
# terminal types which you are not going to use, otherwise you will get a
# message about too much global data defined in term.c. A working example
# is 'config/term_pc.h'.

# directory names, like for use with makefile.all:
T=..\\term\\
D=..\\docs\\
M=..\\demo\\


# where to place wgnuplot.hlp helpfile
HELPFILE = wgnuplot.hlp

# location of Borland C compiler
TC = e:\borl\cbuilder

# location of TLINK.EXE and BCC.EXE
BIN = $(TC)\bin\\

#The full path name of the help compiler. For BC++:
#HC = $(BIN)\hc
# this comes with C++ Builder 1.0 (but doesn't seem to work):
#HC = $(TC)\help\tools\hcw /c /e
# or you can use the 'help workshop' available directly from MS:
HC = h:\mssdk\bin\hcw /c/e

# WIN32=1 for Win32s or Win32 (--> '95 or NT)
# new: allow '-DWIN32=1' on make command line to take effect:
!if "$(WIN32)"==""
WIN32=0
!endif

# Uncomment _this_ for BC++ 4.52 (or others that give linker errors for
# the 'errno' variable)... :
#RUNTIME_LIBRARY=cw32.lib

# ... or this for more modern ones (like C++Builder 1.0) -- it's the
# properly multithreading one:
RUNTIME_LIBRARY=cw32mt.lib

!if $(WIN32)

# 32bit Windows compilation.
CC = bcc32
PROCESSOR_OPT =
DEFINE_HELPFILE = -DHELPFILE=\"$(HELPFILE)\"

# For BC++ 4.52, you may try this version with Pentium scheduling
# optimization. NB: bcc32a in 4.52 increased in bugginess quite
# a bit more than in program speed :-(
#CC = bcc32a
#PROCESSOR_OPT = -5

!else

# 16bit Windows compiler
CC = bcc
DEFINE_HELPFILE = -DHELPFILE="$(HELPFILE)"

!endif

# -c means don't link
# -ml means use large model (large code, large data)
# -M means produce link map
# -y means include line numbers for debugger
# -v means include debug info
# -w- means ignore warnings and do not report them
# -w-rvl ignore function must return a value error
# -Ff=128 means make data object > 128 FAR
# -W means window application
# -DREADLINE to use the history/line editing capability. If you want this 
#    capability add -DREADLINE to CFLAGS then add 'readline' to the /o
#    section of the linker call.
!if $(WIN32)
CFLAGS = -c -W -M -G -y -v -w-rvl -w-use -w-par -w-aus -w-pro $(PROCESSOR_OPT) -I$(TC)\include -Iwin -DREADLINE=1 -DHAVE_STRNICMP -DWIN32 -DHAVE_STRERROR -DNO_GIH -DWIN32_LEAN_AND_MEAN -DPROTOTYPES -DHAVE_VFPRINTF -DHAVE_GETCWD -DHAVE_STPCPY -DUSE_MOUSE=1 -DWIN_IPC -DHAVE_STRINGIZE -DGP_MATHERR=_matherr -DGP_EXCEPTION=_exception -DHAVE_STRUCT_EXCEPTION_IN_MATH_H=1
CAUXFLAGS = -tWC -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DWIN32 -DWINDOWS_NO_GUI -DHAVE_STRNICMP -DPROTOTYPES -DHAVE_STRINGIZE
!else
CFLAGS = -c -W -ml -w-par -w-use -w-aus -f -h -N -M -y -v -d -Ff=32 -I$(TC)\include -Iwin -DREADLINE=1 -zEGPFAR_DATA -DHAVE_STRNICMP -DMSDOS=1 -DNO_GIH -DPROTOTYPES -DHAVE_GETCWD -DHAVE_VFPRINTF -DNDEBUG -DHAVE_STRINGIZE
CAUXFLAGS = -ml -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DMSDOS=1 -DHAVE_STRNICMP -DPROTOTYPES -DHAVE_VFPRINTF -DHAVE_STRINGIZE
!endif

OBJS =  alloc.obj axis.obj binary.obj bitmap.obj color.obj command.obj contour.obj datafile.obj \
	dynarray.obj eval.obj fit.obj gadgets.obj getcolor.obj graphics.obj graph3d.obj help.obj \
	hidden3d.obj history.obj internal.obj interpol.obj matrix.obj misc.obj mouse.obj parse.obj \
	plot.obj plot2d.obj plot3d.obj pm3d.obj readline.obj save.obj scanner.obj \
	set.obj show.obj specfun.obj standard.obj stdfn.obj tables.obj tabulate.obj \
	term.obj time.obj unset.obj util.obj util3d.obj variable.obj \
	history.obj version.obj winmain.obj

DLLOBJS = gpexecute.obj wgnuplib.obj wtext.obj wmenu.obj wpause.obj wgraph.obj wprinter.obj

CSOURCE5 = $(T)aed.trm $(T)cgi.trm $(T)cgm.trm $(T)debug.trm \
	$(T)dumb.trm $(T)dxy.trm \
	$(T)eepic.trm $(T)epson.trm $(T)fig.trm $(T)hp26.trm \
	$(T)hp2648.trm $(T)hpgl.trm $(T)hpljii.trm
CSOURCE6 = $(T)impcodes.h $(T)imagen.trm $(T)object.h \
	$(T)kyo.trm $(T)latex.trm $(T)pbm.trm $(T)win.trm
CSOURCE7 = $(T)post.trm $(T)qms.trm $(T)regis.trm $(T)sun.trm \
	$(T)t410x.trm $(T)tek.trm $(T)unixpc.trm $(T)unixplot.trm \
	$(T)v384.trm $(T)x11.trm
CSOURCE8 = contour.c specfun.c binary.c interpol.obj
WINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
	win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
	win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
	win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
	win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
	win\geticon.c $(D)doc2rtf.c $(T)win.trm win\wgnupl32.def

!if $(WIN32)
all: wgnupl32.exe $(HELPFILE) wgnuplot.mnu $(M)bf_test.exe
!else
all: wgnuplot.exe wgnuplot.dll $(HELPFILE) wgnuplot.mnu $(M)bf_test.exe
!endif

wgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc winmain.obj wgnuplot.lib
#	$(BIN)tlink /Twe /c @&&!
	$(BIN)tlink /Twe /c /s /v /l @&&!
$(TC)\lib\C0Wl +
bitmap command eval graphics graph3d help internal misc parse +
plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
binary interpol variable +
axis gadgets color getcolor pm3d mouse +
winmain +
readline history +
fit matrix datafile alloc util3d hidden3d dynarray time +
,wgnuplot,wgnuplot, +
wgnuplot.lib +
$(TC)\lib\import +
$(TC)\lib\mathwl +
$(TC)\lib\cwl, +
win\wgnuplot.def
!
	$(BIN)brc -30 -k -i$(TC)\include win\wgnuplot.rc wgnuplot.exe

# gnuplot.opt contains a list of the 'core' files, in case that's of
# any use...

wgnupl32.exe: $(OBJS) $(DLLOBJS) win\wgnupl32.def wgnupl32.res winmain.obj
#	$(BIN)tlink32 /Tpe /c @&&!
	$(BIN)tlink32 /Tpe /c /m /s /v @&&!
$(TC)\lib\C0W32 +
bitmap command eval graphics graph3d help internal misc parse +
plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
wgnuplib wtext wmenu wpause wgraph wprinter gpexecute +
binary interpol +
axis gadgets color getcolor pm3d mouse +
winmain +
readline history +
fit matrix datafile alloc util3d hidden3d dynarray time +
save unset variable tables +
,wgnupl32,wgnupl32, +
$(TC)\lib\import32 +
$(TC)\lib\$(RUNTIME_LIBRARY), +
win\wgnupl32.def, wgnupl32.res
!

wgnupl32.res: win\wgnuplot.rc win\wgnuplib.rc
	$(BIN)brcc32 -DWIN32 -i$(TC)\include -r -fowgnupl32 win\wgnuplot.rc

# default rules

.c.obj:
	$(BIN)$(CC) @&&!
$(CFLAGS)
! $<

# rules

bitmap.obj: bitmap.c bitmap.h plot.h

command.obj: command.c plot.h setshow.h fit.h
	$(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! command.c

contour.obj: contour.c plot.h

eval.obj: eval.c plot.h

graphics.obj: graphics.c plot.h setshow.h

graph3d.obj: graphics.c plot.h setshow.h

fit.obj: fit.c fit.h matrix.h plot.h

matrix.obj: matrix.c matrix.h fit.h

internal.obj: internal.c plot.h

misc.obj: misc.c plot.h setshow.h 

parse.obj: parse.c plot.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! parse.c

plot.obj: plot.c plot.h setshow.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! plot.c

hidden3d.obj: hidden3d.c plot.h setshow.h

plot3d.obj: plot3d.c plot.h setshow.h

plot2d.obj: plot2d.c plot.h setshow.h

readline.obj: readline.c plot.h

scanner.obj: scanner.c plot.h

set.obj: set.c plot.h setshow.h

show.obj: show.c plot.h setshow.h
	$(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! show.c

specfun.obj: specfun.c

standard.obj: standard.c plot.h

stdfn.obj: stdfn.c stdfn.h

interpol.obj: interpol.c plot.h setshow.h

tabulate.obj: tabulate.c tabulate.h alloc.h axis.h graphics.h graph3d.h plot3d.h

term.obj: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) win\wgnuplib.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! $(TERMFLAGS) -I$(T) -I. term.c

util.obj: util.c plot.h

util3d.obj: util3d.c plot.h setshow.h

variable.obj: variable.c plot.h variable.h

version.obj: version.c

winmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
	$(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! win\winmain.c

wgnuplot.mnu: win\wgnuplot.mnu
	copy win\wgnuplot.mnu wgnuplot.mnu


# different compiler options for DLL's */
!if $(WIN32)
DLLCC = $(BIN)$(CC) -DWIN32 -c -M -y -v -WE -I$(TC)\include -Iwin -DPROTOTYPES -DUSE_MOUSE=1 -DWIN_IPC -DHAVE_STRINGIZE
!else
DLLCC = $(BIN)$(CC) -c -WD -ms! -w-par -f -M -y -v -w -N -I$(TC)\include -Iwin
!endif

wgnuplot.lib: wgnuplot.dll
	$(BIN)implib wgnuplot.lib wgnuplot.dll

wgnuplot.dll: $(DLLOBJS) win/wgnuplib.def win/wgnuplib.rc
	$(BIN)tlink /c /n /Twd /L$(TC)\lib /m /s /v /l @&&!
c0ds +
wgnuplib wtext wmenu wpause wgraph wprinter, +
wgnuplot.dll, +
wgnuplib.map, +
import mathws cws, +
win\wgnuplib.def
!
	$(BIN)brc -30 -i$(TC)\include -t win\wgnuplib.rc wgnuplot.dll

wgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wgnuplib.c

wmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wmenu.c

wtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wtext.c

wpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wpause.c

wprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wprinter.c

wgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wgraph.c

# convert gnuplot.doc to gnuplot.rtf
$(HELPFILE): win\gnuplot.rtf
	$(HC) win\wgnuplot.hpj 
        -copy win\wgnuplot.hlp $(HELPFILE)

win\gnuplot.rtf: doc2rtf.exe $(D)gnuplot.doc win\wgnuplot.hpj
	doc2rtf $(D)gnuplot.doc win\gnuplot.rtf

doc2rtf.exe: $(D)doc2rtf.c $(D)termdoc.c $(D)xref.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
	$(BIN)$(CC) -edoc2rtf.exe @&&!
-D_Windows
-w-pro
$(CAUXFLAGS)
-I. -I$(T) -I$(D)
! $(D)doc2rtf.c $(D)termdoc.c $(D)xref.c

# make binary demo files
$(M)bf_test.exe: bf_test.c dbinary.obj dalloc.obj
	$(BIN)$(CC) -e$(M)bf_test.exe @&&!
-L$(TC)\lib
$(CAUXFLAGS)
! bf_test.c dbinary.obj dalloc.obj
	cd ..\demo
	bf_test
	cd ..\src

dalloc.obj: alloc.c
	$(BIN)$(CC) -c @&&!
$(CAUXFLAGS)
! -odalloc.obj alloc.c

dbinary.obj: binary.c
	$(BIN)$(CC) -c @&&!
$(CAUXFLAGS)
! -odbinary.obj binary.c

# clean up temporary files
clean:
	del *.obj
	del win\*.obj
	del wgnuplot.map
	del win\wgnuplot.res
	del wgnupl32.map
	del wgnupl32.res
	del win\gnuplot.rtf
	del doc2rtf.map
	del doc2rtf.exe
	del win\wgnuplib.res
	del wgnuplib.map
	del wgnuplot.lib
	del bf_test.map
	del $(M)bf_test.exe
	del $(M)bf_test.map

realclean: veryclean

veryclean: clean
	del wgnuplot.exe
	del wgnuplot.hlp
	del win\wgnuplot.hlp
	-attrib -h wgnuplot.gid
	del wgnuplot.gid
	del wgnuplot.mnu
	del wgnuplot.dll
	del wgnupl32.exe
	del $(M)binary1
	del $(M)binary2
	del $(M)binary3
	del $(M)fit.log
	del $(M)soundfit.par

Web Proxy Viewer  |  New URL  |  Original Page