################################################################################ ## TT8.MAK -- General Tattletale Model 8 makefile template (Aztec C PC Version) ## ## Copyright 1994 ONSET Computer Corp. All rights reserved. ## ## Saturday, April 30, 1994 --mah/jhg ## ## This makefile generates S record hex files for both testing in RAM (.RHX) ## and burnable applications for flash EEPROM (.AHX) from a command line ## invocation, or can be used as a template for new projects by filling in ## the blank macros at the top of this file. ## ## Usage: ## make -f \tt8\bin\tt8.mak MAIN=mymain 1=myoth1 2=myoth2 ## or: ## make (if you've modified and copied this to a project directory) ## Notes: ## 1. The intermediate object files generated by this makefile have the ## name of the c source file with no extension. This allows the simple ## command line calling sequence, but is different from the convention of ## appending .r to the object filename. ## ## 2. Debugging information is only generated for the RAM modules. ## ## 3. The intermediate CPM68K binary load files (.RUN and .APP) are ## used by the remote debugger and possibly other future load tools. ## ## Tuesday, July 19, 1994 --jhg/glb ## modified copy/delete to delete/rename for pre dos 6 ## add -so (all optimizations) ## ## Thursday, August 24, 1995 --jhg/tam ## add -wp options to force warning messages if no prototype declared. ################################################################################ MAIN=LOBO 1=io_latch.r 2=io_porte.r 3=io_portq.r 4=io_usb.r 5=io_i2c.r 6=io_sht75.r 7=io_1wire.r 8=ds1994.r 9=serial.r 10=tserial.r 11=modem.r 12=drv_ctds.r 13=drv_isus.r 14=loboserv.r 15=lpsleep.r #User Input Routines WITH!!!!! Timeouts! 16=\work\tt8\lib\userioTT.r #User Input Routines WITHOUT!!!!! Timeouts! #16=\work\tt8\lib\userioTF.r OBJ =$(MAIN).r $(1) $(2) $(3) $(4) $(5) $(6) $(7) $(8) $(9) $(10) $(11) $(12) $(13) $(14) $(15) $(16) LIB =-lzmodem -lf_fread -ltt8 -lml16tt8 -lcl16tt8 #### Compiler options # -ps 16 bit integers # -mc Large code model # -md Large data model # -sm Adds __C_MACROS__ definition # -bs Generate debugger information # -qq Inhibit compiler signon message # -so Perform full optimization # -wp generate a warning if a function is called when its prototype is not visible # #### Linker options # +c Start of code segment # +d Start of initialized data segment # (default, if not given, is right after code segment) # +j Top of stack # +s Stack size in hex # -g Generate debugger information # +q Quiet, don't list modules # -m Inhibit symbol override warnings # -t Generate ASCII symbol table file # #### S-Record generator options # -p rom size in kilobytes (large to generate only one s-record) # -a Address field size 3 bytes # -b Hex Byte offset #### Compiler options #Less rigorous warnings! CCOPTS = -ps -mc -md -bs -qq -so -wp -wq #More rigorous warnings! #CCOPTS = -ps -mc -md -bs -qq -so -wp -wl -CC -sn -sm .c.r: @erase aztecc.err c68 $(CCOPTS) -o $*.r $*.c # c68 $(CCOPTS) -at $*.c #Link and Generate hex files rom: $(MAIN).ahx ram: $(MAIN).rhx #### ROM VERSION # Linker and srecord options for Application hex file (to be burned to FLASH) LNOPTSA = +q -t -m +c 2000 +j 2c2000 +d 2c2000 +s 2000 SROPTSA = -p4000 -a3 -b2000 $(MAIN).ahx: $(OBJ) ln68 -o $*.app $(LNOPTSA) $(OBJ) $(LIB) @srec68 $(SROPTSA) $*.app @del $*.ahx @rename $*.m00 $*.ahx #### RAM VERSION # Linker and s-record options for Ram hex file (to be loaded to ram) LNOPTSR = +q -m +c 2c2000 +j 2C2000 +s 2000 -g SROPTSR = -p4000 -a3 -b2c2000 $(MAIN).rhx: $(OBJ) ln68 -o $*.run $(LNOPTSR) $(OBJ) $(LIB) srec68 $(SROPTSR) $*.run del $*.rhx rename $*.m00 $*.rhx clean: @erase $(MAIN).app @erase $(MAIN).ahx @erase $(MAIN).sym @erase $(MAIN).run @erase $(MAIN).rhx @erase $(MAIN).dbg @erase *.r @erase $(MAIN).a