head     39.16;
branch   ;
access   ;
symbols  ;
locks    ; strict;
comment  @# @;


39.16
date     93.05.24.11.56.32;  author vertex;  state Exp;
branches ;
next     39.15;

39.15
date     93.02.11.10.45.25;  author vertex;  state Exp;
branches ;
next     39.14;

39.14
date     92.12.11.10.53.19;  author vertex;  state Exp;
branches ;
next     39.13;

39.13
date     92.12.10.11.46.36;  author vertex;  state Exp;
branches ;
next     39.12;

39.12
date     92.10.16.18.29.08;  author vertex;  state Exp;
branches ;
next     39.11;

39.11
date     92.07.31.19.33.57;  author vertex;  state Exp;
branches ;
next     39.10;

39.10
date     92.07.16.11.21.02;  author vertex;  state Exp;
branches ;
next     39.9;

39.9
date     92.07.16.11.00.51;  author vertex;  state Exp;
branches ;
next     39.8;

39.8
date     92.04.13.13.04.48;  author vertex;  state Exp;
branches ;
next     39.7;

39.7
date     92.04.07.13.20.57;  author vertex;  state Exp;
branches ;
next     39.6;

39.6
date     92.03.24.15.15.11;  author peter;  state Exp;
branches ;
next     39.5;

39.5
date     92.03.09.13.14.49;  author peter;  state Exp;
branches ;
next     39.4;

39.4
date     92.03.09.13.12.13;  author peter;  state Exp;
branches ;
next     39.3;

39.3
date     92.02.20.14.07.12;  author peter;  state Exp;
branches ;
next     39.2;

39.2
date     92.02.03.17.03.30;  author peter;  state Exp;
branches ;
next     39.1;

39.1
date     92.01.30.19.58.03;  author peter;  state Exp;
branches ;
next     38.5;

38.5
date     92.01.30.18.09.03;  author peter;  state Exp;
branches ;
next     38.4;

38.4
date     92.01.28.08.28.08;  author peter;  state Exp;
branches ;
next     38.3;

38.3
date     92.01.15.11.09.23;  author peter;  state Exp;
branches ;
next     38.2;

38.2
date     91.09.24.18.12.35;  author peter;  state Exp;
branches ;
next     38.1;

38.1
date     91.07.11.14.02.50;  author peter;  state Exp;
branches ;
next     38.0;

38.0
date     91.07.11.12.34.04;  author peter;  state Exp;
branches ;
next     ;


desc
@@


39.16
log
@Added GST
@
text
@
MODNAME	          = gadtools
VERSION		  = 40

REMOTE		  = V$(VERSION):src/kickstart/gadtools

LD_FILE	          = $(MODNAME).ld
LD_STRIP          = $(MODNAME).ld.strip

C_COMPILER        = SC
C_COMPILER_OPTS   = RESOPT DATA=FARONLY PARM=REGISTERS UCHAR CONSTLIB LIBCODE\
		    STREQ STRMER COMMENTNEST DBG=SYMBOL GST=INCLUDE:all.gst\
		    MEMSIZE=HUGE NOSTKCHK NOICONS NOVERSION NOMINC\
		    OPT OPTPEEP OPTINLOCAL OPTSIZE OPTDEP=3 OPTRDEP=3

ASSEMBLER         = HX68 -a
ASSEMBLER_OPTS    = -csy -i include: -o

LINKER            = Slink
LINKER_OPTS	  = ADDSYM SC SD MAP $(MODNAME).map HLSXF PLAIN SWIDTH 16
LINKER_OPTS_STRIP = ND

C_SOURCES   = dispatch.c render.c generic.c button.c string.c checkbox.c mx.c\
	      scroller.c slider.c nway.c listview.c palette.c text.c\
	      textsupp.c menu.c misc.c visual.c create.c

ASM_SOURCES = gadtools_lib.asm stubs.asm sprintf.asm classface.asm extent.asm

OBJECTS     = gadtools_lib.o dispatch.o render.o generic.o button.o string.o\
	      checkbox.o mx.o scroller.o slider.o nway.o listview.o palette.o\
	      text.o textsupp.o menu.o misc.o visual.o create.o\
	      stubs.o sprintf.o classface.o extent.o

