Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!usc!apple!cjp From: cjp@Apple.COM (Chris Plummer) Newsgroups: comp.sys.mac.programmer Subject: Re: MPW, MAMake, Multiple folders of source, and Hell Message-ID: <33063@apple.Apple.COM> Date: 12 Jul 89 01:54:38 GMT References: <4YialCi00UhW00uEYE@andrew.cmu.edu> Organization: Apple Computer Inc, Cupertino, CA Lines: 48 In article <4YialCi00UhW00uEYE@andrew.cmu.edu> wb1j+@andrew.cmu.edu (William M. Bumgarner) writes: >Yes, once again, I am having difficulties with writing makefiles to my >liking. Only this time, I have complicated things a bit. > >The environment: MPW, MacAPP, and a program involving not only MacAPP >OOP, but also C and TCP/IP code. > >What I want: I want the MacAPP OOP to stay in one folder all by itself; >fine this works. I would like the C code to live in a seperate folder. >The big problem is that I want a MABuild mamake file that can deal with >this. > >Why I can't do it: Ok, the OOP is happy enough sitting in the directory >that I have it (with the mamake file). But, I have yet to find a way to >reference the C-Code as a dependency... > >ipglue.c.o f ipglue.c # this doesn't work because the c code is not in >the same folder with the make file > >ipglue.c.o f {CSrcDir}ipglue.c # this references the file fine, but >doesn't use the MacAPP build stuff to compile the C-Code; it >subsequently falls through and tells me it can't find ipglue.c.o > >I have tried a multitude of other things, including folder dependencies, >and other archaic things with no luck. >Help me! I'm going insane with this one. I have a situation similar to yours and I finally managed to get the project set up as follows: projDir: # contains the macapp source and makefile projDir:Obj: # contains the object for the macapp source projDir:cSource: # contains the c source code projDir:cObj: # contains the c object code Make sure you list all objects in "cObj" when setting OtherLinkFiles in the make file. Make sure your pascal object dependencies look as follows: "projDir:Obj:UFoo.p.o" f UFoo.p Make sure you c object dependencies look as follows: "projDir:cObj:cme.c.o" f "projDir:cSource:cme.c" --Chris Plummer