home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / c / awin / smakefile < prev   
Encoding:
Makefile  |  1999-05-17  |  3.0 KB  |  127 lines

  1. #
  2. # awindemo makefile for SAS/C
  3. # an example on how to use awin in your own projects
  4. #
  5. #
  6. # IMPORTANT! Uses GG egcs libmoto.a
  7. #
  8.  
  9. MAKE = smake
  10.  
  11. ### 68k assembler defines ###
  12. #ASMC2P = devpac:genam with genam.opts
  13. #ASM = devpac:genam with genam.opts
  14. ASMC2P = phxass symdebug linedebug noexe machine 68040 opt 0
  15. ASM = phxass symdebug linedebug noexe machine 68040 opt 2
  16.  
  17. ### 68k defines ###
  18.  
  19. #SCOPTS_68K = INCLUDEDIR=sc:include/ INCLUDEDIR=include: CPU=68020 MATH=ieee \
  20. #UNSCHAR STRMERGE NOSTKCHK PARMS=REGISTER OPTIMIZE OPTGO OPTCOMP=2 \
  21. #OPTLOOP OPTPEEP OPTTIME OPTSCHED
  22. SCOPTS_68K = INCLUDEDIR=sc:include/ INCLUDEDIR=include: CPU=68020 MATH=ieee \
  23. UNSCHAR STRMERGE NOSTKCHK PARMS=REGISTER OPTIMIZE OPTGO OPTCOMP=2 \
  24. OPTLOOP OPTPEEP OPTTIME
  25. #DEBUG=full
  26.  
  27. CC_68K = sc
  28. LINK_68K = slink
  29.  
  30. SLO_68K  = SMALLCODE SMALLDATA NODEBUG
  31. #SLO_68K  = SMALLCODE SMALLDATA
  32.  
  33. AWINOBJS_68K = ddazure2.o cpu5azure2.o awin68k.o
  34. AWINHDRS_68K = ddazure2.h cpu5azure2.h awin.h
  35. AWINLIBS_68K = LIB:sc.lib LIB:scmieee.lib
  36.  
  37. ### ppc defines ###
  38.  
  39. #
  40. # *IMPORTANT!* Modify these to suit your system!
  41. #
  42. INCLUDE_PPC = sc:include/ data:Programming/Asm/Include/
  43. PPCINCLUDE_PPC = sc:ppcinclude/
  44. #
  45.  
  46. #SCOPTS_PPC = DEF AW_PPC CPU=68020 UNSCHAR STRMERGE NOSTKCHK PARMS=REGISTER \
  47. #OPTIMIZE OPTGO OPTCOMP=2 OPTLOOP OPTPEEP OPTTIME OPTSCHED
  48. SCOPTS_PPC = DEF AW_PPC CPU=68020 UNSCHAR STRMERGE NOSTKCHK PARMS=REGISTER \
  49. OPTIMIZE OPTGO OPTCOMP=2 OPTLOOP OPTPEEP OPTTIME
  50.  
  51. CC_PPC = scppc
  52.  
  53. # uses vlink from vbcc, you can also use
  54. #LINK_PPC = ppc-amigaos-ld -r
  55. LINK_PPC = vlink -b elf32ppcbe -r
  56.  
  57. SLO_PPC = 
  58.  
  59. AWINOBJS_PPC = awinppc.o
  60. AWINHDRS_PPC = awin.h
  61. AWINLIBS_PPC = gg:ppc-amigaos/lib/libmoto.a lib:scppc.a lib:end.o
  62.  
  63.  
  64. # modify/add stuff here
  65.  
  66. all:
  67.     @echo "'make ppc' to compile PowerUP version"
  68.     $(MAKE) 68k
  69.  
  70. clean:
  71.     -Delete awindemo(%|68k|ppc) \#?.(info|tmp|lnk|o) QUIET
  72.  
  73. 68k:
  74.     $(MAKE) awindemo68k
  75.  
  76. ppc:
  77.     @echo *
  78.     @echo ******************
  79.     @echo *
  80.     assign include: $(INCLUDE_PPC)
  81.     assign ppcinclude: $(PPCINCLUDE_PPC)
  82.     @echo *
  83.     @echo ******************
  84.     @echo *
  85.     $(MAKE) awindemoppc
  86.     protect awindemoppc e add
  87.     ppc-amigaos-objdump -t awindemoppc | grep *UND*
  88.  
  89.  
  90. awindemo68k.o: awindemo.c $(AWINHDRS_68K)
  91.     $(CC_68K) awindemo.c $(SCOPTS_68K) OBJNAME=$@
  92.  
  93. awindemoppc.o: awindemo.c $(AWINHDRS_PPC)
  94.     $(CC_PPC) awindemo.c $(SCOPTS_PPC) OBJNAME=$@
  95.  
  96. awindemo68k: $(AWINOBJS_68K) awindemo68k.o
  97.     $(LINK_68K) FROM LIB:c.o $(AWINOBJS_68K) awindemo68k.o $(SLO_68K) LIB $(AWINLIBS_68K) TO $@
  98.  
  99. awindemoppc: $(AWINOBJS_PPC) awindemoppc.o
  100.     $(LINK_PPC) lib:c_ppc.o $(AWINOBJS_PPC) awindemoppc.o $(SLO_PPC) $(AWINLIBS_PPC) -o $@
  101.  
  102.  
  103. # here are things you don't modify
  104.  
  105. awfreepensinner:
  106.     $(ASM) from $@.ASM to $@.o
  107.     sh odump $@
  108.     delete $@.o force
  109.  
  110. awremapinner:
  111.     $(ASM) from $@.ASM to $@.o
  112.     sh odump $@
  113.     delete $@.o force
  114.  
  115. ddazure2.o:  ddazure2.ASM
  116.     $(ASM) from ddazure2.ASM to $@
  117.  
  118. cpu5azure2.o:  cpu5azure2.ASM
  119.     $(ASMC2P) from cpu5azure2.ASM to $@
  120.  
  121. awin68k.o: awin.c $(AWINHDRS_68K)
  122.     $(CC_68K) awin.c $(SCOPTS_68K) OBJNAME=$@
  123.  
  124. awinppc.o: awin.c $(AWINHDRS_PPC)
  125.     $(CC_PPC) awin.c $(SCOPTS_PPC) OBJNAME=$@
  126.  
  127.