STARTUP     =
LIBS	    = LIB:debug.lib LIB:amiga.lib endtag.lib


##############################################################################
# Build the stripped load file...
#
$(LD_STRIP):	$(LD_FILE)
		$(LINKER) FROM $(LD_FILE) TO $(LD_STRIP) $(LINKER_OPTS_STRIP)


##############################################################################
# Build the load file...
#
$(LD_FILE):	$(OBJECTS) $(LIBS)
		$(LINKER) <with <
FROM $(STARTUP) $(OBJECTS) TO $(LD_FILE) LIB $(LIBS) $(LINKER_OPTS)
<


##############################################################################
# Default rules...
#
.c.o:
	$(C_COMPILER) $(C_COMPILER_OPTS) $*.c #DISASM $*.dasm

.asm.o:
	$(ASSEMBLER) $*.asm $(ASSEMBLER_OPTS) $*.o


##############################################################################
# All dependencies...
#
gadtools_lib.o: gadtools_lib.asm gtinternal.i $(MODNAME)_rev.rev endtag.lib gadtools_lib.fd

endtag.lib: endtag.asm
	@@echo "*NAssembling $*.asm"
	$(ASSEMBLER) $*.asm $(ASSEMBLER_OPTS) $*.lib

gadtools_lib.fd: gadtools_lib.sfd
	sfd -h gadtools_lib.sfd
	@@copy PRAGMAS/gadtools_pragmas.h ""
	@@copy PROTOS/gadtools_protos.h ""
	@@copy FD/gadtools_lib.fd ""
	@@delete PRAGMAS PROTOS FD LVO HDR ALL QUIET


##############################################################################
# Bump the version...
#
version:
	@@BumpRev $(VERSION) $(MODNAME)_rev


##############################################################################
# Delete all object files
#
clean:
	@@Delete \#?.o
	@@Delete $(LD_FILE) $(LD_STRIP) $(MODNAME).map
	@@Delete gadtools_protos.h gadtools_pragmas.h gadtools_lib.fd endtag.lib


##############################################################################
# Release stuff that should be...
#
headers:
	# Can't use this because the line's too long for lmk.
	#	autodoc >gadtools.doc -FRAM:adoctemp $(CFILES)

	# Here's a rule that works because execute can tolerate longer lines.
	# Note the ingenious use of the semicolon, because lmk insists on adding
	# a ^M to the end of the line, which would otherwise cause autodoc to puke.
	execute <<
autodoc >gadtools.doc $(C_SOURCES) ;
<
	@@copy $(MODNAME).doc V$(VERSION):doc
	@@delete $(MODNAME).doc quiet
	@@protect V$(VERSION):include/libraries/gadtools.? wrd quiet
	@@copy gadtools.? V$(VERSION):include/libraries quiet
	@@protect V$(VERSION):lib/sfd/gadtools_lib.sfd wrd
	@@copy gadtools_lib.sfd V$(VERSION):lib/sfd


