Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!pt.cs.cmu.edu!f.gp.cs.cmu.edu!rpd From: rpd@f.gp.cs.cmu.edu (Richard Draves) Newsgroups: net.lang.mod2 Subject: Re: M2 with Make and RCS Message-ID: <12@f.gp.cs.cmu.edu> Date: Thu, 16-Oct-86 10:40:06 EDT Article-I.D.: f.12 Posted: Thu Oct 16 10:40:06 1986 Date-Received: Thu, 16-Oct-86 23:08:59 EDT References: <8610152351.AA01814@cod.ARPA> Organization: Carnegie-Mellon University, CS/RI Lines: 21 I haven't tried using RCS with Modula-2 source, but I have worked out a method for using make. Put implementation and program modules in .mod files and definition modules in .def files. Each .mod file will generate a .o file; each .def file will generate a .sym file. The .sym files have 0 bytes and are used only to communicate dependencies. Every .sym file depends on the corresponding .def file and the .sym files of any imported modules. Make it with touch(1). Every .o file depends on the corresponding .mod file and the .sym files of any imported modules. If it is an implementation module is also depends on its own .sym file. Using .sym files forces make to calculate the transitive closure of the imports relation. This way, if A imports B and B (def) imports C, you don't have to have A.o depend on C.def. Instead, A.o depends on B.sym, which depends on C.sym, which depends on C.def. Rich