home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / varia / memory-device / source / smakefile < prev   
Makefile  |  1977-12-31  |  5KB  |  205 lines

  1. #!sc:c/smake
  2. #
  3. #####################################################################
  4. #
  5. # $VER: smakefile 6.4 (20 Dec 1995)
  6. #
  7. # memory.device - direct memory access
  8. #
  9. # (C) Copyright 1995 Marius Gröger
  10. #     All Rights Reserved
  11. #
  12. # Inspired by z2ram device in Linux/68k/Amiga
  13. #
  14. # $HISTORY:
  15. #
  16. # 20 Dec 1995 : 001.000 :  created
  17. #
  18. #####################################################################
  19.  
  20. #####################################################################
  21. #
  22. # installation drawer and names of device
  23. #
  24. INSTALL_DIR = EXT:Devs
  25. DEVICE_DIR  = /DEVS
  26. BASENAME    = memory-device
  27. RELNAME     = memdev
  28. NAME        = memory.device
  29. VERSION     = 37
  30. #
  31. #####################################################################
  32.  
  33. #####################################################################
  34. #
  35. # Aminet infos
  36. #
  37. AN_AUTHOR   = groeger@gundel.zdv.uni-mainz.de
  38. AN_UPLOADER = groeger@gundel.zdv.uni-mainz.de
  39. AN_SHORT    = Uses 16bit RAM as swap space for VMM
  40. AN_TYPE     = disk/misc
  41. #
  42. #####################################################################
  43.  
  44. #####################################################################
  45. #
  46. # following stuff is your configuration
  47. #
  48. LIBS        = LIB LIB:amiga.lib LIB lib:sc.lib LIB lib:debug.lib
  49. CINCLUDES   = INCDIR "NETINCLUDE:"
  50. ASMINCLUDES = INCDIR="INCLUDEA:" INCDIR="NETINCLUDE:"
  51. CPUSUFFIX   = 020 # 000 010 020 030 040 ANY
  52. CPUCCOPT    = CPU=68$(CPUSUFFIX)
  53. CP          = C:Copy
  54. MV          = C:Rename
  55. RM          = C:Delete >NIL:
  56. LD          = sc:c/slink
  57. CC          = sc:c/sc
  58. AS          = sc:c/sc
  59. MAKE        = sc:c/smake
  60. BUMPREV     = C:bumprev
  61. SETREV      = C:SetRev
  62. PROTECT     = protect
  63. BUILD_AMINET= /s/build-aminet
  64. ECHO        = Echo
  65. #
  66. #####################################################################
  67.  
  68. #####################################################################
  69. #
  70. # assembler/compiler flags
  71. #
  72. # this applies to normal and optimized compilation:
  73. #
  74. STDFLAGS    = $(CINCLUDES) NOMULTIPLEINCLUDES ERRREXX COMMENTNEST NOSTKCHK NOCHKABORT\
  75.               SMALLCODE SMALLDATA VERBOSE NOICONS STRICT ANSI
  76. #
  77. # this applies only to normal compilation:
  78. #
  79. NORMCFLAGS  = $(STDFLAGS)
  80. #
  81. # this applies only to optimized compilation:
  82. #
  83. OPTCFLAGS   = $(STDFLAGS) $(CPUCCOPT) PARAMETERS=REGISTERS OPT OPTTIME OPTINLINE\
  84.               OPTSCHEDULE STRINGMERGE STRUCTUREEQUIVALENCE
  85. #
  86. # this applies to assembler compilation
  87. #
  88. AFLAGS      = $(ASMINCLUDES) VERBOSE SMALLCODE SMALLDATA
  89. #
  90. #####################################################################
  91.  
  92. #####################################################################
  93. #
  94. # linkage flags
  95. #
  96. LDFLAGS     = NOICONS SC SD ND $(LIBS) TO
  97. OPTLDFLAGS  = NOICONS SC SD ND $(LIBS) TO
  98. #
  99. #####################################################################
  100.  
  101. #####################################################################
  102. #
  103. # the object files
  104. #
  105. NORMOBJ=rt.o device.no
  106. OPTOBJ=rt.o device.opt$(CPUSUFFIX)
  107. #
  108. #####################################################################
  109.  
  110. #####################################################################
  111. #
  112. # rules
  113. #
  114. # compile a file normally
  115. #
  116. .c.no:
  117.    $(CC) $(NORMCFLAGS) $*.c
  118.    -@$(RM) $*.no
  119.    @$(MV) $*.o $*.no
  120. #
  121. # compile a file optimizing
  122. #
  123. .c.opt$(CPUSUFFIX):
  124.    $(CC) $(OPTCFLAGS) $*.c
  125.    -@$(RM) $*.opt$(CPUSUFFIX)
  126.    @$(MV) $*.o $*.opt$(CPUSUFFIX)
  127. #
  128. # assemble a file
  129. #
  130. .asm.o:
  131.    $(AS) $(AFLAGS) $*.asm
  132. #
  133. #####################################################################
  134.  
  135. #####################################################################
  136. #
  137. # targets
  138. #
  139. help:
  140.    -@Echo "Usage:"
  141.    -@Echo "To make an unoptimized version"
  142.    -@Echo "   $(MAKE) all"
  143.    -@Echo "To make an optimized version"
  144.    -@Echo "   $(MAKE) all_opt"
  145.    -@Echo "To install an unoptimized version"
  146.    -@Echo "   $(MAKE) install"
  147.    -@Echo "To install an optimized version"
  148.    -@Echo "   $(MAKE) install"
  149.    -@Echo "To increment the revision"
  150.    -@Echo "   $(MAKE) newrev"
  151.    -@Echo "To remove all intermediate files for unoptimized the version"
  152.    -@Echo "   $(MAKE) clean_norm"
  153.    -@Echo "To remove all intermediate files for optimized the version"
  154.    -@Echo "   $(MAKE) clean_opt"
  155.    -@Echo "To %remove all intermediate files"
  156.    -@Echo "   %$(MAKE) clean"
  157.    -@Echo "To create a distribution"
  158.    -@Echo "   $(MAKE) release"
  159.  
  160. all: $(DEVICE_DIR)/$(NAME)
  161. all_opt: $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)
  162.  
  163. install: all
  164.    $(CP) $(DEVICE_DIR)/$(NAME) $(INSTALL_DIR)/$(NAME)
  165.  
  166. install_opt: all_opt
  167.    $(CP) $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX) $(INSTALL_DIR)/$(NAME)
  168.  
  169. newrev:
  170.    $(BUMPREV) $(VERSION) $(BASENAME)
  171.  
  172. clean_norm:
  173.    -@$(RM) *.o
  174.    -@$(RM) *.no
  175.  
  176. clean_opt:
  177.    -@$(RM) *.o
  178.    -@$(RM) *.opt*
  179.  
  180. clean: clean_norm clean_opt
  181.  
  182. release:
  183.    $(MAKE) CPUSUFFIX=000 all_opt
  184.    $(MAKE) CPUSUFFIX=020 all_opt
  185.    $(MAKE) CPUSUFFIX=040 all_opt
  186.    $(BUILD_AMINET) "$(RELNAME)" "$(BASENAME)" "/ReadMe" "//$(BASENAME)" "$(AN_AUTHOR)" "$(AN_UPLOADER)" "$(AN_SHORT)" "$(AN_TYPE)" CLEAN
  187.  
  188. $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX): $(OPTOBJ)
  189.    $(LD) $(OPTOBJ) $(OPTLDFLAGS) $@
  190.  
  191. $(DEVICE_DIR)/$(NAME): $(NORMOBJ)
  192.    $(LD) $(NORMOBJ) $(LDFLAGS) $@
  193. #
  194. #####################################################################
  195.  
  196. #####################################################################
  197. #
  198. # various dependencies
  199. #
  200. rt.o: rt.asm memory.i memory-device_rev.i
  201. device.opt$(CPUSUFFIX) device.no: device.c memory.h
  202. #
  203. #####################################################################
  204.  
  205.