Hi Bill,
I looked at hbmake.prg after your last cleanup. Your change at the
aLibsDesc, reminded me of when I thought hbmake included some
libraries twice. It turns out that I was wrong about this but it
does produce a makefile that can be confusing. Consider the
following excerpts from hbmake:
USERLIBS = c:\harbour\lib\whrlib.lib
...
LIBFILES = hblang.lib hbvm.lib hbrtl.lib hbrdd.lib hbmacro.lib
hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbcommon.lib gtwin.lib
hbcpage.lib hbpcre.lib hbzlib.lib hbhsx.lib hbsix.lib hbdebug.lib
hbmisc.lib hbnf.lib hbgt.lib
EXTLIBFILES = hbmisc.lib hbnf.lib hbgt.lib
...
ALLLIB = $(USERLIBS) $(LIBFILES) import32.lib cw32.lib
...
#BUILD
$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(CC_DIR)\bin\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
On the LIBFILES line at the end are the EXTLIBFILES appended with 3-
spaces between harbour's default library files and the other
(contrib/user) lib files. Thus they are included in the makefile
twice but are only used once since the libs on the EXTLIBFILES line
is ignored.
Looks like it was fixed in the past, but the fix
wasn't exactly the right one.
It might be less confusing if the External Library Files were called
Contrib Lib files since that's what they are and the libfiles called
HBLIBS. For example, the make file could be something like:
...
HBLIBS = hblang.lib ...
CONTRIBLIBS = hbmisc.lib ...
USERLIBS = c:\harbour\lib\whrlib.lib
ALLLIB = $(USERLIBS) $(CONTRIBLIBS) $(HBLIBS) import32.lib cw32.lib
...
where nothing is used twice and nothing is ignored.
I agree. This would be the way it should work.
Could you create a patch for this?
Brgds,
Viktor
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour