When executing 'gmake libc' only the archive library is made independent on the value of G4MAKESHLIB. A possible solution is to edit the GNUMakefile in this category and change line 122 from: libc : $(G4LIBDIR)/lib$(name).a to: libc : $(G4LIBDIR)/lib$(name).$(SHEXT) Then SHEXT should be set to [a/so/sl] depending on the architecture, etc...
This has been actually fixed in the following way, in order to take into account also non shared libs builds: lib: libc libF ifneq ($(G4MAKESHLIB),) libc : $(G4LIBDIR)/lib$(name).$(SHEXT) else libc : $(G4LIBDIR)/lib$(name).a endif The fix is available in tag g3tog4-V02-00-02 and will appear in a patch for release 2.0.