home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / disks / misc / device-handler / source / smakefile < prev   
Makefile  |  1981-06-29  |  5KB  |  202 lines

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