home *** CD-ROM | disk | FTP | other *** search
Makefile | 1997-11-09 | 5.2 KB | 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
-
-