Path: utzoo!attcan!uunet!tektronix!tekig5!tekig4!brianr From: brianr@tekig4.TEK.COM (Brian Rhodefer) Newsgroups: comp.sys.amiga.tech Subject: Manx make Keywords: precompiled include aztec manx make xcopy Message-ID: <3047@tekig4.TEK.COM> Date: 26 Jul 88 20:39:49 GMT Organization: Tektronix Inc., Beaverton, Or. Lines: 59 In using Manx' make utility, I keep wishing it were possible to set up a makefile so that compilations use precompiled include files from RAM:, with the makefile automatically creating the precompiled includes. I'm never able to pull it off, though, and have to do the include file by hand. Can anyone suggest a way to achieve total make nirva... I mean, automation? My unfunctional approach: ----> begin makefile excerpt <----- 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: # # Note use of `cp' instead of `copy'. # precompiled_include: includes_everything.c cc -O nil: +Hprecompiled_include includes_everything.c ----> end makefile excerpt <----- I've put the `Xcopy' utility (I think that was its name) was posted awhile back in my C: directory, and renamed it `cp'. This gem behaves like `copy' SHOULD've, in that the copy's file creation date is set to the original's. All well and good, except it doesn't work. I can run `make', and (assuming no objects existed), everything happens as I'd expect: the `includes_everything.c' file is compiled to generate `precompiled_include', which is then copied into ram:, and then all the objects are built and finally linked together. *BUT*, if I immediately re-issue the `make' command, it will RE-COPY the `precompiled_include' file to ram:, and RE-COMPILE ALL THE MODULES, even though everything should be `up to date'. A `list ram:' shows that the creation date for `ram:precompiled_include' is indeed the same as that of `precompiled_include', and BOTH are older than ANY of the module.c files. So why didn't make work right? Is this one of those blessings of a `redundant' DOS? Is `make' looking at different file-creation-date information than `list'? Or is there something funny about RAM:? Obviously, this is not an earthshaking problem, but it is a puzzler, and I thought I'd solicit some expertise. Pre-gratefully, Brian Rhodefer ...!tektronix!tekig4!brianr