##############################################################################
# Release the current build to the server...
#
internal:
	@@Delete $(REMOTE)/((\#?.(c|h|asm|i|ld|rev|doc|library))|lmkfile)
	@@protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +r quiet
	@@copy \#?.(strip|ld|doc|library) \#?_rev.\#? $(REMOTE)
@


39.15
log
@Bumped to V40
@
text
@d12 1
a12 1
		    STREQ STRMER COMMENTNEST DBG=SYMBOL\
@


39.14
log
@*** empty log message ***
@
text
@d3 1
a3 1
VERSION		  = 39
@


39.13
log
@*** empty log message ***
@
text
@d14 1
a14 1
#		    OPT OPTPEEP OPTINLOCAL OPTSIZE OPTDEP=3 OPTRDEP=3
@


39.12
log
@Switched to SAS/C 6.0
@
text
@d14 1
a14 1
		    OPT OPTPEEP OPTINLOCAL OPTSIZE OPTDEP=3 OPTRDEP=3
@


39.11
log
@*** empty log message ***
@
text
@d10 5
a14 2
C_COMPILER        = LC
C_COMPILER_OPTS   = -b0 -ms -v -me -rr -O -cfist -ml
d16 1
a16 1
ASSEMBLER         = hx68 -a
d19 1
a19 1
LINKER            = Blink
d35 1
a35 1
LIBS	    = LIB:debug.lib LIB:amiga.lib LIB:lcr.lib endtag.lib
d58 1
a58 1
	$(C_COMPILER) $(C_COMPILER_OPTS) $*.c
d92 1
a92 3
	@@Delete <<
$(OBJECTS)
<
@


39.10
log
@*** empty log message ***
@
text
@d111 1
a111 1
	@@protect V$(VERSION):include/libraries/gadtools.#? wrd quiet
@


39.9
log
@Brand new, more standard, cleaner
@
text
@d107 1
a107 1
autodoc >gadtools.doc -FRAM:adoctemp $(CFILES) ;
d111 1
a111 1
	@@protect V$(VERSION):include/libraries/gadtools.? wrd quiet
@


39.8
log
@Changed from using CAPE to HX68
@
text
@a0 1
VERSION = 39
d2 2
a3 1
SRCDIR = V${VERSION}:src/kickstart/gadtools/
d5 1
a5 33
# C Object files
COFILES = dispatch.o render.o generic.o\
	button.o string.o checkbox.o mx.o scroller.o slider.o nway.o\
	listview.o palette.o text.o textsupp.o menu.o misc.o\
	visual.o create.o

# C source
CFILES = dispatch.c render.c generic.c\
button.c string.c checkbox.c mx.c scroller.c slider.c nway.c\
listview.c palette.c text.c textsupp.c menu.c misc.c\
visual.c create.c

LSTFILES = dispatch.lst render.lst\
	generic.lst button.lst string.lst checkbox.lst mx.lst scroller.lst\
	slider.lst nway.lst listview.lst palette.lst text.lst\
	textsupp.lst menu.lst misc.lst visual.lst create.lst

AOFILES = stubs.o sprintf.o classface.o extent.o
AFILES = gadtools_lib.asm stubs.asm sprintf.asm classface.asm extent.asm

OFILES = $(COFILES) $(AOFILES)
FIRSTO = gadtools_lib.o

AFLAGS = -csy -i include:
# Lattice flags
# -cs:  One copy only for duplicated strings
# -v:   No stack checking code
# -ms:  Optimize for space
CFLAGS = -. -b0 -cfist -rr -me -ml -v -ms -d -O $(MORECFLAGS)

LFLAGS = SMALLCODE SMALLDATA ADDSYM BATCH MAP gadtools.map X O H S F L plain
#need rom.lib due to debug.lib
LLIBS = lib:lcr.lib lib:debug.lib lib:small.lib endtag.lib
d7 43
a49 1
all: endtag.lib gadtools_lib.fd gadtools.ld gadtools.ld.strip
d51 3
d55 1
a55 4
	lc $(CFLAGS) $*

dispatch.o: dispatch.c gtinternal.h
	lc $(CFLAGS) $*
d58 1
a58 2
	@@echo "*NAssembling $*.asm"
	hx68 -a $*.asm $(AFLAGS) -o$*.o
a59 2
.o.lst:
	omd >$*.lst $*.o $*.c
d61 4
a64 15
listing:  $(LSTFILES)

gadtools_rev.rev: $(CFILES) $(AFILES)
	bumprev $(VERSION) gadtools_rev

# We must blink the sucker to gadtools.library because blink uses the
# target's name as the library name.  We then copy to gadtools.ld
# and strip to gadtools.ld.strip
gadtools.ld: $(OFILES) endtag.lib $(FIRSTO)
	blink <with <
FROM $(FIRSTO) $(OFILES)
TO gadtools.ld
$(LFLAGS)
lib $(LLIBS)
<
d66 3
a68 5
gadtools.ld.strip: gadtools.ld
	blink from gadtools.ld to gadtools.ld.strip NODEBUG
	@@echo "*N --> Built GadTools $(VERSION)." NOLINE
	@@type gadtools_rev.rev
#	copy gadtools.ld.strip Shuttle:libs/gadtools.library
a69 1
# Useful rule to rebuild pieces from .sfd changes
d72 4
a75 3
	copy PRAGMAS/gadtools_pragmas.h ""
	copy PROTOS/gadtools_protos.h ""
	copy FD/gadtools_lib.fd ""
d77 6
a82 3
gadtools_lib.o: gadtools_lib.asm gadtools_rev.rev
	@@echo "*NAssembling $*.asm"
	hx68 -a $*.asm $(AFLAGS) -o$*.o
a83 3
endtag.lib: endtag.asm
	@@echo "*NAssembling $*.asm"
	hx68 -a $*.asm $(AFLAGS) -o$*.lib
d85 3
a87 1
# Delete all the .o and .library files.
d89 5
a93 1
	delete \#?.(o|library|ld|lst|ld.strip)
a94 6
# Copy to the server, including the "make headers" part
internal: headers
# We copy everything except .o files, .lst files, and files beginning
# with underscore (a private convention for non-server files)
	copy ~~(_\#?|\#?.o|\#?.lst) to $(SRCDIR) quiet nopro
	copy Notes/\#? to $(SRCDIR)Notes quiet nopro
d96 3
d100 2
a101 16
	copy gadtools.h V${VERSION}:include/libraries nopro
	copy gadtools.i V${VERSION}:include/libraries nopro
	copy gadtools.doc V${VERSION}:doc nopro
	copy gadtools_lib.sfd V${VERSION}:lib/sfd nopro

# Update local lib: and include:
amiga:
	copy gadtools.h include:libraries dates nopro
	copy gadtools.i include:libraries dates nopro
	copy gadtools_protos.h include:clib dates nopro
	copy gadtools_pragmas.h include:pragmas dates nopro

# Build autodocs
doc:
# Can't use this because the line's too long for lmk.
#	autodoc >gadtools.doc -FRAM:adoctemp $(CFILES)
d103 3
a105 4
# here's a rule that works because execute can tolerate longer lines.
# Note the ingenious use of the semicolon, because lmk insists on adding
# a ^M to the end of the line, which would otherwise cause autodoc to puke.
	@@echo "Making autodocs..."
d109 15
@


39.7
log
@Added extent.asm
@
text
@d49 1
a49 1
	casm -a $*.asm $(AFLAGS) -o$*.o
d85 1
a85 1
	casm -a $*.asm $(AFLAGS) -o$*.o
d89 1
a89 1
	casm -a $*.asm $(AFLAGS) -o$*.lib
@


39.6
log
@dispatch.o now depends on gtinternal.h, since the get-tables are
generated there.
@
text
@d22 2
a23 2
AOFILES = stubs.o sprintf.o classface.o
AFILES = gadtools_lib.asm stubs.asm sprintf.asm classface.asm
d47 1
a47 1
.asm.o: 
d65 1
a65 1
TO gadtools.library
a68 2
	copy gadtools.library gadtools.ld
	delete gadtools.library
@


39.5
log
@Fixed copying of Notes directory.
@
text
@d39 2
d44 3
a52 2

all: endtag.lib gadtools_lib.fd gadtools.ld gadtools.ld.strip
@


39.4
log
@Make internal rule now uses make headers rule.  Now copy "Notes" directory
to server.
@
text
@d99 1
a99 1
	copy Notes/\#? to $(SRCDIR)/Notes quiet nopro
@


39.3
log
@Use gadtools.doc instead of GadTools.doc
@
text
@d94 2
a95 2
# Copy to the server
internal:
d99 1
a99 4
	copy gadtools.h V${VERSION}:include/libraries nopro
	copy gadtools.i V${VERSION}:include/libraries nopro
	copy gadtools.doc V${VERSION}:doc nopro
	copy gadtools_lib.sfd V${VERSION}:lib/sfd nopro
@


39.2
log
@Forgot to escape some #'s and ~'s.
@
text
@d120 1
a120 1
#	autodoc >GadTools.doc -FRAM:adoctemp $(CFILES)
d127 1
a127 1
autodoc >GadTools.doc -FRAM:adoctemp $(CFILES) ;
@


39.1
log
@Bumped version to 39.
@
text
@d98 1
a98 1
	copy ~(_#?|#?.o|#?.lst) to $(SRCDIR) quiet nopro
@


38.5
log
@Deleted references to sketch gadget.  Deleted link dependency on
fd file.  Revision now only bumped just before linking.  Now use
-h option of sfd, which avoids building the stubs.
@
text
@@


38.4
log
@No longer using magic library stuff.
@
text
@d8 1
a8 1
	listview.o palette.o sketch.o text.o textsupp.o menu.o misc.o\
d14 1
a14 1
listview.c palette.c sketch.c text.c textsupp.c menu.c misc.c\
d19 1
a19 1
	slider.lst nway.lst listview.lst palette.lst sketch.lst text.lst\
d25 2
a26 1
OFILES = gadtools_lib.o $(COFILES) $(AOFILES)
d49 1
a49 1
all: gadtools_rev.rev endtag.lib gadtools_lib.fd gadtools.ld gadtools.ld.strip
d59 1
a59 1
gadtools.ld: $(OFILES) endtag.lib gadtools_lib.fd
d61 1
a61 1
FROM $(OFILES)
d75 1
d77 1
a77 1
	sfd gadtools_lib.sfd
@


38.3
log
@Now refer to V39 instead of V39.  Added make headers rule.
Now use 2.0 patterns to achieve make internal.
@
text
@d6 1
a6 1
COFILES = libinit.o customlib.o dispatch.o render.o generic.o\
d12 1
a12 1
CFILES = libinit.c customlib.c dispatch.c render.c generic.c\
d17 1
a17 1
LSTFILES = libinit.lst customlib.lst dispatch.lst render.lst\
d23 1
a23 1
AFILES = libent.asm stubs.asm sprintf.asm classface.asm
d25 1
a25 1
OFILES = libent.o $(COFILES) $(AOFILES)
d32 1
a32 1
CFLAGS = -. -cfist -rr -me -ml -v -ms -d -O $(MORECFLAGS)
a61 3
LIBPREFIX _LIB_
LIBFD gadtools_lib.fd
LIBID ""
d80 1
a80 4
libinit.o:  libinit.c gadtools_rev.rev
	lc $(CFLAGS) $*

libent.o: libent.asm gadtools_rev.rev
@


38.2
log
@Changed LIBPREFIX from @@LIB_ to _LIB_ for LC 5.10b.
@
text
@d1 1
a1 1
SRCDIR = V38:src/kickstart/gadtools/
d3 1
a3 1
VERSION = 38
d100 13
a112 10
	copy "" to $(SRCDIR) quiet nopro
#	clean up some of the clutter
	delete $(SRCDIR)\#?.(o|lst)
	delete $(SRCDIR)_\#?
	delete $(SRCDIR)gadtools.map
	copy gadtools.h V38:include/libraries nopro
	copy gadtools.i V38:include/libraries nopro
	copy gtsketch.h V38:include/internal nopro
	copy gadtools.doc V38:doc nopro
	copy gadtools_lib.sfd V38:lib/sfd nopro
@


38.1
log
@Bumped version to V38.  No longer strip include files.
@
text
@d62 1
a62 1
LIBPREFIX @@LIB_
@


38.0
log
@ Initial V38 check-in (matches V37 release).
@
text
@d1 1
a1 1
SRCDIR = V:src/kickstart/gadtools/
d3 1
a3 1
VERSION = 37
d105 5
a109 14
	delete $(SRCDIR)tags
	copy gadtools.h V:include/libraries nopro
	copy gadtools.i V:include/libraries nopro
	copy gtsketch.h V:include/internal nopro
	copy gadtools.doc V:doc nopro
#	copy gadtools_protos.h V:include/clib nopro
#	copy gadtools_pragmas.h V:inc.lattice/pragmas nopro
	stripc gadtools.h V:include.strip/libraries/gadtools.h
	stripc gadtools.i V:include.strip/libraries/gadtools.i
	stripc gtsketch.h V:include.strip/internal/gtsketch.h
#	stripc gadtools_protos.h V:include.strip/clib/gadtools_protos.h
#	stripc gadtools_pragmas.h V:inc.lattice.strip/pragmas/gadtools_pragmas.h
#	copy gadtools_lib.fd V:lib/autofd nopro
	copy gadtools_lib.sfd V:lib/sfd nopro
@
