2008-11-08 19:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/make_gcc.mak
    ! corrected missing $(HARBOUR_EXE) dependence in .prg files rules
    ! replaced non indirect rules (::) which are strictly file base with
      indirect ones to not confuse dependence logic when parallel
      compilation is enabled
    ! marked harbour.c and cmdarg.c as dependent on pptable.c to fix
      compilation order - these files needs hbverbld.h which is generated
      together with pptable.c
    ! fixed HBTESTDLL_EXE dependencies - static library were used instead
      of harbour share library. BTW probably it will be good to create also
      HBRUNDLL_EXE

      With above modification parallel compilation can be enabled for
      make_gcc.sh (-j<N> GNU make option). It greatly improves compilation
      speed. Probably also make_{bcc,vc}.mak should be fixed even if they
      do not support parallel compilation.
This commit is contained in:
Przemyslaw Czerpak
2008-11-08 18:52:35 +00:00
parent f5d1c2c173
commit 8905ad498a
2 changed files with 37 additions and 16 deletions

View File

@@ -8,6 +8,24 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-11-08 19:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gcc.mak
! corrected missing $(HARBOUR_EXE) dependence in .prg files rules
! replaced non indirect rules (::) which are strictly file base with
indirect ones to not confuse dependence logic when parallel
compilation is enabled
! marked harbour.c and cmdarg.c as dependent on pptable.c to fix
compilation order - these files needs hbverbld.h which is generated
together with pptable.c
! fixed HBTESTDLL_EXE dependencies - static library were used instead
of harbour share library. BTW probably it will be good to create also
HBRUNDLL_EXE
With above modification parallel compilation can be enabled for
make_gcc.sh (-j<N> GNU make option). It greatly improves compilation
speed. Probably also make_{bcc,vc}.mak should be fixed even if they
do not support parallel compilation.
2008-11-08 10:23 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/gtwvg.c
! Updated to match current GTWVT.

View File

@@ -219,12 +219,12 @@ ARFLAGS = rc $(A_USR)
# COMPILE Rules
#**********************************************************
# General *.prg --> *.o COMPILE rule for STATIC Libraries
$(OBJ_DIR)/%$(OBJEXT) : %.prg
$(OBJ_DIR)/%$(OBJEXT) : %.prg $(HARBOUR_EXE)
$(HB) $(HARBOURFLAGS) -o$(OBJ_DIR)/ $<
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)/$(<F:.prg=.c)
#----------------------------------------------------------
# General *.prg --> *.o COMPILE rule for STATIC MT Libraries
$(MT_OBJ_DIR)/%$(OBJEXT) : %.prg
$(MT_OBJ_DIR)/%$(OBJEXT) : %.prg $(HARBOUR_EXE)
$(HB) $(HARBOURFLAGS) -o$(MT_OBJ_DIR)/ $<
$(CC) $(CLIBFLAGS) $(CFLAGSMT) -o$@ $(MT_OBJ_DIR)/$(<F:.prg=.c)
#----------------------------------------------------------
@@ -237,7 +237,7 @@ $(MT_OBJ_DIR)/%$(OBJEXT) : %.c
$(CC) $(CLIBFLAGS) $(CFLAGSMT) -o$@ $<
#*******************************************************
# General *.prg --> *.o COMPILE rule for SHARED Libraries
$(DLL_OBJ_DIR)/%$(OBJEXT) : %.prg
$(DLL_OBJ_DIR)/%$(OBJEXT) : %.prg $(HARBOUR_EXE)
$(HB) $(HARBOURFLAGSDLL) -o$(DLL_OBJ_DIR)/ $<
$(CC) $(CLIBFLAGSDLL) -o$@ $(DLL_OBJ_DIR)/$(<F:.prg=.c)
#----------------------------------------------------------
@@ -262,10 +262,13 @@ all : $(HB_DEST_DIRS) $(HB_BUILD_TARGETS)
# Helper targets
#**********************************************************
BasicLibs : $(COMMON_LIB) $(HBPP_EXE) $(PP_LIB) $(COMPILER_LIB)
BasicExes : BasicLibs $(HB)
BasicExes : BasicLibs $(HARBOUR_EXE)
StdLibs : BasicExes $(STANDARD_STATIC_HBLIBS)
MinLibs : $(MINIMAL_STATIC_HBLIBS)
#**********************************************************
$(MAIN_DIR)/harbour.c : $(OBJ_DIR)/pptable.c
$(VM_DIR)/cmdarg.c : $(OBJ_DIR)/pptable.c
#**********************************************************
#**********************************************************
@@ -393,34 +396,34 @@ $(HBPP_EXE) : $(HBPP_EXE_OBJS) $(COMMON_LIB)
$(HARBOUR_EXE) : $(HARBOUR_EXE_OBJS) $(COMPILER_LIB) $(PP_LIB) $(COMMON_LIB)
$(CC) $(CFLAGS) -o $@ $^ $(HB_OS_LIBS)
#**********************************************************
$(HBRUN_EXE) :: $(StdLibs)
$(HBRUN_EXE) :: $(HBRUN_EXE_OBJS)
$(HBRUN_EXE) : $(StdLibs)
$(HBRUN_EXE) : $(HBRUN_EXE_OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
#**********************************************************
$(HBTEST_EXE) :: $(StdLibs)
$(HBTEST_EXE) :: $(HBTEST_EXE_OBJS)
$(HBTEST_EXE) : $(StdLibs)
$(HBTEST_EXE) : $(HBTEST_EXE_OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
#**********************************************************
$(HBDOC_EXE) :: $(MinLibs)
$(HBDOC_EXE) :: $(HBDOC_EXE_OBJS)
$(HBDOC_EXE) : $(MinLibs)
$(HBDOC_EXE) : $(HBDOC_EXE_OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
#**********************************************************
$(HBMAKE_EXE) :: $(MinLibs)
$(HBMAKE_EXE) :: $(HBMAKE_EXE_OBJS)
$(HBMAKE_EXE) : $(MinLibs)
$(HBMAKE_EXE) : $(HBMAKE_EXE_OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
#**********************************************************
#**********************************************************
# DLL Targets
#**********************************************************
$(HARBOUR_DLL) :: $(StdLibs)
$(HARBOUR_DLL) :: $(DLL_OBJS)
$(HARBOUR_DLL) : $(StdLibs)
$(HARBOUR_DLL) : $(DLL_OBJS)
$(CC) $(LDFLAGSDLL) -o $@ $^ $(HB_OS_LIBS) $(HB_IMPLIB_PART)
#**********************************************************
# DLL EXECUTABLE Targets
#**********************************************************
$(HBTESTDLL_EXE) :: $(StdLibs)
$(HBTESTDLL_EXE) :: $(DLL_OBJ_DIR)/mainstd$(OBJEXT) \
$(HBTESTDLL_EXE) : $(HARBOUR_DLL)
$(HBTESTDLL_EXE) : $(DLL_OBJ_DIR)/mainstd$(OBJEXT) \
$(HBTEST_EXE_OBJS:$(OBJ_DIR)=$(DLL_OBJ_DIR))
$(CC) $(CEXEFLAGSDLL) -o$@ $^ $(HARBOUR_DLL) $(HB_OS_LIBS)
#----------------------------------------------------------