Przemyslaw, make install fails as well :( with this error:
(E:\repository\harbour-svn)make install make -C doc install make[1]: Entering directory `E:/repository/harbour-svn/doc' make -C en install make[2]: Entering directory `E:/repository/harbour-svn/doc/en' make[2]: Nothing to be done for `install'. make[2]: Leaving directory `E:/repository/harbour-svn/doc/en' make -C es install make[2]: Entering directory `E:/repository/harbour-svn/doc/es' make[2]: Nothing to be done for `install'. make[2]: Leaving directory `E:/repository/harbour-svn/doc/es' make[1]: Leaving directory `E:/repository/harbour-svn/doc' make -C include install make[1]: Entering directory `E:/repository/harbour-svn/include' ECHO copy clipdefs.h e:\harbour\include >> _nstall.cmd make[1]: *** [install] Segmentation fault (core dumped) make[1]: Leaving directory `E:/repository/harbour-svn/include' make: *** [include.inst] Error 2 Looking a config/os2/install.cf it is unchanged since august 2008 and it does not include any other file, so, what went wrong? Maurilio. Maurilio Longo wrote: > 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