home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 3
/
AACD03.BIN
/
AACD
/
Programming
/
Triton
/
Source
/
SMakefile
< prev
next >
Wrap
Makefile
|
1998-05-23
|
15KB
|
439 lines
#
# OpenTriton -- A free release of the triton.library source code
# Copyright (C) 1993-1998 Stefan Zeiger
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# SMakefile - Makefile for SAS/C SMake
#
VERSION = 6
REVISION = 115
SVERSION = "6"
SREVISION = "115"
C_SOURCES = src/triton.c src/quickhelp_prim.c src/frame_prim.c src/text_prim.c src/color_prim.c \
classes/object.c classes/displayobject.c classes/checkbox.c classes/group.c \
classes/space.c classes/text.c classes/line.c classes/button.c classes/framebox.c \
classes/dropbox.c classes/listview.c classes/palette.c classes/slider.c \
classes/scroller.c classes/cycle.c classes/string.c classes/progress.c \
classes/image.c # classes/dragitem.c src/dragndrop.c
OBJECTS37 = obj37/triton.o obj37/quickhelp_prim.o obj37/frame_prim.o \
obj37/text_prim.o obj37/color_prim.o \
obj37/object.o obj37/displayobject.o obj37/checkbox.o obj37/group.o obj37/space.o \
obj37/text.o obj37/line.o obj37/button.o obj37/framebox.o obj37/dropbox.o \
obj37/listview.o obj37/palette.o obj37/slider.o obj37/scroller.o obj37/cycle.o \
obj37/string.o obj37/progress.o obj37/image.o # obj37/dragitem.o obj37/dragndrop_prim.o
OBJECTS39 = obj39/triton.o obj39/quickhelp_prim.o obj39/frame_prim.o \
obj39/text_prim.o obj39/color_prim.o \
obj39/object.o obj39/displayobject.o obj39/checkbox.o obj39/group.o obj39/space.o \
obj39/text.o obj39/line.o obj39/button.o obj39/framebox.o obj39/dropbox.o \
obj39/listview.o obj39/palette.o obj39/slider.o obj39/scroller.o obj39/cycle.o \
obj39/string.o obj39/progress.o obj39/image.o # obj39/dragitem.o obj39/dragndrop_prim.o
LIBDEPS = include/pragmas/triton_pragmas.h include/libraries/triton.h incl parts/define_classes.h \
parts/install_classes.h include
DEMOS = demos/Demo demos/EnvPrint demos/trLogo demos/CustomClass \
demos/ToolManager1 demos/ToolManager2 demos/ToolManager3 demos/ProgInd
BENCHMARKS = bench/bench
LLIB_SRC = libsrc/OpenTriton.c libsrc/Stubs.c libsrc/Boopsi.c
LLIB_OBJ = libsrc/OpenTriton.o libsrc/Stubs.o libsrc/Boopsi.o
COMPILE = sc LIBRARYCODE LIBRARYFDFILE=triton_lib.fd \
DEFINE=SVERSION=$(SVERSION) DEFINE=SREVISION=$(SREVISION)
OS37 = CPU=68000 objname=obj37/
OS39 = define=TR_OS39 CPU=68030 objname=obj39/
OS39_INIT = define=TR_OS39 CPU=68000 objname=obj39/
########################################################################################## Default targets ##
default: trcl/null.trcl lib demos/Demo demos/CustomClass
lib: libs37/triton.library
med: default prefs/Triton libs39/triton.library
all: med $(BENCHMARKS) \
demos/EnvPrint demos/CustomClass demos/trLogo \
demos/ToolManager1 demos/ToolManager2 demos/ToolManager3 demos/ProgInd \
doc prefs/trPrefsUpdate cat_deutsch
################################################################################## Build the linker system ##
lib/triton.lib: $(LLIB_SRC)
sc $(LLIB_SRC) objname=libsrc/
delete lib/triton.lib
# OML lib/triton.lib R $(LLIB_OBJ)
join $(LLIB_OBJ) to lib/triton.lib
copy lib/triton.lib lib:
######################################################################################## Build the library ##
obj37/triton.o: src/triton.c catalogs/triton.o internal.h
$(COMPILE) src/triton.c $(OS37)
obj37/dragndrop_prim.o: src/dragndrop.c internal.h
$(COMPILE) src/dragndrop.c $(OS37)
obj37/quickhelp_prim.o: src/quickhelp_prim.c internal.h
$(COMPILE) src/quickhelp_prim.c $(OS37)
obj37/text_prim.o: src/text_prim.c internal.h
$(COMPILE) src/text_prim.c $(OS37)
obj37/color_prim.o: src/color_prim.c internal.h
$(COMPILE) src/color_prim.c $(OS37)
obj37/frame_prim.o: src/frame_prim.c internal.h
$(COMPILE) src/frame_prim.c $(OS37)
obj39/triton.o: src/triton.c catalogs/triton.o
$(COMPILE) src/triton.c $(OS39)
obj39/dragndrop_prim.o: src/dragndrop.c internal.h
$(COMPILE) src/dragndrop.c $(OS39)
obj39/quickhelp_prim.o: src/quickhelp_prim.c internal.h
$(COMPILE) src/quickhelp_prim.c $(OS39)
obj39/text_prim.o: src/text_prim.c internal.h
$(COMPILE) src/text_prim.c $(OS39)
obj39/color_prim.o: src/color_prim.c internal.h
$(COMPILE) src/color_prim.c $(OS39)
obj39/frame_prim.o: src/frame_prim.c internal.h
$(COMPILE) src/frame_prim.c $(OS39)
libs37/triton.library: $(LIBDEPS) $(OBJECTS37)
sc with <<
LIBRARYCODE LIBRARYFDFILE=triton_lib.fd from $(OBJECTS37) catalogs/triton.o startup=libinit
link to libs37/triton.library LIBVERSION $(VERSION) LIBREVISION $(REVISION)
<
copy libs37/triton.library libs:
delete libs37/triton.lnk
copy triton_lib.fd FD:
flushlibs
version triton.library
libs39/triton.library: $(LIBDEPS) $(OBJECTS39)
sc with <<
LIBRARYCODE LIBRARYFDFILE=triton_lib.fd from $(OBJECTS39) catalogs/triton.o startup=libinit
link to libs39/triton.library LIBVERSION $(VERSION) LIBREVISION $(REVISION)
<
copy libs39/triton.library libs:
delete libs39/triton.lnk
flushlibs
version triton.library
include/pragmas/triton_pragmas.h: triton_lib.fd
sc:c/fd2pragma triton_lib.fd include/pragmas/triton_pragmas.h
############################################################################################ Default rules ##
.c.o:
$(COMPILE) $*.c
.asm.o:
sc:c/asm $*.asm
############################################################################################ Documentation ##
doc: doc/Triton.guide doc/Triton.dvi doc/triton.adoc doc/TritonDev.guide doc/TritonDev.dvi cleandoc
doc/triton.adoc: $(C_SOURCES)
autodoc -C -Ft:tmpfile -I $(C_SOURCES) $(LLIB_SRC) >doc/triton.adoc
doc/Triton.guide: doc/Triton.texi
tex:texinfo/makeinfo --amiga --no-split -o doc/Triton.guide doc/Triton.texi
doc/Triton.dvi: doc/Triton.texi
execute doc/MakeDVI
doc/TritonDev.guide: doc/TritonDev.texi
tex:texinfo/makeinfo --amiga --no-split -o doc/TritonDev.guide doc/TritonDev.texi
doc/TritonDev.dvi: doc/TritonDev.texi
execute doc/MakeDVI_dev
############################################################################################### Basic TrCl ##
trcl/trcl.o: trcl/trcl.c trcl/trcl.fd
sc trcl/trcl.c objname=trcl/ with <<
NOMODIFIED OPTIMIZE STRINGSCONST OPTIMIZERSIZE STRIPDEBUG MAPHUNK MAPSYMBOLS
STRINGSECTION=CODE NOOPTIMIZERINLINELOCAL NOOPTIMIZERSCHEDULER NOOPTIMIZERALIAS
LIBRARYCODE LIBRARYFDFILE=trcl/trcl.fd
<
trcl/null.trcl: trcl/trcl.o trcl/trcl.fd
sc to trcl/null.trcl with <<
NOMODIFIED OPTIMIZE STRINGSCONST OPTIMIZERSIZE STRIPDEBUG MAPHUNK MAPSYMBOLS
LIBRARYCODE STRINGSECTION=CODE NOOPTIMIZERINLINELOCAL NOOPTIMIZERSCHEDULER NOOPTIMIZERALIAS
LIBRARYFDFILE=trcl/trcl.fd from trcl/trcl.o startup=libinit link
<
delete trcl/\#?.lnk
sc:c/fd2pragma trcl/trcl.fd trcl/trcl_pragmas.h
copy trcl/null.trcl libs:triton/
flushlibs
########################################################################################### Make the demos ##
demos/Demo: demos/demo.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/demo.c TO demos/Demo
delete demos/Demo.lnk demos/demo.o
demos/EnvPrint: demos/envprint.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/envprint.c TO demos/EnvPrint
delete demos/EnvPrint.lnk demos/envprint.o
demos/trLogo: demos/trLogo.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/trLogo.c TO demos/trLogo
delete demos/trLogo.lnk demos/trLogo.o
demos/CustomClass: demos/customclass.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib MATH=standard demos/customclass.c TO demos/CustomClass
delete demos/CustomClass.lnk demos/customclass.o
demos/ToolManager1: demos/ToolManager1.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/ToolManager1.c TO demos/ToolManager1
delete demos/ToolManager1.lnk demos/ToolManager1.o
demos/ToolManager2: demos/ToolManager2.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/ToolManager2.c TO demos/ToolManager2
delete demos/ToolManager2.lnk demos/ToolManager2.o
demos/ToolManager3: demos/ToolManager3.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/ToolManager3.c TO demos/ToolManager3
delete demos/ToolManager3.lnk demos/ToolManager3.o
demos/ProgInd: demos/progind.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib demos/progind.c TO demos/ProgInd
delete demos/ProgInd.lnk demos/progind.o
############################################################################################### Benchmarks ##
bench/bench: bench/bench.c lib/triton.lib incl
sc LINK LIB=lib/triton.lib bench/bench.c TO bench/bench
delete bench/bench.lnk bench/bench.o
################################################################################################## Classes ##
#### v37 ####
obj37/object.o: classes/object.c
$(COMPILE) classes/object.c $(OS37)
obj37/displayobject.o: classes/displayobject.c
$(COMPILE) classes/displayobject.c $(OS37)
obj37/group.o: classes/group.c
$(COMPILE) classes/group.c $(OS37)
obj37/line.o: classes/line.c
$(COMPILE) classes/line.c $(OS37)
obj37/space.o: classes/space.c
$(COMPILE) classes/space.c $(OS37)
obj37/checkbox.o: classes/checkbox.c
$(COMPILE) classes/checkbox.c $(OS37)
obj37/text.o: classes/text.c
$(COMPILE) classes/text.c $(OS37)
obj37/button.o: classes/button.c
$(COMPILE) classes/button.c $(OS37)
obj37/framebox.o: classes/framebox.c
$(COMPILE) classes/framebox.c $(OS37)
obj37/dropbox.o: classes/dropbox.c
$(COMPILE) classes/dropbox.c $(OS37)
obj37/listview.o: classes/listview.c
$(COMPILE) classes/listview.c $(OS37)
obj37/palette.o: classes/palette.c
$(COMPILE) classes/palette.c $(OS37)
obj37/slider.o: classes/slider.c
$(COMPILE) classes/slider.c $(OS37)
obj37/scroller.o: classes/scroller.c
$(COMPILE) classes/scroller.c $(OS37)
obj37/cycle.o: classes/cycle.c
$(COMPILE) classes/cycle.c $(OS37)
obj37/string.o: classes/string.c
$(COMPILE) classes/string.c $(OS37)
obj37/progress.o: classes/progress.c
$(COMPILE) classes/progress.c $(OS37)
obj37/image.o: classes/image.c
$(COMPILE) classes/image.c $(OS37)
obj37/dragitem.o: classes/dragitem.c
$(COMPILE) classes/dragitem.c $(OS37)
#### v39 ####
obj39/object.o: classes/object.c
$(COMPILE) classes/object.c $(OS39)
obj39/displayobject.o: classes/displayobject.c
$(COMPILE) classes/displayobject.c $(OS39)
obj39/group.o: classes/group.c
$(COMPILE) classes/group.c $(OS39)
obj39/line.o: classes/line.c
$(COMPILE) classes/line.c $(OS39)
obj39/space.o: classes/space.c
$(COMPILE) classes/space.c $(OS39)
obj39/checkbox.o: classes/checkbox.c
$(COMPILE) classes/checkbox.c $(OS39)
obj39/text.o: classes/text.c
$(COMPILE) classes/text.c $(OS39)
obj39/button.o: classes/button.c
$(COMPILE) classes/button.c $(OS39)
obj39/framebox.o: classes/framebox.c
$(COMPILE) classes/framebox.c $(OS39)
obj39/dropbox.o: classes/dropbox.c
$(COMPILE) classes/dropbox.c $(OS39)
obj39/listview.o: classes/listview.c
$(COMPILE) classes/listview.c $(OS39)
obj39/palette.o: classes/palette.c
$(COMPILE) classes/palette.c $(OS39)
obj39/slider.o: classes/slider.c
$(COMPILE) classes/slider.c $(OS39)
obj39/scroller.o: classes/scroller.c
$(COMPILE) classes/scroller.c $(OS39)
obj39/cycle.o: classes/cycle.c
$(COMPILE) classes/cycle.c $(OS39)
obj39/string.o: classes/string.c
$(COMPILE) classes/string.c $(OS39)
obj39/progress.o: classes/progress.c
$(COMPILE) classes/progress.c $(OS39)
obj39/image.o: classes/image.c
$(COMPILE) classes/image.c $(OS39)
obj39/dragitem.o: classes/dragitem.c
$(COMPILE) classes/dragitem.c $(OS39)
############################################################################################# Prefs system ##
prefs/Triton: prefs/Triton.c lib/triton.lib incl catalogs/tritonprefs.o
sc LINK LIB=lib/triton.lib LIB=lib:reqtools.lib prefs/Triton.c catalogs/tritonprefs.o TO prefs/Triton
delete prefs/Triton.lnk prefs/Triton.o
copy prefs/Triton sys:prefs/
prefs/trPrefsUpdate: prefs/trPrefsUpdate.c lib/triton.lib incl
sc LINK prefs/trPrefsUpdate.c TO prefs/trPrefsUpdate
delete prefs/trPrefsUpdate.lnk prefs/trPrefsUpdate.o
################################################################################################# Catalogs ##
cat_deutsch: catalogs/deutsch/tritonprefs.catalog catalogs/deutsch/triton.catalog
catalogs/deutsch/tritonprefs.catalog: catalogs/tritonprefs.cd catalogs/deutsch/tritonprefs.ct
catcomp DESCRIPTOR=catalogs/tritonprefs.cd TRANSLATION=catalogs/deutsch/tritonprefs.ct \
CATALOG=catalogs/deutsch/tritonprefs.catalog VB=1
copy catalogs/deutsch/tritonprefs.catalog locale:catalogs/deutsch/
avail flush >NIL:
catalogs/deutsch/triton.catalog: catalogs/triton.cd catalogs/deutsch/triton.ct
catcomp DESCRIPTOR=catalogs/triton.cd TRANSLATION=catalogs/deutsch/triton.ct \
CATALOG=catalogs/deutsch/triton.catalog VB=1
copy catalogs/deutsch/triton.catalog locale:catalogs/deutsch/
avail flush >NIL:
catalogs/tritonprefs.o: catalogs/tritonprefs.cd
catcomp DESCRIPTOR=catalogs/tritonprefs.cd CFILE=catalogs/tritonprefs.h \
OBJFILE=catalogs/tritonprefs.o VB=1
catalogs/triton.o: catalogs/triton.cd
catcomp DESCRIPTOR=catalogs/triton.cd CFILE=catalogs/triton.h OBJFILE=catalogs/triton.o VB=1
ctemp: catalogs/tritonprefs.ct catalogs/triton.ct
catalogs/tritonprefs.ct: catalogs/tritonprefs.cd
catcomp DESCRIPTOR=catalogs/tritonprefs.cd CTFILE=catalogs/tritonprefs.ct VB=1
catalogs/triton.ct: catalogs/triton.cd
catcomp DESCRIPTOR=catalogs/triton.cd CTFILE=catalogs/triton.ct VB=1
######################################################################################### Class management ##
include/libraries/triton.h: parts/libraries_triton_1.h parts/libraries_triton_1.h classes
join parts/libraries_triton_1.h classes/\#?.pub1 classes/\#?.pub2 classes/\#?.pub3 \
parts/libraries_triton_2.h \
to include/libraries/triton.h
incl: include/libraries/triton.h include/pragmas/triton_pragmas.h
copy include include: all
copy include/clib/\#? GNU:os-include/clib/
copy include/libraries/\#? GNU:os-include/libraries/
################################################################################################## Install ##
clean: cleandoc
-delete obj37/\#? obj39/\#? include/libraries/\#?.h libs37/\#? libs39/\#? \
doc/\#?.dvi doc/\#?.guide doc/triton.adoc prefs/Triton prefs/trPrefsUpdate $(DEMOS) \
trcl/\#?.o trcl/\#?.trcl
cleandoc:
-delete doc/\#?.info doc/\#?.log doc/\#?.aux doc/\#?.toc doc/\#?.cp doc/\#?.fn doc/\#?.vr \
doc/\#?.tp doc/\#?.ky doc/\#?.pg doc/\#?.cps
install: installclean # all
execute installation/install
pack: # install
execute installation/pack
installclean:
-delete ram:Triton\#? all