Detect the case when there are no files to link, and emit a user-friendly warning in that case.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@28098 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2009-03-19 16:59:53 +00:00
parent ff6bd8f761
commit bd189086c0
14 changed files with 64 additions and 0 deletions

View file

@ -1,3 +1,25 @@
2009-03-19 Nicola Pero <nicola.pero@meta-innovation.com>
Print a user-friendly warning or notice message when there are no
files to link.
* messages.make (WARNING_EMPTY_LINKING, NOTICE_EMPTY_LINKING): New
messages.
* Instance/application.make: Print out the WARNING_EMPTY_LINKING
message if we're linking but there are no files to link.
* Instance/ctool.make: Same change.
* Instance/framework.make: Same change.
* Instance/gswapp.make: Same change.
* Instance/gswbundle.make: Same change.
* Instance/library.make: Same change.
* Instance/objc.make: Same change.
* Instance/palette.make: Same change.
* Instance/service.make: Same change.
* Instance/subproject.make: Same change.
* Instance/tool.make: Same change.
* Instance/bundle.make: Same change but use the
NOTICE_EMPTY_LINKING message.
2009-02-27 Nicola Pero <nicola.pero@meta-innovation.com>
* Documentation/README.Packaging: File removed - moved it

View file

@ -125,6 +125,9 @@ ifeq ($(findstring mingw32, $(GNUSTEP_TARGET_OS)), mingw32)
endif
$(APP_FILE): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) $(CC_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) $(ALL_LIB_DIRS) $(ALL_LIBS)$(END_ECHO)

View file

@ -201,6 +201,7 @@ else
# Following code for the case OBJ_FILES_TO_LINK is empty - bundle with
# no shared object in it.
build-bundle: shared-instance-bundle-all $(BUNDLE_INFO_PLIST_FILE)
$(NOTICE_EMPTY_LINKING)
endif # OBJ_FILES_TO_LINK
MAIN_MODEL_FILE = $(strip $(subst .gmodel,,$(subst .gorm,,$(subst .nib,,$($(GNUSTEP_INSTANCE)_MAIN_MODEL_FILE)))))

View file

@ -82,6 +82,9 @@ internal-ctool-compile: $(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT)
endif
$(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) \
$(ALL_LIB_DIRS) $(ALL_LIBS)$(END_ECHO)

View file

@ -564,6 +564,9 @@ endif
# itself depend on OBJ_FILES_TO_LINK else it might be built before all
# files are compiled.
$(FRAMEWORK_FILE): $(DUMMY_FRAMEWORK_OBJ_FILE) $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING) \
$(LIB_LINK_CMD) || $(RM) $(FRAMEWORK_FILE) ; \
(cd $(LIB_LINK_OBJ_DIR); \

View file

@ -112,6 +112,9 @@ GSWAPP_FILE = $(GNUSTEP_BUILD_DIR)/$(GSWAPP_FILE_NAME)
#
$(GSWAPP_FILE): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) $(CC_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) $(ALL_LIB_DIRS) $(ALL_GSW_LIBS)$(END_ECHO)

View file

@ -127,6 +127,9 @@ build-bundle: $(GSWBUNDLE_FILE) \
$(GSWBUNDLE_FILE) : $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(GSWBUNDLE_LD) $(GSWBUNDLE_LDFLAGS) \
$(ALL_LDFLAGS) -o $(LDOUT)$(GSWBUNDLE_FILE) \
$(OBJ_FILES_TO_LINK) \

View file

@ -275,6 +275,9 @@ internal-library-compile: $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE)
endif
$(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LIB_LINK_CMD)$(END_ECHO)
#

View file

@ -72,6 +72,9 @@ internal-objc_program-compile: $(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT)
endif
$(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) $(CC_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) $(ALL_LIB_DIRS) $(ALL_OBJC_LIBS)$(END_ECHO)

View file

@ -121,6 +121,9 @@ endif
# Standard bundle build using the rules for this target
$(PALETTE_FILE) : $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(BUNDLE_LD) $(BUNDLE_LDFLAGS) \
-o $(LDOUT)$(PALETTE_FILE) \
$(OBJ_FILES_TO_LINK) $(ALL_LDFLAGS) \

View file

@ -101,6 +101,9 @@ internal-service-compile: $(SERVICE_FILE)
endif
$(SERVICE_FILE): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) $(CC_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) $(ALL_SERVICE_LIBS)$(END_ECHO)

View file

@ -54,6 +54,9 @@ endif
# We need to depend on SUBPROJECT_OBJ_FILES to account for sub-subprojects.
$(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(OBJ_MERGE_CMD)$(END_ECHO)
#

View file

@ -82,6 +82,9 @@ internal-tool-compile: $(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT)
endif
$(GNUSTEP_OBJ_DIR)/$(GNUSTEP_INSTANCE)$(EXEEXT): $(OBJ_FILES_TO_LINK)
ifeq ($(OBJ_FILES_TO_LINK),)
$(WARNING_EMPTY_LINKING)
endif
$(ECHO_LINKING)$(LD) $(ALL_LDFLAGS) $(CC_LDFLAGS) -o $(LDOUT)$@ \
$(OBJ_FILES_TO_LINK) \
$(ALL_LIB_DIRS) $(ALL_LIBS)$(END_ECHO)

View file

@ -136,3 +136,11 @@ else
endif
# The following are warnings that are always displayed, no matter if
# messages=yes or messages=no
# Instance/tool.make
WARNING_EMPTY_LINKING = @(echo " Warning! No files to link. Please check your GNUmakefile! Make sure you set $(GNUSTEP_INSTANCE)_OBJC_FILES (or similar variables)")
# Instance/bundle.make
NOTICE_EMPTY_LINKING = @(echo " Notice: No files to link - creating a bundle with no object file and only resources")