home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 106
/
af106sub.adf
/
datatypes.LZX
/
16sv_datatype
/
smakefile
< prev
next >
Wrap
Makefile
|
1997-11-09
|
5KB
|
146 lines
#******************************************************************************
#*
#* $VER: SMakefile 1.2 (9.11.97)
#* 16sv.datatype 1.2
#*
#* SAS/C makefile for 16sv.datatype
#*
#* Written 1997 by Roland 'Gizzy' Mainz
#* Original example source from David N. Junod
#*
#******************************************************************************
MODNAME = 16sv.datatype
VERSION = 1
LD_FILE = $(DEST)$(MODNAME).ld
LD_STRIP = $(DEST)$(MODNAME)
C_COMPILER = SC
C_COMPILER_OPTS = ANSI STRICT PARAMETERS=REGISTER UNSIGNEDCHARS CODE=NEAR DATA=NEAR NOSTACKCHECK NOMULTIPLEINCLUDES STRINGMERGE VERBOSE NOICONS MEMORYSIZE=HUGE ERRORREXX
C_COMPILER_DEBUG = DEBUG=LINE IGNORE=165 # DEFINE=NO_ENCODER # set this if you won't implement an encoder in yur datatype
C_COMPILER_OPTIMIZE = OPTIMIZE OPTIMIZERINLINE OPTIMIZERINLINELOCAL OPTIMIZETIME
ASSEMBLER = a68k
ASSEMBLER_OPTS = -iinclude31: -o
LINKER = SLINK
LINKER_OPTS = ADDSYM SMALLCODE SMALLDATA MAP "$(DEST)$(MODNAME).map" HLSXF PLAIN SWIDTH 16 VERBOSE
LINKER_OPTS_STRIP = STRIPDEBUG VERBOSE
C_SOURCES = classbase.c stackswap.c dispatch.c
ASM_SOURCES = classinit.asm endcode.asm
OBJECTS = $(DEST)classinit.o $(DEST)classbase.o $(DEST)stackswap.o $(DEST)dispatch.o $(DEST)endcode.o
STARTUP =
LIBS = dlib:amiga31s.lib SC:lib/sc.lib ${LIBS2}
############################################################################################################################################################
# Rebuild the project...
#
all: do000 do020 do040 do060 $(MODNAME).doc
do000:
smake "DEST=000/" _app
do020:
smake "DEST=020/" "C_COMPILER_SPECIALCPU=CPU=68020" "C_COMPILER_SPECIALFLAGS=DEFINE REQUIREDAFF=AFF_68020" _app
do040:
smake "DEST=040/" "C_COMPILER_SPECIALCPU=CPU=68040" "C_COMPILER_SPECIALFLAGS=DEFINE REQUIREDAFF=AFF_68040" _app
do060:
smake "DEST=060/" "C_COMPILER_SPECIALCPU=CPU=68060" "C_COMPILER_SPECIALFLAGS=DEFINE REQUIREDAFF=AFF_68060" _app
# entry for recusive make calls (internal target)
_app: $(LD_STRIP)
############################################################################################################################################################
# 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_COMPILER_DEBUG) $(C_COMPILER_OPTIMIZE) $(C_COMPILER_SPECIALFLAGS) $(C_COMPILER_SPECIALCPU) "$*.c" OBJECTNAME="$@"
.asm.o:
$(ASSEMBLER) $*.asm $(ASSEMBLER_OPTS)$@
############################################################################################################################################################
# All dependencies...
#
$(DEST)classinit.o: classinit.asm $(MODNAME)_rev.rev classbase.i
$(DEST)classbase.o: classbase.c classbase.h
$(C_COMPILER) $(C_COMPILER_OPTS) $(C_COMPILER_DEBUG) $(C_COMPILER_OPTIMIZE) $(C_COMPILER_SPECIALFLAGS) "$*.c" OBJECTNAME="$@"
$(DEST)stackswap.o: stackswap.c classbase.h classdata.h
$(DEST)dispatch.o: dispatch.c classbase.h classdata.h
$(DEST)endcode.o: endcode.asm
############################################################################################################################################################
# Make protos
#
protos:
MKProto $(C_SOURCES) TO class_iprotos.h
############################################################################################################################################################
# Bump the version...
#
version:
BumpRev $(VERSION) $(MODNAME)
############################################################################################################################################################
# Delete all object files
#
clean: 000/clean 020/clean 040/clean 060/clean
000/clean:
smake "DEST=000/" _clean
020/clean:
smake "DEST=020/" _clean
040/clean:
smake "DEST=040/" _clean
060/clean:
smake "DEST=060/" _clean
_clean: # smakefile internal target
-Delete $(OBJECTS)
-Delete $(LD_FILE) $(LD_STRIP) $(DEST)$(MODNAME).map(%|info) \#?.BAK
############################################################################################################################################################
# Build autodoc
#
$(MODNAME).doc: $(C_SOURCES)
Autodoc -I -C >$(MODNAME).doc $(C_SOURCES)
############################################################################################################################################################
# Install the current build locally
#
install:
Copy CLONE FROM $(LD_STRIP) TO SYS:Classes/DataTypes/$(MODNAME)
Avail FLUSH