home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / os / os9 / 1447 < prev    next >
Encoding:
Text File  |  1992-11-23  |  6.7 KB  |  279 lines

  1. Path: sparky!uunet!peora!tarpit!bilver!emtwo!paulfitch
  2. From: paulfitch@emtwo.UUCP (Paul M Fitch)
  3. Newsgroups: comp.os.os9
  4. Subject: Re: COCO Lev 2 
  5. Keywords: Make
  6. Message-ID: <38@emtwo.UUCP>
  7. Date: Sat, 21 Nov 92 09:40:10 EST
  8. References: <1992Nov18.185120.25964@picker.com> 
  9. Distribution: na
  10. Summary: A sample of a makefile
  11. Organization: Pauls Center for the Study of MM/1s
  12. Lines: 265
  13.  
  14.  
  15.  This is one makefile i'm using right now. Notice the MAINLINE var.
  16.  
  17. ------------------------------cut here---------------------------------------
  18.  
  19. CC = cc1 
  20. TARGET = sphere
  21. ASM = rma 
  22. ODIR = /dd/cmds
  23. CFLAGS = -a -c -s
  24. AFLAGS = 
  25. LINK = rlink 
  26. DELETE_FILE = del
  27. LFLAGS = -M=10 
  28. LIBS = -l=/dd/lib/sys.l -l=/dd/lib/pgfx.l -l=/dd/lib/gui.l -l=/dd/lib/cgfx.l  -l=/dd/lib/clibt.l
  29. RFILES = sphere.r getwind.r setwind.r 
  30. MAINLINE = /dd/lib/cstart.r
  31.  
  32. $(TARGET): $(RFILES)
  33.           $(DELETE_FILE) $(ODIR)/$(TARGET)
  34.           $(LINK) $(LFLAGS) $(MAINLINE) $(RFILES) $(LIBS) -o=$(ODIR)/$(TARGET)
  35.  
  36. setwind.a: setwind.c
  37.            $(DELETE_FILE) $@
  38.            $(CC) $(CFLAGS) $*.c 
  39. setwind.r: setwind.a
  40.            $(DELETE_FILE) $@
  41.            $(ASM) $*.a $(AFLAGS) -o=$*.r
  42.  
  43. getwind.a: getwind.c
  44.            $(DELETE_FILE) $@
  45.            $(CC) $(CFLAGS) $*.c 
  46. getwind.r: getwind.a
  47.            $(DELETE_FILE) $@
  48.            $(ASM) $*.a $(AFLAGS) -o=$*.r
  49.  
  50. sphere.a: sphere.c 
  51.            $(DELETE_FILE) $@
  52.            $(CC) $(CFLAGS) $*.c 
  53. sphere.r: sphere.a
  54.            $(DELETE_FILE) $@
  55.            $(ASM) $*.a $(AFLAGS) -o=$*.r
  56. ------------------------------------cut here--------------------------------
  57.  
  58. #1. A simple CoCo C Compiler makefile for the program 'orb':
  59.  *****************************************************************************
  60.  
  61.  * Makefile to compile orb
  62.  
  63.  ODIR=/dd/c/cmds
  64.  RFILES=orb.r
  65.  LIBFILES=-l=/dd/lib/cgfx.l -l=/dd/lib/sys.l
  66.  
  67.  orb: $(RFILES)
  68.   cc orb.r $(LIBFILES) -f=$(ODIR)/orb
  69.  
  70.  orb.r: orb.c
  71.   cc orb.c -r
  72.  
  73.  * end
  74.  
  75.  *****************************************************************************
  76.  
  77.  
  78.  #2. A somewhat more complex makefile for the program 'd50':
  79.  *****************************************************************************
  80.  
  81.  * Makefile to compile d50
  82.  
  83.  ODIR=/dd/c/cmds
  84.  RDIR=RELS
  85.  RFILES=$(RDIR)/setup.r $(RDIR)/key.r $(RDIR)/mscreen.r $(RDIR)/mgood.r $(RDIR)/mmidi.r $(RDIR)/bound.r $(RDIR)/penv.r
  86.  LIBFILES=-l=/dd/lib/cgfx.l -l=/dd/lib/sys.l
  87.  
  88.  d50: $(RFILES)
  89.   cc $(RFILES) $(LIBFILES) -f=$(ODIR)/d50
  90.  
  91.  setup.r: setup.c
  92.   cc setup.c -r -o=$(RDIR)/setup.r
  93.  
  94.  key.r: key.c
  95.   cc key.c -r -o=$(RDIR)/key.r
  96.   
  97.  mscreen.r: mscreen.c
  98.   cc mscreen.c -r -o=$(RDIR)/mscreen.r
  99.   
  100.  mgood.r: mgood.c
  101.   cc mgood.c -r -o=$(RDIR)/mgood.r
  102.  
  103.  mmidi.r: mmidi.c
  104.   cc mmidi.c -r -o=$(RDIR)/mmidi.r
  105.  
  106.  bound.r: bound.c
  107.   cc bound.c -r -o=$(RDIR)/bound.r
  108.  
  109.  penv.r: penv.c
  110.   cc penv.c -r -o=$(RDIR)/penv.r
  111.  
  112.  * end
  113.  
  114.  *****************************************************************************
  115.  
  116.  
  117.  #3. My most ambitious C project ever - also the biggest makefile I ever used.
  118.  *****************************************************************************
  119.  
  120.  * Makefile to compile Graf
  121.  
  122.  ODIR = /dd/c/cmds
  123.  RDIR = RELS
  124.  RFILES=$(RDIR)/graf.r $(RDIR)/box.r $(RDIR)/bar.r $(RDIR)/circle.r $(RDIR)/line.r $(RDIR)/fill.r $(RDIR)/pencil.r $(RDIR)/arc.r $(RDIR)/ellipse.r $(RDIR)/palset.r $(RDIR)/cirfil.r $(RDIR)/erase.r $(RDIR)/vef.r
  125.  LIBFILES=-l=/dd/lib/cgfx.l -l=/dd/lib/sys.l
  126.  
  127.  Graf: $(RFILES)
  128.   cc $(RFILES) $(LIBFILES) -f=$(ODIR)/Graf
  129.  
  130.  graf.r: graf.c
  131.   cc graf.c -r -o=$(RDIR)/graf.r
  132.  
  133.  box.r: box.c
  134.   cc box.c -r -o=$(RDIR)/box.r
  135.  
  136.  bar.r: bar.c
  137.   cc bar.c -r -o=$(RDIR)/bar.r
  138.  
  139.  circle.r: circle.c
  140.   cc circle.c -r -o=$(RDIR)/circle.r
  141.  
  142.  line.r: line.c
  143.   cc line.c -r -o=$(RDIR)/line.r
  144.  
  145.  fill.r: fill.c
  146.   cc fill.c -r -o=$(RDIR)/fill.r
  147.  
  148.  pencil.r: pencil.c
  149.   cc pencil.c -r -o=$(RDIR)/pencil.r
  150.   
  151.  arc.r: arc.c
  152.   cc arc.c -r -o=$(RDIR)/arc.r
  153.   
  154.  ellipse.r: ellipse.c
  155.   cc ellipse.c -r -o=$(RDIR)/ellipse.r
  156.  
  157.  palset.r: palset.c
  158.   cc palset.c -r -o=$(RDIR)/palset.r
  159.  
  160.  cirfil.r: cirfil.c
  161.   cc cirfil.c -r -o=$(RDIR)/cirfil.r
  162.  
  163.  erase.r: erase.c
  164.   cc erase.c -r -o=$(RDIR)/erase.r
  165.  
  166.  vef.r: vef.c
  167.   cc vef.c -r -o=$(RDIR)/vef.r
  168.  
  169.  * end
  170.  
  171.  *****************************************************************************
  172.  
  173.  
  174.  #4. Now a simple CoCo assembler makefile for the program 'peel'
  175.  *****************************************************************************
  176.  
  177.  * Makefile to compile peel
  178.  
  179.  ODIR=/dd/cmds
  180.  RFILES=peel.r
  181.  LIBFILES=-l=/dd/lib/sys.l -l=/dd/lib/alib.l
  182.  
  183.  peel: $(RFILES)
  184.   rlink -o=$(ODIR)/peel $(LIBFILES) $(RFILES)
  185.  
  186.  peel.r: peel.a
  187.   rma peel.a -o=peel.r
  188.  
  189.  * end
  190.  
  191.  *****************************************************************************
  192.  
  193.  
  194.  #5. And a much more complex one for my program 'Snap'
  195.  *****************************************************************************
  196.  
  197.  * Makefile to compile Snap
  198.  
  199.  ODIR=/dd/cmds
  200.  RDIR=RELS
  201.  RFILES=$(RDIR)/snap.r $(RDIR)/subr.r $(RDIR)/subr2.r $(RDIR)/find.r $(RDIR)/mod.r $(RDIR)/help.r $(RDIR)/ver.r
  202.  LIBFILES=-l=/dd/lib/sys.l -l=/dd/lib/alib.l
  203.  
  204.  Snap: $(RFILES)
  205.   rlink -o=$(ODIR)/snap $(LIBFILES) $(RFILES)
  206.  
  207.  snap.r: snap.a
  208.   rma snap.a -o=$(RDIR)/snap.r
  209.  
  210.  subr.r: subr.a
  211.   rma subr.a -o=$(RDIR)/subr.r
  212.  
  213.  subr2.r: subr2.a
  214.   rma subr2.a -o=$(RDIR)/subr2.r
  215.  
  216.  find.r: find.a
  217.   rma find.a -o=$(RDIR)/find.r
  218.  
  219.  mod.r: mod.a
  220.   rma mod.a -o=$(RDIR)/mod.r
  221.  
  222.  help.r: help.a
  223.   rma help.a -o=$(RDIR)/help.r
  224.  
  225.  ver.r: ver.a
  226.   rma ver.a -o=$(RDIR)/ver.r
  227.  
  228.  * end
  229.  
  230.  *****************************************************************************
  231.  
  232.  
  233.  #6. Here's a simple makefile for a MM/1 C program named 'balls'
  234.  *****************************************************************************
  235.  
  236.  # Makefile for balls
  237.  
  238.  balls: balls.r 
  239.    cc balls.r -l=/dd/lib/cgfx.l
  240.   attr -pee -x balls
  241.  
  242.  balls.r: balls.c
  243.    cc balls.c -R
  244.  
  245.  *****************************************************************************
  246.  
  247.  
  248.  #7. And here's a simple makefile for a MM/1 assembler program called 'direct'
  249.  *****************************************************************************
  250.  
  251.  * Makefile to compile direct
  252.  
  253.  RFILES=direct.r
  254.  LIBFILES=-l=/dd/lib/sys.l
  255.  
  256.  direct: $(RFILES)
  257.   l68 -o=direct $(LIBFILES) $(RFILES)
  258.  
  259.  direct.r: direct.a
  260.   r68 direct.a -o=direct.r
  261.  
  262.  * end
  263.  
  264.  *****************************************************************************
  265.  
  266.  
  267.  Hope these help anybody wondering how to get started with Make. I know I'm
  268.  not using all the power available from Make, but it's still a big help. 
  269.  Once you get the hang of creating basic makefiles, you can begin to
  270.  understand the manual and learn from there.
  271.  
  272.   Glen Hathaway - COMPER - 71446,166
  273.  
  274.  
  275.                                                          -- 
  276.            / Applied OS9 BBS [1:363/18.6](407)327-6346 \   UUCP & FIDO
  277. Paul Fitch | -->emtwo@DELPHI.com   OR                  |   on a $99.00
  278.            \       ...!bilver!emtwo!paulfitch <--      /  Color Computer
  279.