Date: Mon, 3 Oct 2005 00:05:23 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 622 ************************************************** Sunday 02 October 2005 Number 622 ************************************************** Subjects for today 1 Re: vpath support with make? : Paul Smedley 2 Re: vpath support with make? : Henry Sobotka **= Email 1 ==========================** Date: Sun, 02 Oct 2005 08:27:15 +0930 From: Paul Smedley Subject: Re: vpath support with make? Hi Henry, Henry Sobotka wrote: > Paul Smedley wrote: >> >> The makefile has "VPATH = $(SRC_DIR):$(BUILD_DIR)" in it which >> seems pretty self explantory. > > Change the colon to a semicolon (path separator) and it should work. Yep it does - thanks for that. I was assuming that the problem I was having building Eggdrop was the same as it also uses vpath, but doesn't seem to be the case. Seems OS/2 just doesn't like the makefile syntax.. Anyone built Eggdrop (=ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.17.tar.gz) before? There are some OS/2 binaries around but no patches.... Mine is dying trying to build the mods with: make.exe[1]: Entering directory `E:/dev/eggdrop1.6.17/src/mod' cp: ./assoc.mod/Makefile: No such file or directory make.exe[2]: Entering directory `E:/dev/eggdrop1.6.17/src/mod/assoc.mod' make.exe[2]: *** No rule to make target `static'. Stop. make.exe[2]: Leaving directory `E:/dev/eggdrop1.6.17/src/mod/assoc.mod' make.exe[1]: *** [assoc.mod_o] Error 2 make.exe[1]: Leaving directory `E:/dev/eggdrop1.6.17/src/mod' make.exe: *** [static] Error 2 there is no makefile in ./assoc.mod/Makefile - I think it's supposed to be using vpath to use the makefile in the . directory The makefile from ./src/mod is at http://smedley.info/makefile if anyone wants to take a look... Cheers, Paul. **= Email 2 ==========================** Date: Sat, 01 Oct 2005 22:33:56 -0400 From: Henry Sobotka Subject: Re: vpath support with make? Paul Smedley wrote: > > there is no makefile in ./assoc.mod/Makefile - I think it's supposed to > be using vpath to use the makefile in the . directory Hi Paul, VPATH and vpath are used to find source files, not makefiles. If you look at the rules for .mod.mod_o, you'll see it checks for the Makefile and, if not found, copies the one from $(srcdir)/$*.mod/. It looks to me like there's some sort of substitution error happening. For instance, I would expect to see rules for assoc.mod_so and assoc_mod.o rather than for .mod.mod_so and .mod.mod_o, as does make when it gripes about no rule for 'static'. My guess is the problem might be coming from modconfig. Also, the value of srcdir (.) indicates you're building in the same directory as the source, whereas the use of srcdir and VPATH suggest a separate tree is normally used, e.g. md objdir (or whatever you want to call it, off root of src tree) cd objdir .../make It's not unusual for that type of build system not to support building in the src tree, and that might even be mentioned in the build docs. In any case, I would suggest trying that because it might just make the apparent substitution problem go away. h~