1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
|
# Makefile for PGPLOT use with Microsoft Fortran AFT 91-Jun-27
#
# This generates the PGPLOT binary files (libraries and demos) in the
# current default directory (which need not be the source directory).
#
# Directory containing source code
SRC=..
SRCDIR=$(SRC)\pgplot\src
# Directory containing demo programs
DEMODIR=$(SRC)\pgplot\examples
# Directory containing font stuff
FONTDIR=$(SRC)\pgplot\fonts
# Directory containing system-dependent code
SYSDIR=$(SRC)\pgplot\sys_dos
# Directory to put the libraries
LIBDIR=.
# Fortran compiler
FCOMPL=FL
FFLAGC=/Gt
# C compiler
CCOMPL=
CFLAGC=
# Libraries required for linking
LIBS = .\PGPLOT+GRAPHICS
# Rules for compiling Fortran
.SUFFIXES: .F .FOR .OBJ
{SRC\}.FOR.OBJ:
$(FCOMPL) /c $(FFLAGC) src\$<
{SRC\}.F.OBJ:
COPY src\$*.F $*.FOR
$(FCOMPL) /c $(FFLAGC) $*.FOR
DEL $*.FOR
all: PGPLOT.LIB GRFONT.DAT PROG
#-----------------------------------------------------------------------
# Routine lists:
# PG_ROUTINES: basic PGPLOT routines (Fortran-77)
# PG_NON_STANDARD: non-Fortran-77 aliases for basic routines
# GR_ROUTINES: support routines, not called directly by applications
# (Fortran-77)
# SYSTEM_ROUTINES: potentially non-portable routines, usually
# operating-system dependent
#-----------------------------------------------------------------------
PGPLOT.LIB:: $(SRC)\pgplot.inc $(SRC)\grpckg1.inc
REM
PGPLOT.LIB:: pgask.obj pgbbuf.obj pgbeg.obj pgbin.obj pgbox.obj pgbox1.obj
LIB PGPLOT -+$?;
PGPLOT.LIB::pgcn01.obj pgcnsc.obj pgconb.obj pgcons.obj pgcont.obj pgconx.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgcp.obj pgcurs.obj pgdraw.obj pgebuf.obj pgend.obj pgenv.obj
LIB PGPLOT -+$?;
PGPLOT.LIB::pgerrb.obj pgerrx.obj pgerry.obj pgetxt.obj pgfunt.obj pgfunx.obj
LIB PGPLOT -+$?;
PGPLOT.LIB::pgfuny.obj pggray.obj pghi2d.obj pghis1.obj pghist.obj pgiden.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pglab.obj pglcur.obj pgldev.obj pglen.obj pgline.obj pgmove.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgmtxt.obj pgncur.obj pgnpl.obj pgnumb.obj pgolin.obj pgpage.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgpap.obj pgpixl.obj pgpnts.obj pgpoly.obj pgpt.obj pgptxt.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgqcf.obj pgqch.obj pgqci.obj pgqcol.obj pgqcr.obj pgqfs.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgqinf.obj pgqls.obj pgqlw.obj pgqpos.obj pgqvp.obj pgqwin.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgrect.obj pgrnd.obj pgrnge.obj pgscf.obj pgsch.obj pgsci.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgscr.obj pgsfs.obj pgshls.obj pgsls.obj pgslw.obj pgsvp.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgswin.obj pgtbox.obj pgtext.obj pgtime.obj pgtlab.obj pgtlb1.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgupdt.obj pgvsiz.obj pgvstd.obj pgvw.obj pgwnad.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgadvanc.obj pgbegin.obj pgcurse.obj pglabel.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgmtext.obj pgncurse.obj pgpaper.obj pgpoint.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgptext.obj pgvport.obj pgvsize.obj pgvstand.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: pgwindow.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grarea.obj grbpic.obj grchsz.obj grclip.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grclos.obj grclpl.obj grcurs.obj grdot0.obj grdtyp.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: gresc.obj gretxt.obj grfa.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grgray.obj grgrgr.obj grgrps.obj grqci.obj grqdev.obj grqdt.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grqfnt.obj grqcol.obj grqls.obj grqlw.obj grqpos.obj grqtyp.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grldev.obj grlen.obj grlin0.obj grlin1.obj grlin2.obj grlin3.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grlina.obj grmcur.obj grmker.obj grmova.obj gropen.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grpage.obj grpars.obj grrect.obj grscr.obj grslct.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grsetc.obj grsci.obj grsfnt.obj grsls.obj grslw.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grsets.obj grsize.obj grsyds.obj grsymk.obj grsyxd.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grterm.obj grtext.obj grtoup.obj grtrn0.obj grtxy0.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grvct0.obj grxhls.obj grxrgb.obj grqdev.obj grsfs.obj grpixl.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grpxpo.obj grpxpx.obj grpxre.obj grrec0.obj grfao.obj gritoc.obj
LIB PGPLOT -+$?;
PGPLOT.LIB:: grexec.obj grdos.obj grsy00.obj msdriv.obj
LIB PGPLOT -+$?;
grexec.obj : $(SYSDIR)\grexec.for
COPY $(SYSDIR)\grexec.for .
$(FCOMPL) /c $(FFLAGC) grexec.for
DEL grexec.for
grdos.obj : $(SYSDIR)\grdos.for
COPY $(SYSDIR)\grdos.for .
$(FCOMPL) /c $(FFLAGC) grdos.for
DEL grdos.for
grsy00.obj : $(SYSDIR)\grsy00.for
COPY $(SYSDIR)\grsy00.for .
$(FCOMPL) /c $(FFLAGC) grsy00.for
DEL grsy00.for
msdriv.obj : $(SYSDIR)\msdriv.for
COPY $(SYSDIR)\msdriv.for .
$(FCOMPL) /c $(FFLAGC) msdriv.for
DEL msdriv.for
#-----------------------------------------------------------------------
# Device drivers
#-----------------------------------------------------------------------
CGDRIVER=cgdriv.obj cfopenvws.obj
GFDRIVER=gfdriv.obj grre01.obj grte02.obj grre04.obj grgf04.obj lib_get_vm.obj
GTDRIVER=gtdriv.obj grre01.obj grte02.obj grte04.obj grgf04.obj grtk01.obj
IMDRIVER=imdriv.obj grim00.obj grim02.obj grim03.obj lib_get_vm.obj
IVDRIVER=ivdriv.obj griv00.obj grivas.obj
LJDRIVER=ljdriv.obj grlj00.obj
LLDRIVER=lldriv.obj grlj00.obj
NUDRIVER=nudriv.obj
PSDRIVER=psdriv.obj grps01.obj grps02.obj
VPDRIVER=vpdriv.obj
PXDRIVER=pxdriv.obj grpx01.obj grpx02.obj lib_get_vm.obj gribf1.obj
QMDRIVER=qmdriv.obj grqm00.obj
QPDRIVER=qpdriv.obj grqm00.obj
REDRIVER=redriv.obj grre01.obj grre02.obj grre04.obj
SVDRIVER=svdriv.obj svblock.obj
TEDRIVER=tedriv.obj grte01.obj grte02.obj grte04.obj lib_get_vm.obj
TFDRIVER=tfdriv.obj grtf01.obj grtf02.obj grtf03.obj lib_get_vm.obj
TKDRIVER=tkdriv.obj grtk00.obj grtk01.obj
TVDRIVER=tvdriv.obj grtv00.obj
VEDRIVER=vedriv.obj grve01.obj grve02.obj lib_get_vm.obj gribf1.obj
VTDRIVER=vtdriv.obj grvt02.obj grvt03.obj
VVDRIVER=vvdriv.obj grve01.obj grve02.obj lib_get_vm.obj gribf1.obj
ZSDRIVER=zsdriv.obj grzs01.obj grzs02.obj grzs03.obj grzs04.obj grzs05.obj
XWDRIVER=xwdriv.obj xwblock.obj
X2DRIVER=x2driv.obj
# Compile drivers that compile under Microsoft Fortran.
# Not all these drivers have actually been tested.
PGPLOT.LIB:: $(NUDRIVER)
LIB PGPLOT -+$(NUDRIVER);
PGPLOT.LIB:: $(PSDRIVER)
LIB PGPLOT -+$(PSDRIVER);
PGPLOT.LIB:: $(REDRIVER)
LIB PGPLOT -+$(REDRIVER);
PGPLOT.LIB:: $(VPDRIVER)
LIB PGPLOT -+$(VPDRIVER);
PGPLOT.LIB:: $(ZSDRIVER)
LIB PGPLOT -+$(ZSDRIVER);
#
# Note that if you want to build a sharable library including these routines,
# specifically grdat2.o, you will have to add grdat2.o to the DATAOBJS list.
#
OBSOLETE_ROUTINES=\
grchar.obj grchr0.obj grdat2.obj grgtc0.obj grmark.obj grinqli.obj\
grinqpen.obj\
grsetli.obj grsetpen.obj grlinr.obj grmovr.obj grtran.obj grvect.obj\
pgsetc.obj pgsize.obj grinqfon.obj grsetfon.obj
#-----------------------------------------------------------------------
# Target "lib" is used to built the PGPLOT subroutiune library.
# libpgplot.a is the primary PGPLOT library.
#-----------------------------------------------------------------------
lib : PGPLOT.LIB
#-----------------------------------------------------------------------
# libpgobs.a contains obsolete routines used by some programs
#-----------------------------------------------------------------------
PGOBS.LIB : $(OBSOLETE_ROUTINES)
LIB PGOBS -+$?;
#-----------------------------------------------------------------------
# Target "prog" is used to make the demo programs. They can also be made
# individually.
#-----------------------------------------------------------------------
# List of demo programs
DEMOS = pgdemo1.exe pgdemo2.exe pgdemo3.exe pgex5.exe pgex13.exe pgex14.exe \
pgex15.exe pgex17.exe pgex18.exe pgex22.exe pgex23.exe pgex24.exe
prog: $(DEMOS)
pgdemo1.exe: $(DEMODIR)\pgdemo1.f
COPY $(DEMODIR)\pgdemo1.f pgdemo1.for
$(FCOMPL) /c $(FFLAGC) pgdemo1.FOR
LINK /SEGMENTS:256 pgdemo1.obj,,NUL,$(LIBS);
DEL pgdemo1.for
pgdemo2.exe: $(DEMODIR)\pgdemo2.f
COPY $(DEMODIR)\pgdemo2.f pgdemo2.for
$(FCOMPL) /c $(FFLAGC) pgdemo2.FOR
LINK /SEGMENTS:256 pgdemo2.obj,,NUL,$(LIBS);
DEL pgdemo2.for
pgdemo3.exe: $(DEMODIR)\pgdemo3.f
COPY $(DEMODIR)\pgdemo3.f pgdemo3.for
$(FCOMPL) /c $(FFLAGC) pgdemo3.FOR
LINK /SEGMENTS:256 pgdemo3.obj,,NUL,$(LIBS);
DEL pgdemo3.for
pgex5.exe: $(DEMODIR)\pgex5.f
COPY $(DEMODIR)\pgex5.f pgex5.for
$(FCOMPL) /c $(FFLAGC) pgex5.FOR
LINK /SEGMENTS:256 pgex5.obj,,NUL,$(LIBS);
DEL pgex5.for
pgex13.exe: $(DEMODIR)\pgex13.f
COPY $(DEMODIR)\pgex13.f pgex13.for
$(FCOMPL) /c $(FFLAGC) pgex13.FOR
LINK /SEGMENTS:256 pgex13.obj,,NUL,$(LIBS);
DEL pgex13.for
pgex14.exe: $(DEMODIR)\pgex14.f
COPY $(DEMODIR)\pgex14.f pgex14.for
$(FCOMPL) /c $(FFLAGC) pgex14.FOR
LINK /SEGMENTS:256 pgex14.obj,,NUL,$(LIBS);
DEL pgex14.for
pgex15.exe: $(DEMODIR)\pgex15.f
COPY $(DEMODIR)\pgex15.f pgex15.for
$(FCOMPL) /c $(FFLAGC) pgex15.FOR
LINK /SEGMENTS:256 pgex15.obj,,NUL,$(LIBS);
DEL pgex15.for
pgex17.exe: $(DEMODIR)\pgex17.f
COPY $(DEMODIR)\pgex17.f pgex17.for
$(FCOMPL) /c $(FFLAGC) pgex17.FOR
LINK /SEGMENTS:256 pgex17.obj,,NUL,$(LIBS);
DEL pgex17.for
pgex18.exe: $(DEMODIR)\pgex18.f
COPY $(DEMODIR)\pgex18.f pgex18.for
$(FCOMPL) /c $(FFLAGC) pgex18.FOR
LINK /SEGMENTS:256 pgex18.obj,,NUL,$(LIBS);
DEL pgex18.for
pgex22.exe: $(DEMODIR)\pgex22.f
COPY $(DEMODIR)\pgex22.f pgex22.for
$(FCOMPL) /c $(FFLAGC) pgex22.FOR
LINK /SEGMENTS:256 pgex22.obj,,NUL,$(LIBS);
DEL pgex22.for
pgex23.exe: $(DEMODIR)\pgex23.f
COPY $(DEMODIR)\pgex23.f pgex23.for
$(FCOMPL) /c $(FFLAGC) pgex23.FOR
LINK /SEGMENTS:256 pgex23.obj,,NUL,$(LIBS);
DEL pgex23.for
pgex24.exe: $(DEMODIR)\pgex24.f
COPY $(DEMODIR)\pgex24.f pgex24.for
$(FCOMPL) /c $(FFLAGC) pgex24.FOR
LINK /SEGMENTS:256 pgex24.obj,,NUL,$(LIBS);
DEL pgex24.for
#-----------------------------------------------------------------------
# Target "grfont.dat" is the binary font file.
# This is created from grfont.txt with the "pgpack" program.
# (a) compile the `pgpack' program; then
# (b) run `pgpack' to convert the ASCII version of the font file
# (grfont.txt) into the binary version (grfont.dat). When executed,
# `pgpack' should report:
# Characters defined: 996
# Array cells used: 26732
#-----------------------------------------------------------------------
pgpack.exe: $(FONTDIR)\pgpack.f
COPY $(FONTDIR)\pgpack.F pgpack.FOR
$(FCOMPL) $(FFLAGC) pgpack.FOR
DEL pgpack.FOR
grfont.dat: $(FONTDIR)\grfont.txt pgpack.exe
DEL grfont.dat
pgpack <$(FONTDIR)\grfont.txt
#-----------------------------------------------------------------------
# Target "install" is required for Figaro.
#-----------------------------------------------------------------------
install:
#-----------------------------------------------------------------------
# Target "clean" is used to remove all the intermediate files.
#-----------------------------------------------------------------------
clean :
DEL *.OBJ
DEL *.FOR
DEL PGPLOT.BAK
DEL PGPACK.EXE
DEL PGPLOT.INC
DEL GRPCKG1.INC
SPOTLESS: CLEAN
DEL *.EXE
DEL GRFONT.DAT
DEL PGPLOT.LIB
# Include file dependencies:
# The following PG routines reference `pgplot.inc'
grgray.o grgrgr.o grgrps.o \
pgask.o pgbbuf.o pgbeg.o pgbin.o pgbox.o pgcont.o pgcp.o \
pgcurs.o pgebuf.o pgend.o pgerrb.o pgerrx.o pgerry.o pggray.o pghi2d.o \
pghist.o pgiden.o pglcur.o pglen.o pgmtxt.o pgncur.o pgolin.o \
pgpage.o pgpap.o pgpixl.o pgpoly.o pgpt.o pgptxt.o pgqch.o pgqfs.o \
pgqinf.o pgqvp.o pgqwin.o pgrect.o pgsch.o pgsfs.o pgsvp.o \
pgswin.o pgupdt.o pgvsiz.o pgvstd.o pgvw.o pgwnad.o: $(SRC)/pgplot.inc
# The following GR routines reference `grpckg.inc'
grarea.o grbpic.o grchr0.o grchsz.o grclos.o grclpl.o grcurs.o \
grdot0.o grdtyp.o gresc.o gretxt.o grfa.o grgray.o grgrgr.o \
grldev.o grlen.o grlin0.o grlin1.o grlin2.o grlin3.o \
grlina.o grlinr.o grmker.o grmova.o grmovr.o gropen.o grpage.o \
grpixl.o grpxpo.o grpxpx.o \
grqci.o grqcol.o grqdev.o grqdt.o grqfnt.o grqls.o \
grqlw.o grqpos.o grqtyp.o grrec0.o grrect.o \
grsci.o grscr.o grsetc.o grsetli.o grsets.o grsfnt.o grsfs.o grsize.o \
grslct.o grsls.o grslw.o grterm.o grtext.o grtrn0.o grtxy0.o \
grvct0.o: $(SRC)/grpckg1.inc
griv00.o : $(SRCDIR)/gadef.h $(SRCDIR)/gmdef.h $(SRCDIR)/gphdef.h
grtv00.o : $(SRCDIR)/imdef.h
$(SRC)\pgplot.inc: $(SRCDIR)\pgplot.inc
COPY $(SRCDIR)\pgplot.inc .
$(SRC)\grpckg1.inc: $(SRCDIR)\grpckg1.inc
COPY $(SRCDIR)\grpckg1.inc .
|