Hi Przemek,
I've tried it, and it's still no go, as now nmake
says it doesn't know how to make "obj\vc\myfirstprg.obj".
Probably because it doesn't see any myfirstprg.c,
and, also cannot see (for some reason) that myfirstprg.c
can be generated from myfirstprg.prg. Can easily be that
I'm missing something more.
Brgds,
Viktor
On 2008.10.02., at 16:09, Przemyslaw Czerpak wrote:
On Thu, 02 Oct 2008, Szak�ts Viktor wrote:
Hi Viktor,
I'm trying to optimize MSVC non-GNU make, so that it
compiles .prg in one batch (== one harbour.exe call by
.lib), just like for .c files, as opposed to the current
one-by-one .prg file compilation approach.
IOW (and if possible), I'd like to convert this rule:
---
{$(RTL_DIR)}.prg{$(OBJ_DIR)$(OBJEXT):
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\$(*B).c
---
to something like this:
---
{$(OBJ_DIR)}.c{$(OBJ_DIR)}$(OBJEXT)::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
{$(RTL_DIR)}.prg{$(OBJ_DIR)$(OBJEXT)::
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
---
By swapping .prg and .c in .SUFFIXES, it even works,
but only if I run the make process twice.
Does anyone have an idea how to fix this? Marek, Paul?
The problem is cause by this rule:
{$(RTL_DIR)}.prg{$(OBJ_DIR)$(OBJEXT)::
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
It wrongly informs make that
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
translates *.prg to *$(OBJEXT) files when in fact
it translates .prg to .c. If NMAKE can use indirect rules
then it should be enough to fix the pattern:
{$(RTL_DIR)}.prg{$(OBJ_DIR)}.c::
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
BTW also one closing '}' was missing.
best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour