Przemyslaw Czerpak wrote:
> Interesting. Now it looks like GNU make problem.
> Maybe some trick with eval function can help, f.e. something like:
> 
>    define lib_object
>    echo ADDMOD $(1) >> __lib__.tmp
>    endef
> 
>    define create_library
>    IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH)
>    echo CREATE $(LIB_DIR)/$@ > __lib__.tmp
>    $(foreach file, $(^F), $(eval $(call lib_object,$(file))))
>    echo SAVE >> __lib__.tmp
>    echo END >> __lib__.tmp
>    $(AR) -M < __lib__.tmp
>    endef
> 

With this I get an  error:

c ../../hbarch.c -ohbarch.o
gcc -I. -I../../../../include -Wall -W -O3 -DTCPV40HDRS -DHB_FM_STATISTICS_OFF -
c ../../reserved.c -oreserved.o
../../../../config/lib.cf:30: *** missing separator.  Stop.
make[3]: Leaving directory `E:/repository/harbour-svn/source/common/os2/gcc'
make[2]: *** [descend] Error 2
make[2]: Leaving directory `E:/repository/harbour-svn/source/common'
make[1]: *** [common] Error 2
make[1]: Leaving directory `E:/repository/harbour-svn/source'
make: *** [source] Error 2


>> Of course it works on the assumption that the library is made up of .o files.
> 
> You can use $(OBJ_EXT) instead of .o
>    $(COMSPEC) /C "for %i in ( *$(OBJ_EXT) ) do echo ADDMOD %i >> _l_.tmp"

Yes, I can even remove the

$(COMSPEC) /C

there is no need to spawn another shell.

> I do not know OS2 command line size limit but if it's big enough then
> you can also use:

1024 chars

>    $(COMSPEC) /C "for %i in ($(^F)) do echo ADDMOD %i >> _l_.tmp"
> Though in such case it should be possible to directly call ar without
> the above trick by simple:
>    AR_RULE = $(AR) $(ARFLAGS) cr $(LIB_DIR)/$@ $(^F)
> so I guess it's smaller then necessary.
> 

Yes, this limit was reached long ago and the script was created to bypass it.

Thanks a lot.

Maurilio.

PS. I'll do some timing to see how much it takes to build with various -j ASAP 
:)

> best regards,
> Przemek
> _______________________________________________
> Harbour mailing list
> Harbour@harbour-project.org
> http://lists.harbour-project.org/mailman/listinfo/harbour
> 

-- 
 __________
|  |  | |__| Maurilio Longo
|_|_|_|____| farmaconsult s.r.l.


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to