home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / programming / other / wipeout / source / smakefile < prev    next >
Encoding:
Makefile  |  1998-04-27  |  3.7 KB  |  154 lines

  1. #
  2. # $Id: smakefile 1.22 1998/04/13 09:52:07 olsen Exp olsen $
  3. #
  4. # :ts=8
  5. #
  6. # Wipeout -- Traces memory, munges and traces memory trashing
  7. #
  8. # Written by Olaf `Olsen' Barthel <olsen@sourcery.han.de>
  9. # Public Domain
  10. #
  11.  
  12. .c.o:
  13.     sc $(CFLAGS) $<
  14. #    @ctags >tagfiles/$* $<
  15.  
  16. .asm.o:
  17.     asm $(AFLAGS) $<
  18.  
  19. #############################################################################
  20. #
  21. # Program version and revision; must match the data in the bumprev file
  22. # as it's used to check in and freeze a release.
  23. #
  24. #############################################################################
  25.  
  26. VERSION =    1
  27. REVISION =    21
  28.  
  29. SYMBOLIC_NAME =    V$(VERSION)_$(REVISION)
  30.  
  31. ###############################################################################
  32.  
  33. PROJECT_NAME = Wipeout
  34.  
  35. ###############################################################################
  36.  
  37. C_SOURCE =    addresstest.c allocator.c data.c dprintf.c dump.c fillchar.c \
  38.         filter.c installpatches.c main.c mungmem.c monitoring.c pools.c \
  39.         privateallocvec.c segtracker.c taskinfo.c timer.c tools.c \
  40.         system_headers.c
  41.  
  42. ASM_SOURCE =    patches.asm rawio.asm
  43.  
  44. HEADERS =    allocator.h data.h global.h installpatches.h pools.h \
  45.         magic.h taskinfo.h wipeoutsemaphore.h \
  46.         protos.h system_headers.h
  47.  
  48. OTHER =        assert.c assert.h smakefile $(PROJECT_NAME).doc
  49.  
  50. FILES =        $(C_SOURCE) $(ASM_SOURCE) $(HEADERS) $(OTHER)
  51.  
  52. ###############################################################################
  53.  
  54. CPU =        any
  55. #CPU =        060 
  56.  
  57. C_UTILITY =    utillib
  58. L_UTILITY =    define __CXM33=__UCXM33 define __CXD33=__UCXD33 \
  59.         define __CXM22=__UCXM22 define __CXD22=__UCXD22
  60.  
  61. ###############################################################################
  62.  
  63. OPTIMIZE =    optimize opttime optschedule optdepth=10 optinlocal
  64. DEBUG =        debug=line
  65.  
  66. CFLAGS =    params=r nostackcheck $(OPTIMIZE) $(DEBUG) $(C_UTILITY) \
  67.         data=faronly cpu=$(CPU) gst=system_headers.gst
  68. AFLAGS =    -d
  69. LFLAGS =    smallcode noicons $(L_UTILITY)
  70.  
  71. OBJS =        addresstest.o allocator.o data.o dprintf.o dump.o fillchar.o \
  72.         filter.o installpatches.o main.o mungmem.o monitoring.o pools.o \
  73.         privateallocvec.o segtracker.o taskinfo.o timer.o tools.o \
  74.         patches.o rawio.o
  75.  
  76. LIBS =        lib:scnb.lib lib:amiga.lib lib:debug.lib lib:ddebug.lib
  77.  
  78. all:    tagfiles system_headers.gst protos.h $(PROJECT_NAME)_rev.h \
  79.     $(PROJECT_NAME)
  80.  
  81. $(PROJECT_NAME) : $(OBJS) Assert.o
  82.     slink lib:c.o $(OBJS) to $@.debug lib $(LIBS) Assert.o $(LFLAGS) addsym \
  83.         map $@.map,fhx fwidth 32 pwidth 32 swidth 32 width 100
  84.     slink $@.debug to $@ noicons nodebug
  85. #    @type tagfiles/\#? >tags
  86.  
  87. ###############################################################################
  88.  
  89. system_headers.gst: system_headers.h system_headers.c
  90.     gst unload $@
  91.     sc $(CFLAGS) nogst makegst=$@ noobjname system_headers.c
  92.  
  93. protos.h: $(C_SOURCE)
  94.     mkptypes -c >protos.h $(C_SOURCE)
  95.  
  96. $(PROJECT_NAME)_rev.h:
  97.     smake version
  98.  
  99. ###############################################################################
  100.  
  101. tagfiles:
  102.     makedir $@
  103.  
  104. rcs:
  105.     makedir $@
  106.  
  107. ###############################################################################
  108.  
  109. clean:
  110.     -delete $(PROJECT_NAME) $(PROJECT_NAME).debug $(OBJS) \
  111.         tagfiles tags all quiet
  112.  
  113. realclean: clean
  114.     -delete ID
  115.  
  116. version:
  117.     echo >$(PROJECT_NAME)_rev.rev `eval $(REVISION) - 1`
  118.     bumprev $(VERSION) $(PROJECT_NAME)
  119.  
  120. mkid:
  121.     mkid -v \#?.(c|h|a|asm|i)
  122.  
  123. update:
  124.     mkid -v -u
  125.  
  126. ###############################################################################
  127.  
  128. assert.o : assert.c assert.h
  129.  
  130. data.o : data.c data.h
  131.  
  132. main.o : main.c $(PROJECT_NAME)_rev.h
  133.  
  134. ###############################################################################
  135.  
  136. checkin: rcs
  137.     ci -q -M -d -l$(VERSION) -m. -t-. $(FILES)
  138.  
  139. lock: rcs
  140.     rcs -l $(FILES)
  141.  
  142. unlock: rcs
  143.     rcs -u $(FILES)
  144.  
  145. freeze: rcs
  146.     rcs -q -n$(SYMBOLIC_NAME): $(FILES)
  147.  
  148. newversion:
  149.     smake version
  150.     smake checkin
  151.     smake freeze
  152.     ttx wait smakefile
  153.     smake
  154.