ocaml/maccaml/WASTE/Makefile

508 lines
16 KiB
Makefile

#########################################################################
# #
# Objective Caml #
# #
# Damien Doligez, projet Para, INRIA Rocquencourt #
# #
# Copyright 1999 Institut National de Recherche en Informatique et #
# en Automatique. All rights reserved. This file is distributed #
# under the terms of the Q Public License version 1.0. #
# #
#########################################################################
# $Id$
# Makefile for the WASTE library (version 1.3)
# Put this makefile into the "WASTE 1.3 Distribution" folder.
# If you type "Make all", it will build five files:
#
# WASTELib.o the WASTE library (classic 68k version)
# WASTELib.CFMo the WASTE library (CFM 68k version)
# WASTELib.x the WASTE library (PPC version)
# "WASTE Demo (CFM)" the demo application (CFM 68k and CFM PPC)
# "WASTE Demo (classic)" the demo application (classic 68k and CFM PPC)
# You can easily change the WASTE options, the compiler options, and the
# libraries to suit your needs. (see below)
#### WASTE Options. See ":WASTE 1.3:Private Includes:WASTEIntf.h" for details.
# The defaults are shown here.
#WEDefs = -d WASTE_DEBUG=0 ¶
# -d WASTE_OBJECTS=1 ¶
# -d WASTE_TSM_SUPPORT=1 ¶
# -d WASTE_DRAG_AND_DROP=1 ¶
# -d WASTE_USE_UPPS=GENERATINGCFM ¶
# -d WASTE_NO_SYNCH=0 ¶
# -d WASTE_NO_RO_CARET=1 ¶
# -d WASTE_IC_SUPPORT=1 ¶
# -d WASTE_OBJECTS_ARE_GLYPHS=0 ¶
# -d WASTE_RESOLVE_FONT_DESIGNATORS=1 ¶
# -d WASTE_WECALTEXT_DOES_REDRAW=0 ¶
# -d WASTE_TRANSLUCENT_DRAGS=0
WEDefs = -d WASTE_DEBUG=0
-d WASTE_OBJECTS=0
-d WASTE_TSM_SUPPORT=0
-d WASTE_DRAG_AND_DROP=1
-d WASTE_USE_UPPS=GENERATINGCFM ¶
-d WASTE_NO_SYNCH=0
-d WASTE_NO_RO_CARET=0
-d WASTE_IC_SUPPORT=0
-d WASTE_OBJECTS_ARE_GLYPHS=0
-d WASTE_RESOLVE_FONT_DESIGNATORS=1
-d WASTE_WECALTEXT_DOES_REDRAW=0
-d WASTE_TRANSLUCENT_DRAGS=0
#### Compilers and their options.
# Uncomment this definition to get a debugging version of the library.
debugflag = -sym on
# Classic 68k
C = sc
COptions = {Defs} {Incl} -model far -w 17 -proto strict {debugflag}
#C = mwc68k
#COptions = {Defs} {Incl} -model far
# CFM 68k
CFMC = sc
CFMCOptions = {Defs} {Incl} -model cfmflat -w 17 -proto strict {debugflag}
#CFMC = {c}
#CFMCOptions = {coptions}
# PPC
PPCC = mrc
PPCCOptions = {Defs} {Incl} -w 35 -sym on
#### Libraries for the demo application
Libs = "{libraries}MacRuntime.o"
"{clibraries}StdCLib.far.o"
"{libraries}Interface.o"
#Libs = "{mw68klibraries}macos.lib" ¶
# "{mw68klibraries}ANSI (N/4i/8d) C.68K.Lib"
CFMLibs = "{CFM68kLibraries}NuMacRuntime.o"
"{sharedlibraries}StdCLib"
"{sharedlibraries}DragLib"
"{sharedlibraries}InterfaceLib"
#CFMLibs = {Libs}
PPCLibs = "{ppclibraries}PPCCRuntime.o"
"{sharedlibraries}StdCLib"
"{ppclibraries}StdCRuntime.o"
"{sharedlibraries}DragLib"
"{sharedlibraries}InterfaceLib"
#### Common definitions
# Compiler options
Incl = -i ":WASTE C/C++ Headers:" {OHIncl} {WEIncl} {WDIncl} {WTIncl}
Defs = {WEDefs} -d inline=static
#### Main target
all Ä everything
#### :WASTE 1.3:
WEObj =
':WASTE 1.3:Source:WEAccessors.c.o'
':WASTE 1.3:Source:WEBirthDeath.c.o'
':WASTE 1.3:Source:WEDebug.c.o'
':WASTE 1.3:Source:WEDrawing.c.o'
':WASTE 1.3:Source:WEFontTables.c.o'
':WASTE 1.3:Source:WEHighLevelEditing.c.o'
':WASTE 1.3:Source:WEICGlue.c.o'
':WASTE 1.3:Source:WEInlineInput.c.o'
':WASTE 1.3:Source:WELineLayout.c.o'
':WASTE 1.3:Source:WELongCoords.c.o'
':WASTE 1.3:Source:WELowLevelEditing.c.o'
':WASTE 1.3:Source:WEMouse.c.o'
':WASTE 1.3:Source:WEObjects.c.o'
':WASTE 1.3:Source:WEScraps.c.o'
':WASTE 1.3:Source:WESelecting.c.o'
':WASTE 1.3:Source:WESelectors.c.o'
':WASTE 1.3:Source:WEUserSelectors.c.o'
':WASTE 1.3:Source:WEUtilities.c.o'
WECFMObj =
':WASTE 1.3:Source:WEAccessors.c.CFMo'
':WASTE 1.3:Source:WEBirthDeath.c.CFMo'
':WASTE 1.3:Source:WEDebug.c.CFMo'
':WASTE 1.3:Source:WEDrawing.c.CFMo'
':WASTE 1.3:Source:WEFontTables.c.CFMo'
':WASTE 1.3:Source:WEHighLevelEditing.c.CFMo'
':WASTE 1.3:Source:WEICGlue.c.CFMo'
':WASTE 1.3:Source:WEInlineInput.c.CFMo'
':WASTE 1.3:Source:WELineLayout.c.CFMo'
':WASTE 1.3:Source:WELongCoords.c.CFMo'
':WASTE 1.3:Source:WELowLevelEditing.c.CFMo'
':WASTE 1.3:Source:WEMouse.c.CFMo'
':WASTE 1.3:Source:WEObjects.c.CFMo'
':WASTE 1.3:Source:WEScraps.c.CFMo'
':WASTE 1.3:Source:WESelecting.c.CFMo'
':WASTE 1.3:Source:WESelectors.c.CFMo'
':WASTE 1.3:Source:WEUserSelectors.c.CFMo'
':WASTE 1.3:Source:WEUtilities.c.CFMo'
WEPPCObj =
':WASTE 1.3:Source:WEAccessors.c.x'
':WASTE 1.3:Source:WEBirthDeath.c.x'
':WASTE 1.3:Source:WEDebug.c.x'
':WASTE 1.3:Source:WEDrawing.c.x'
':WASTE 1.3:Source:WEFontTables.c.x'
':WASTE 1.3:Source:WEHighLevelEditing.c.x'
':WASTE 1.3:Source:WEICGlue.c.x'
':WASTE 1.3:Source:WEInlineInput.c.x'
':WASTE 1.3:Source:WELineLayout.c.x'
':WASTE 1.3:Source:WELongCoords.c.x'
':WASTE 1.3:Source:WELowLevelEditing.c.x'
':WASTE 1.3:Source:WEMouse.c.x'
':WASTE 1.3:Source:WEObjects.c.x'
':WASTE 1.3:Source:WEScraps.c.x'
':WASTE 1.3:Source:WESelecting.c.x'
':WASTE 1.3:Source:WESelectors.c.x'
':WASTE 1.3:Source:WEUserSelectors.c.x'
':WASTE 1.3:Source:WEUtilities.c.x'
WEIncl = -i ":WASTE 1.3:Private Includes:"
-i ":WASTE 1.3:Internet Config Headers:"
WETarg = WASTELib.o WASTELib.CFMo WASTELib.x
WASTELib.o Ä {WEObj}
lib -o WASTELib.o {WEObj}
WASTELib.CFMo Ä {WECFMObj}
lib -o WASTELib.CFMo {WECFMObj}
WASTELib.x Ä {WEPPCObj}
ppclink {debugflag} -xm library -o WASTELib.x {WEPPCObj}
clean ÄÄ
delete -i {WEObj} {WECFMObj} {WEPPCObj} {WETarg}
#### :Extras:Sample Object Handlers:
OHObj = ":Extras:Sample Object Handlers:WEObjectHandlers.c.o"
OHCFMObj = ":Extras:Sample Object Handlers:WEObjectHandlers.c.CFMo"
OHPPCObj = ":Extras:Sample Object Handlers:WEObjectHandlers.c.x"
OHIncl = -i ":Extras:Sample Object Handlers:"
OHTarg = {OHObj} {OHCFMObj} {OHPPCObj}
clean ÄÄ
delete -i {OHTarg}
#### :Extras:WASTE Tabs 1.3.2:
WTObj =
":Extras:WASTE Tabs 1.3.2:WETabs.c.o"
":Extras:WASTE Tabs 1.3.2:WETabHooks.c.o"
WTCFMObj =
":Extras:WASTE Tabs 1.3.2:WETabs.c.CFMo"
":Extras:WASTE Tabs 1.3.2:WETabHooks.c.CFMo"
WTPPCObj =
":Extras:WASTE Tabs 1.3.2:WETabs.c.x"
":Extras:WASTE Tabs 1.3.2:WETabHooks.c.x"
WTIncl = -i ":Extras:Waste Tabs 1.3.2:"
WTTarg = {WTObj} {WTCFMObj} {WTPPCObj}
clean ÄÄ
delete -i {WTTarg}
#### :Demo:Source:
WDObj =
:Demo:Source:DialogUtils.c.o ¶
:Demo:Source:LongControls.c.o ¶
':Demo:Source:SmartScroll Stuff:SmartScroll.c.o'
:Demo:Source:WEDemoAbout.c.o ¶
:Demo:Source:WEDemoDrags.c.o ¶
:Demo:Source:WEDemoEvents.c.o ¶
:Demo:Source:WEDemoFiles.c.o ¶
:Demo:Source:WEDemoInit.c.o ¶
:Demo:Source:WEDemoIntf.c.o ¶
:Demo:Source:WEDemoMain.c.o ¶
:Demo:Source:WEDemoMenus.c.o ¶
:Demo:Source:WEDemoScripting.c.o ¶
:Demo:Source:WEDemoWindows.c.o ¶
:Demo:Source:qd.c.o ¶
WDLibs = WASTELib.o {WTObj} {OHObj}
WDCFMObj =
:Demo:Source:DialogUtils.c.CFMo ¶
:Demo:Source:LongControls.c.CFMo ¶
':Demo:Source:SmartScroll Stuff:SmartScroll.c.CFMo'
:Demo:Source:WEDemoAbout.c.CFMo ¶
:Demo:Source:WEDemoDrags.c.CFMo ¶
:Demo:Source:WEDemoEvents.c.CFMo ¶
:Demo:Source:WEDemoFiles.c.CFMo ¶
:Demo:Source:WEDemoInit.c.CFMo ¶
:Demo:Source:WEDemoIntf.c.CFMo ¶
:Demo:Source:WEDemoMain.c.CFMo ¶
:Demo:Source:WEDemoMenus.c.CFMo ¶
:Demo:Source:WEDemoScripting.c.CFMo ¶
:Demo:Source:WEDemoWindows.c.CFMo ¶
:Demo:Source:qd.c.CFMo ¶
WDCFMLibs = WASTELib.CFMo {WTCFMObj} {OHCFMObj}
WDPPCObj =
:Demo:Source:DialogUtils.c.x ¶
:Demo:Source:LongControls.c.x ¶
':Demo:Source:SmartScroll Stuff:SmartScroll.c.x'
:Demo:Source:WEDemoAbout.c.x ¶
:Demo:Source:WEDemoDrags.c.x ¶
:Demo:Source:WEDemoEvents.c.x ¶
:Demo:Source:WEDemoFiles.c.x ¶
:Demo:Source:WEDemoInit.c.x ¶
:Demo:Source:WEDemoIntf.c.x ¶
:Demo:Source:WEDemoMain.c.x ¶
:Demo:Source:WEDemoMenus.c.x ¶
:Demo:Source:WEDemoScripting.c.x ¶
:Demo:Source:WEDemoWindows.c.x ¶
:Demo:Source:qd.c.x ¶
WDPPCLibs = WASTELib.x {WTPPCObj} {OHPPCObj}
WDIncl = -i ":Demo:Source:" -i ":Demo:Source:SmartScroll Stuff:"
WDTarg = "WASTE Demo (classic)" "WASTE Demo (CFM)"
:Demo:Source:qd.c Ä
echo "#include <QuickDraw.h>¶nQDGlobals qd;¶n" > :Demo:Source:qd.c
:Demo:Source:size.r Ä
begin
echo '#include "Types.r"'
echo 'resource '''SIZE'¶'' (-1) {'
echo 'reserved,'
echo 'acceptSuspendResumeEvents,'
echo 'reserved,'
echo 'canBackground,'
echo 'multiFinderAware,'
echo 'backgroundAndForeground,'
echo 'dontGetFrontClicks,'
echo 'ignoreChildDiedEvents,'
echo 'is32BitCompatible,'
echo 'isHighLevelEventAware,'
echo 'localAndRemoteHLEvents,'
echo 'notStationeryAware,'
echo 'dontUseTextEditServices,'
echo 'reserved,'
echo 'reserved,'
echo 'reserved,'
echo '262144,'
echo '196608'
echo '};'
end > :Demo:Source:size.r
"WASTE Demo (classic)" ÄÄ {WDObj} {WDLibs}
ilink -c OEDE {WDObj} {WDLibs} {Libs} -o "WASTE Demo (classic)"
-model far -compact -pad 0 -state nouse
"WASTE Demo (classic)" ÄÄ {WDPPCObj} {WDPPCLibs}
ppclink -c OEDE {WDPPCObj} {WDPPCLibs} {PPCLibs}
-fragname 'WASTE Demo PPC' -sym on
mergefragment -z PPCLink.out "WASTE Demo (classic)"
delete -i PPCLink.out
rename -y PPCLink.out.xcoff "WASTE Demo (classic).xcoff"
"WASTE Demo (classic)" ÄÄ :Demo:Source:WEDemo.rsrc :Demo:Source:size.r
begin
echo 'include ":Demo:Source:WEDemo.rsrc";'
echo '#include ":Demo:Source:size.r"'
end | rez -a -c OEDE -o "WASTE Demo (classic)"
setfile -a Bi "WASTE Demo (classic)"
"WASTE Demo (CFM)" ÄÄ {WDCFMObj} {WDCFMLibs}
ilink -c OEDE {WDCFMObj} {WDCFMLibs} {CFMLibs} -o "WASTE Demo (CFM)"
-model cfmseg -state nouse -fragname 'WASTE Demo 68k'
"WASTE Demo (CFM)" ÄÄ {WDPPCObj} {WDPPCLibs}
ppclink -c OEDE {WDPPCObj} {WDPPCLibs} {PPCLibs}
-fragname 'WASTE Demo PPC' -sym on
mergefragment -z PPCLink.out "WASTE Demo (CFM)"
delete -i PPCLink.out
rename -y PPCLink.out.xcoff "WASTE Demo (CFM).xcoff"
"WASTE Demo (CFM)" ÄÄ :Demo:Source:WEDemo.rsrc :Demo:Source:size.r
begin
echo 'include ":Demo:Source:WEDemo.rsrc";'
echo '#include ":Demo:Source:size.r";'
end | rez -a -c OEDE -o "WASTE Demo (CFM)"
setfile -a Bi "WASTE Demo (CFM)"
clean ÄÄ
delete -i {WDObj} {WDCFMObj} {WDPPCObj} {WDTarg}
delete -i :Demo:Source:size.r :Demo:Source:qd.c
delete -i "WASTE Demo (CFM).xcoff" "WASTE Demo (classic).xcoff"
#### Main target (continued)
everything Ä {OHTarg} {WETarg} {WDTarg}
#### Default rule for CFM-68k compilation.
.c.CFMo Ä .c
{CFMC} {depdir}{default}.c -o {targdir}{default}.c.CFMo {CFMCOptions}
#### Dependencies
':Extras:Sample Object Handlers:WEObjectHandlers.c.o'
':Extras:Sample Object Handlers:WEObjectHandlers.c.CFMo'
':Extras:Sample Object Handlers:WEObjectHandlers.c.x'
Ä ":Extras:Sample Object Handlers:WEObjectHandlers.h" ¶
":WASTE C/C++ Headers:WASTE.h"
":WASTE C/C++ Headers:LongCoords.h"
':WASTE 1.3:Source:WEAccessors.c.o'
':WASTE 1.3:Source:WEAccessors.c.CFMo'
':WASTE 1.3:Source:WEAccessors.c.x'
':WASTE 1.3:Source:WEBirthDeath.c.o'
':WASTE 1.3:Source:WEBirthDeath.c.CFMo'
':WASTE 1.3:Source:WEBirthDeath.c.x'
':WASTE 1.3:Source:WEDebug.c.o'
':WASTE 1.3:Source:WEDebug.c.CFMo'
':WASTE 1.3:Source:WEDebug.c.x'
':WASTE 1.3:Source:WEDrawing.c.o'
':WASTE 1.3:Source:WEDrawing.c.CFMo'
':WASTE 1.3:Source:WEDrawing.c.x'
':WASTE 1.3:Source:WEFontTables.c.o'
':WASTE 1.3:Source:WEFontTables.c.CFMo'
':WASTE 1.3:Source:WEFontTables.c.x'
':WASTE 1.3:Source:WEHighLevelEditing.c.o'
':WASTE 1.3:Source:WEHighLevelEditing.c.CFMo'
':WASTE 1.3:Source:WEHighLevelEditing.c.x'
':WASTE 1.3:Source:WEICGlue.c.o'
':WASTE 1.3:Source:WEICGlue.c.CFMo'
':WASTE 1.3:Source:WEICGlue.c.x'
':WASTE 1.3:Source:WEInlineInput.c.o'
':WASTE 1.3:Source:WEInlineInput.c.CFMo'
':WASTE 1.3:Source:WEInlineInput.c.x'
':WASTE 1.3:Source:WELineLayout.c.o'
':WASTE 1.3:Source:WELineLayout.c.CFMo'
':WASTE 1.3:Source:WELineLayout.c.x'
':WASTE 1.3:Source:WELongCoords.c.o'
':WASTE 1.3:Source:WELongCoords.c.CFMo'
':WASTE 1.3:Source:WELongCoords.c.x'
':WASTE 1.3:Source:WELowLevelEditing.c.o'
':WASTE 1.3:Source:WELowLevelEditing.c.CFMo'
':WASTE 1.3:Source:WELowLevelEditing.c.x'
':WASTE 1.3:Source:WEMouse.c.o'
':WASTE 1.3:Source:WEMouse.c.CFMo'
':WASTE 1.3:Source:WEMouse.c.x'
':WASTE 1.3:Source:WEObjects.c.o'
':WASTE 1.3:Source:WEObjects.c.CFMo'
':WASTE 1.3:Source:WEObjects.c.x'
':WASTE 1.3:Source:WEScraps.c.o'
':WASTE 1.3:Source:WEScraps.c.CFMo'
':WASTE 1.3:Source:WEScraps.c.x'
':WASTE 1.3:Source:WESelecting.c.o'
':WASTE 1.3:Source:WESelecting.c.CFMo'
':WASTE 1.3:Source:WESelecting.c.x'
':WASTE 1.3:Source:WESelectors.c.o'
':WASTE 1.3:Source:WESelectors.c.CFMo'
':WASTE 1.3:Source:WESelectors.c.x'
':WASTE 1.3:Source:WEUserSelectors.c.o'
':WASTE 1.3:Source:WEUserSelectors.c.CFMo'
':WASTE 1.3:Source:WEUserSelectors.c.x'
':WASTE 1.3:Source:WEUtilities.c.o'
':WASTE 1.3:Source:WEUtilities.c.CFMo'
':WASTE 1.3:Source:WEUtilities.c.x'
Ä ":WASTE 1.3:Private Includes:WASTEIntf.h" ¶
":WASTE 1.3:Private Includes:LongCoords.h"
":WASTE 1.3:Source:WEMouse.c.o"
":WASTE 1.3:Source:WEMouse.c.CFMo"
":WASTE 1.3:Source:WEMouse.c.x"
Ä ":Waste 1.3:Internet Config Headers:ICTypes.h" ¶
":Waste 1.3:Internet Config Headers:ICAPI.h"
":WASTE 1.3:Source:WEICGlue.c.o"
":WASTE 1.3:Source:WEICGlue.c.CFMo"
":WASTE 1.3:Source:WEICGlue.c.x"
Ä ":Waste 1.3:Internet Config Headers:ICComponentSelectors.h" ¶
":Waste 1.3:Internet Config Headers:ICAPI.h"
:Demo:Source:DialogUtils.c.o
:Demo:Source:DialogUtils.c.CFMo
:Demo:Source:DialogUtils.c.x
:Demo:Source:LongControls.c.o
:Demo:Source:LongControls.c.CFMo
:Demo:Source:LongControls.c.x
:Demo:Source:WEDemoAbout.c.o
:Demo:Source:WEDemoAbout.c.CFMo
:Demo:Source:WEDemoAbout.c.x
:Demo:Source:WEDemoDrags.c.o
:Demo:Source:WEDemoDrags.c.CFMo
:Demo:Source:WEDemoDrags.c.x
:Demo:Source:WEDemoEvents.c.o
:Demo:Source:WEDemoEvents.c.CFMo
:Demo:Source:WEDemoEvents.c.x
:Demo:Source:WEDemoFiles.c.o
:Demo:Source:WEDemoFiles.c.CFMo
:Demo:Source:WEDemoFiles.c.x
:Demo:Source:WEDemoInit.c.o
:Demo:Source:WEDemoInit.c.CFMo
:Demo:Source:WEDemoInit.c.x
:Demo:Source:WEDemoIntf.c.o
:Demo:Source:WEDemoIntf.c.CFMo
:Demo:Source:WEDemoIntf.c.x
:Demo:Source:WEDemoMain.c.o
:Demo:Source:WEDemoMain.c.CFMo
:Demo:Source:WEDemoMain.c.x
:Demo:Source:WEDemoMenus.c.o
:Demo:Source:WEDemoMenus.c.CFMo
:Demo:Source:WEDemoMenus.c.x
:Demo:Source:WEDemoScripting.c.o
:Demo:Source:WEDemoScripting.c.CFMo
:Demo:Source:WEDemoScripting.c.x
:Demo:Source:WEDemoWindows.c.o
:Demo:Source:WEDemoWindows.c.CFMo
:Demo:Source:WEDemoWindows.c.x
Ä ":Demo:Source:WEDemoIntf.h" ¶
":WASTE C/C++ Headers:WASTE.h"
:Demo:Source:WEDemoInit.c.o
:Demo:Source:WEDemoInit.c.CFMo
:Demo:Source:WEDemoInit.c.x
Ä ":Demo:Source:SmartScroll Stuff:SmartScroll.h" ¶
":Extras:Sample Object Handlers:WEObjectHandlers.h"
:Demo:Source:WEDemoMenus.c.o
:Demo:Source:WEDemoMenus.c.CFMo
:Demo:Source:WEDemoMenus.c.x
Ä ":Extras:WASTE Tabs 1.3.2:WETabs.h"
:Demo:Source:WEDemoWindows.c.o
:Demo:Source:WEDemoWindows.c.CFMo
:Demo:Source:WEDemoWindows.c.x
Ä ":WASTE C/C++ Headers:LongCoords.h" ¶
":Demo:Source:SmartScroll Stuff:SmartScroll.h"
':Demo:Source:SmartScroll Stuff:SmartScroll.c.o'
':Demo:Source:SmartScroll Stuff:SmartScroll.c.CFMo'
':Demo:Source:SmartScroll Stuff:SmartScroll.c.x'
Ä ':Demo:Source:SmartScroll Stuff:SmartScroll.h'