Path: utzoo!utgpu!attcan!uunet!husc6!bloom-beacon!bu-cs!purdue!i.cc.purdue.edu!h.cc.purdue.edu!s.cc.purdue.edu!ain From: ain@s.cc.purdue.edu (Patrick White) Newsgroups: comp.sys.amiga.tech Subject: Re: Manx make Keywords: precompiled include aztec manx make xcopy Message-ID: <3458@s.cc.purdue.edu> Date: 27 Jul 88 14:52:18 GMT References: <3047@tekig4.TEK.COM> Reply-To: ain@s.cc.purdue.edu.UUCP (Patrick White) Organization: PUCC Land, USA Lines: 59 In article <3047@tekig4.TEK.COM> brianr@tekig4.TEK.COM (Brian Rhodefer) writes: >CFLAGS = -n +Iram:precompiled_include > >OBJS = a_typical_module.o another_module.o > >result: $(OBJS) > ln -g -o result $(OBJS) -lc > >$(OBJS): ram:precompiled_include > >ram:precompiled_include: precompiled_include > cp precompiled_include ram: Wow!! hold the phone.. you are writing a dependent rule for file "ram" that depends on precompiled_include on your disk? No wonder it never works. Best thing I can suggest is to write an execute file that copies it up there if it is needed -- and always execute it. slow and sloppy, but you may win over the whole compile. Hmm.. how about: pgm: $(OBJS) execute copypretoram ln ... Then in the execute script file, do something like this: if (not exists ram:precompiled_include) then copy df0:precompiled_include ram: endif This is the best I can do without Manx make in front of me -- you might also be able to put ()'s or quotes arround the ram: file name so the ":" dosen't interfere with make.. something like: pgm: $(OBJS) (ram:pre_inc) ln ... (ram:pre_inc): pre_inc copy rep_inc ram: >So why didn't make work right? because your makefile dosen't check a file in ram, it it copies the file up there to make a file called "ram" up to date... which is never up to date since it dosen't exist. >Or is there something funny about RAM:? a ":" is a ":" to make.. I'll bet it can't tell a ":" for a device mane from one for a rule. -- Pat White ARPA/UUCP: j.cc.purdue.edu!ain BITNET: PATWHITE@PURCCVM PHONE: (317) 743-8421 U.S. Mail: 320 Brown St. apt. 406, West Lafayette, IN 47906