home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / misc / vcb10a.lha / makefile < prev    next >
Encoding:
Makefile  |  1992-10-29  |  2.8 KB  |  132 lines

  1. #    COPYRIGHT
  2. #        The material published in this distribution is Freeware.
  3. #        Copyright ⌐ 1992 remains at the author, Stefan Reisner.
  4. #        
  5. #        It may only be passed on unmodified and in its present
  6. #        composition. In particular, this copyright notice must be
  7. #        included and must be intact.
  8.  
  9. # makefile for pd-make and Manx/Aztec C compiler
  10. # you need `nro' with macros to create the .doc files!
  11.  
  12. # name your precompilation of system header files here
  13. PRECOMPILED = cpre:level1
  14.  
  15. # version of VCB
  16. VERSION = 1.0a-beta
  17.  
  18. # setup several paths
  19. LIB_DIR = clib:
  20. INCLUDE_DIR = cinc:vcb/        # this directory must already exist!
  21. DOC_DIR = doc:programming/    # this directory must already exist!
  22. ARC_DIR = arc:
  23.  
  24. ARCHIVE = $(ARC_DIR)vcb$(VERSION).lha
  25.  
  26. .SUFFIXES:    .ol .n .doc
  27.  
  28. CC_OPTS = -so -hi $(PRECOMPILED)
  29.  
  30. # small code, small data
  31. .c.o:
  32.     $(CC) $(CC_OPTS) -o $@ $<
  33.  
  34. # large code, large data
  35. .c.ol:
  36.     $(CC) -mcd $(CC_OPTS) -o $@ $<
  37.  
  38. .n.doc:
  39.     nro >$@ $<
  40.  
  41. # using small memory model we opt for HookEntryGetA4()
  42. # instead of amiga.lib's a4-unaware HookEntry()
  43. setuphook.o:    setuphook.c
  44.     $(CC) -d_HOOKENTRY_=HookEntryGetA4 $(CC_OPTS) -o $@ $?
  45.  
  46. # for large memory model we use amiga.lib's HookEntry()
  47. setuphook.ol:    setuphook.c
  48.     $(CC) $(CC_OPTS) -o $@ $?
  49.  
  50. VCB = vcbclass.o
  51. VCB_L = vcbclass.ol
  52.  
  53. VCX = vcxclass.o
  54. VCX_L = vcxclass.ol
  55.  
  56. HOOK = setuphook.o hookentrygeta4.o
  57. HOOK_L = setuphook.ol
  58.  
  59. LIB = $(VCB) $(VCX) $(HOOK)
  60.  
  61. LIB_L = $(VCB_L) $(VCX_L) $(HOOK_L)
  62.  
  63. SRC    =    vcbclass.c vcb_private.h vcb.h\
  64.         vcxclass.c vcx_private.h vcx.h\
  65.         setuphook.c hookentrygeta4.asm\
  66.         vcbtest.c vcxtest.c vcb.n vcx.n\
  67.         makefile\
  68.         README README.lib HISTORY BUGS
  69.  
  70. BIN =    vcb.lib vcbl.lib vcbtest vcbltest vcxtest vcxltest vcb.doc vcx.doc
  71.  
  72. vcb.lib: $(LIB)
  73.     lb vcb.lib $(LIB)
  74.  
  75. vcbl.lib: $(LIB_L)
  76.     lb vcbl.lib $(LIB_L)
  77.  
  78. vcbtest:    vcbtest.o $(LIB_DIR)vcb.lib
  79.     ln -w -o $@ vcbtest.o -lvcb -lc +l -lamiga +l
  80.  
  81. vcbltest:    vcbtest.ol $(LIB_DIR)vcbl.lib
  82.     ln -w -o $@ vcbtest.ol -lvcbl -lcl +l -lamiga +l
  83.  
  84. vcxtest:    vcxtest.o $(LIB_DIR)vcb.lib
  85.     ln -w -o $@ vcxtest.o -lvcb -lc +l -lamiga +l
  86.  
  87. vcxltest:    vcxtest.ol $(LIB_DIR)vcbl.lib
  88.     ln -w -o $@ vcxtest.ol -lvcbl -lcl +l -lamiga +l
  89.  
  90. $(LIB_DIR)vcb.lib: vcb.lib
  91.     copy vcb.lib $(LIB_DIR)
  92.  
  93. $(LIB_DIR)vcbl.lib: vcbl.lib
  94.     copy vcbl.lib $(LIB_DIR)
  95.  
  96. $(INCLUDE_DIR)vcb.h: vcb.h
  97.     copy vcb.h $(INCLUDE_DIR)
  98.  
  99. $(INCLUDE_DIR)vcx.h: vcx.h
  100.     copy vcx.h $(INCLUDE_DIR)
  101.  
  102. $(DOC_DIR)vcb.doc: vcb.doc
  103.     copy vcb.doc $(DOC_DIR)
  104.  
  105. $(DOC_DIR)vcx.doc: vcx.doc
  106.     copy vcx.doc $(DOC_DIR)
  107.  
  108. .PHONY:    test clean public archive
  109.  
  110. TEST    =    vcbtest\
  111.             vcbltest\
  112.             vcxtest\
  113.             vcxltest
  114.  
  115. test:    $(TEST)
  116.  
  117. PUBLIC    =    $(LIB_DIR)vcb.lib\
  118.             $(LIB_DIR)vcbl.lib\
  119.             $(INCLUDE_DIR)vcb.h\
  120.             $(INCLUDE_DIR)vcx.h\
  121.             $(DOC_DIR)vcb.doc\
  122.             $(DOC_DIR)vcx.doc
  123.  
  124. public: $(PUBLIC)
  125.  
  126. clean: $(PUBLIC)
  127.     -delete \#?.(o|ol|bak)
  128.  
  129. archive: $(BIN)
  130.     -delete $(ARCHIVE)
  131.     lha a $(ARCHIVE) $(SRC) $(BIN)
  132.