Some fixes to better support test.make.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@2485 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Ovidiu Predescu 1997-10-07 23:27:51 +00:00
parent 391a9335b4
commit 82a89a09c8
9 changed files with 162 additions and 80 deletions

View file

@ -1,3 +1,29 @@
Tue Oct 7 15:59:28 1997 Ovidiu Predescu <ovidiu@net-community.com>
* common.make: New FOUNDATION_LIBRARY_NAME, FOUNDATION_LIBRARY_DEFINE
and RUNTIME_DEFINE make variables. Correctly handle the suffix of a
library name (using LIBRARY_NAME_SUFFIX).
* library.make: Append to the name of the library the suffix which
identifies its type. Output the library in the object files directory.
* rules.make: Move INTERNAL_LDFLAGS to the end of ALL_LDFLAGS
definition. Removed unnecessary passing of TARGET_LIB_DIR to shell
scripts. Process the libraries used to create a test using the
which_lib program. New variable SCRIPTS_DIRECTORY which identifies the
location of the dejagnu scripts (it can be not defined in which case
the current directory is assumed).
* target.make: For OS 4.x: don't hard code the location to libobjc and
libgcc, pass -L flags to libtool that point to the various GNUstep
directories. Define ADDITIONAL_LDFLAGS with a flag to linker that
disables warning for common symbols.
* test.make: Assume the driver program is located under the object
files directory.
Create the unix.exp file in the config directory where the test scripts
are located.
Compressed the internal-check-* targets into a single target.
* rules.make: Work with the new internal-check-* targets.
* which_lib.c: Fixed a bug when two libraries that have the same prefix
were matching.
Sun Oct 5 20:30:01 1997 Ovidiu Predescu <ovidiu@net-community.com>
* common.make: Take the which_lib script from the host_cpu/host_os

5
README
View file

@ -136,5 +136,6 @@ Questions and/or Bug Reports
============================
The initial implementation was performed by Scott Christley
<scottc@net-community.com>, so you may send questions and/or bug reports to him
or to the GNUstep discussion mailing list at <discussion@gnustep.org>
<scottc@net-community.com> and Ovidiu Predescu <ovidiu@net-community.com>, so
you may send questions and/or bug reports to them or to the GNUstep discussion
mailing list at <discussion@gnustep.org>

View file

@ -96,6 +96,8 @@ GNUSTEP_USER_LIBRARIES = $(GNUSTEP_USER_TARGET_LIBRARIES)/$(LIBRARY_COMBO)
#
ifeq ($(FOUNDATION_LIB),gnu)
GNUSTEP_FND_DIR = gnustep/base
FOUNDATION_LIBRARY_NAME = gnustep-base
FOUNDATION_LIBRARY_DEFINE = -DGNUSTEP_BASE_LIBRARY=1
GNUSTEP_HEADERS_FND = $(GNUSTEP_HEADERS)/$(GNUSTEP_FND_DIR)
GNUSTEP_HEADERS_FND_FLAG = -I$(GNUSTEP_HEADERS_FND) \
-I$(GNUSTEP_HEADERS_FND)/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(OBJC_RUNTIME)
@ -103,6 +105,8 @@ endif
ifeq ($(FOUNDATION_LIB),fd)
GNUSTEP_FND_DIR = libFoundation
FOUNDATION_LIBRARY_NAME = Foundation
FOUNDATION_LIBRARY_DEFINE = -DLIB_FOUNDATION_LIBRARY=1
GNUSTEP_HEADERS_FND = $(GNUSTEP_HEADERS)/$(GNUSTEP_FND_DIR)
GNUSTEP_HEADERS_FND_FLAG = -I$(GNUSTEP_HEADERS_FND) \
-I$(GNUSTEP_HEADERS_FND)/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(OBJC_RUNTIME)
@ -111,12 +115,14 @@ endif
ifeq ($(FOUNDATION_LIB),nx)
GNUSTEP_FND_DIR = next
GNUSTEP_HEADERS_FND = $(GNUSTEP_HEADERS)/$(GNUSTEP_FND_DIR)
FOUNDATION_LIBRARY_DEFINE = -DNeXT_Foundation_LIBRARY=1
GNUSTEP_HEADERS_FND_FLAG = -I$(GNUSTEP_HEADERS_FND)
endif
ifeq ($(FOUNDATION_LIB),sun)
GNUSTEP_FND_DIR = sun
GNUSTEP_HEADERS_FND = $(GNUSTEP_HEADERS)/$(GNUSTEP_FND_DIR)
FOUNDATION_LIBRARY_DEFINE = -DSun_Foundation_LIBRARY=1
GNUSTEP_HEADERS_FND_FLAG = -I$(GNUSTEP_HEADERS_FND)
endif
@ -151,10 +157,12 @@ OBJ_DIR_PREFIX =
ifeq ($(OBJC_RUNTIME_LIB),gnu)
RUNTIME_FLAG = -fgnu-runtime
RUNTIME_DEFINE = -DGNU_RUNTIME=1
endif
ifeq ($(OBJC_RUNTIME_LIB),nx)
RUNTIME_FLAG = -fnext-runtime
RUNTIME_DEFINE = -DNeXT_RUNTIME=1
endif
OPTFLAG = -O2
@ -179,20 +187,27 @@ else
LIB_LINK_CMD = $(STATIC_LIB_LINK_CMD)
OBJ_DIR_PREFIX += static_
AFTER_INSTALL_LIBRARY_CMD = $(AFTER_INSTALL_STATIC_LIB_COMMAND)
LIBRARY_NAME_SUFFIX := s$(LIBRARY_NAME_SUFFIX)
endif
ifeq ($(profile), yes)
ADDITIONAL_FLAGS += -pg
OBJ_DIR_PREFIX += profile_
LIBRARY_NAME_SUFFIX := p$(LIBRARY_NAME_SUFFIX)
endif
ifeq ($(debug), yes)
ADDITIONAL_FLAGS += -g
OBJ_DIR_PREFIX += debug_
LIBRARY_NAME_SUFFIX := d$(LIBRARY_NAME_SUFFIX)
endif
OBJ_DIR_PREFIX += obj
ifneq ($(LIBRARY_NAME_SUFFIX),)
LIBRARY_NAME_SUFFIX := _$(LIBRARY_NAME_SUFFIX)
endif
INTERNAL_OBJCFLAGS += $(ADDITIONAL_FLAGS) $(OPTFLAG) $(OBJCFLAGS) \
$(RUNTIME_FLAG)
INTERNAL_CFLAGS += $(ADDITIONAL_FLAGS) $(CFLAGS) $(OPTFLAG) $(RUNTIME_FLAG)

View file

@ -53,7 +53,7 @@ OBJC_LIBS =
#
# Set the appropriate ObjC runtime library and other information
#
ifeq ($(OBJC_RUNTIME_LIB),gnu)
ifeq ($(OBJC_RUNTIME_LIB), gnu)
OBJC_LDFLAGS =
OBJC_LIB_DIR =
OBJC_LIBS = -lobjc

View file

@ -29,10 +29,10 @@ include $(GNUSTEP_SYSTEM_ROOT)/Makefiles/rules.make
#
ifeq ($(shared), yes)
LIBRARY_FILE = $(LIBRARY_NAME)$(SHARED_LIBEXT)
LIBRARY_FILE = $(LIBRARY_NAME)$(LIBRARY_NAME_SUFFIX)$(SHARED_LIBEXT)
LIBRARY_FILE_EXT=$(SHARED_LIBEXT)
else
LIBRARY_FILE = $(LIBRARY_NAME)$(LIBEXT)
LIBRARY_FILE = $(LIBRARY_NAME)$(LIBRARY_NAME_SUFFIX)$(LIBEXT)
LIBRARY_FILE_EXT=$(LIBEXT)
endif
@ -49,10 +49,10 @@ endif
#
# Compilation targets
#
internal-all:: $(GNUSTEP_OBJ_DIR) $(VERSION_LIBRARY_FILE) \
internal-all:: $(GNUSTEP_OBJ_DIR) $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE) \
import-library
$(VERSION_LIBRARY_FILE): $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE): $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(LIB_LINK_CMD)
import-library::
@ -83,8 +83,9 @@ internal-install-libs:: internal-install-lib \
internal-install-import-lib
internal-install-lib::
if [ -f $(VERSION_LIBRARY_FILE) ]; then \
$(INSTALL_PROGRAM) $(VERSION_LIBRARY_FILE) $(GNUSTEP_LIBRARIES) ; \
if [ -f $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE) ]; then \
$(INSTALL_PROGRAM) $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE) \
$(GNUSTEP_LIBRARIES) ; \
$(AFTER_INSTALL_LIBRARY_CMD) \
fi

View file

@ -35,9 +35,8 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(ADDITIONAL_CFLAGS) \
$(GNUSTEP_HEADERS_FND_FLAG) $(GNUSTEP_HEADERS_GUI_FLAG) \
-I$(GNUSTEP_TARGET_HEADERS) -I$(GNUSTEP_HEADERS)
ALL_LDFLAGS = $(INTERNAL_LDFLAGS) $(ADDITIONAL_LDFLAGS) \
$(FND_LDFLAGS) $(GUI_LDFLAGS) $(BACKEND_LDFLAGS) \
$(SYSTEM_LDFLAGS)
ALL_LDFLAGS = $(ADDITIONAL_LDFLAGS) $(FND_LDFLAGS) $(GUI_LDFLAGS) \
$(BACKEND_LDFLAGS) $(SYSTEM_LDFLAGS) $(INTERNAL_LDFLAGS)
ALL_LIB_DIRS = $(ADDITIONAL_LIB_DIRS) -L$(GNUSTEP_LIBRARIES) \
-L$(GNUSTEP_TARGET_LIBRARIES) $(SYSTEM_LIB_DIR)
@ -52,14 +51,17 @@ LIB_DIRS_NO_SYSTEM = $(ADDITIONAL_LIB_DIRS) -L$(GNUSTEP_LIBRARIES) \
-L$(GNUSTEP_TARGET_LIBRARIES)
ALL_TOOL_LIBS := \
$(shell TARGET_LIB_DIR=$(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO) \
$(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TOOL_LIBS) \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TOOL_LIBS) \
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
ALL_GUI_LIBS := \
$(shell TARGET_LIB_DIR=$(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO) \
$(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_GUI_LIBS) \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_GUI_LIBS) \
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
LIBRARIES_DEPEND_UPON := \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(LIBRARIES_DEPEND_UPON)\
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
@ -130,6 +132,26 @@ ALL_TEST_TOOL_LIBS = $(ADDITIONAL_TOOL_LIBS) $(FND_LIBS) $(OBJC_LIBS) \
ALL_TEST_GUI_LIBS = $(ADDITIONAL_GUI_LIBS) $(BACKEND_LIBS) $(GUI_LIBS) \
$(FND_LIBS) $(OBJC_LIBS) $(SYSTEM_LIBS) $(TARGET_SYSTEM_LIBS)
ALL_TEST_LIBRARY_LIBS := \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TEST_LIBRARY_LIBS)\
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
ALL_TEST_BUNDLE_LIBS := \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TEST_BUNDLE_LIBS) \
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
ALL_TEST_TOOL_LIBS := \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TEST_TOOL_LIBS) \
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
ALL_TEST_GUI_LIBS := \
$(shell $(WHICH_LIB_SCRIPT) $(LIB_DIRS_NO_SYSTEM) $(ALL_TEST_GUI_LIBS) \
debug=$(debug) profile=$(profile) shared=$(shared) libext=$(LIBEXT) \
shared_libext=$(SHARED_LIBEXT))
%.testlib : FORCE
@echo Making $*...
$(MAKE) --no-print-directory internal-testlib-all \
@ -139,7 +161,8 @@ ALL_TEST_GUI_LIBS = $(ADDITIONAL_GUI_LIBS) $(BACKEND_LIBS) $(GUI_LIBS) \
PSWRAP_FILES="$($*_PSWRAP_FILES)" \
ADDITIONAL_INCLUDE_DIRS="$($*_INCLUDE_DIRS)" \
ADDITIONAL_LIBRARY_LIBS="$($*_LIBS)" \
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)"
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.testbundle : FORCE
@echo Making $*...
@ -152,7 +175,8 @@ ALL_TEST_GUI_LIBS = $(ADDITIONAL_GUI_LIBS) $(BACKEND_LIBS) $(GUI_LIBS) \
RESOURCE_DIRS="$($*_RESOURCE_DIRS)" \
ADDITIONAL_INCLUDE_DIRS="$($*_INCLUDE_DIRS)" \
ADDITIONAL_BUNDLE_LIBS="$($*_LIBS)" \
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)"
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.testtool : FORCE
@echo Making $*...
@ -163,7 +187,8 @@ ALL_TEST_GUI_LIBS = $(ADDITIONAL_GUI_LIBS) $(BACKEND_LIBS) $(GUI_LIBS) \
PSWRAP_FILES="$($*_PSWRAP_FILES)" \
ADDITIONAL_INCLUDE_DIRS="$($*_INCLUDE_DIRS)" \
ADDITIONAL_TOOL_LIBS="$($*_LIBS)" \
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)"
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.testapp : FORCE
@echo Making $*...
@ -174,38 +199,42 @@ ALL_TEST_GUI_LIBS = $(ADDITIONAL_GUI_LIBS) $(BACKEND_LIBS) $(GUI_LIBS) \
PSWRAP_FILES="$($*_PSWRAP_FILES)" \
ADDITIONAL_INCLUDE_DIRS="$($*_INCLUDE_DIRS)" \
ADDITIONAL_GUI_LIBS="$($*_LIBS)" \
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)"
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
# These are for running the tests
ALL_LD_LIB_DIRS = $(ADDITIONAL_LD_LIB_DIRS)$(GNUSTEP_LD_LIB_DIRS)
%.checklib : FORCE
@echo Checking $*...
$(MAKE) --no-print-directory internal-check-lib \
$(MAKE) --no-print-directory internal-check-LIBRARY \
TEST_LIBRARY_NAME=$* \
ADDITIONAL_LD_LIB_DIRS="$($*_LD_LIB_DIRS)" \
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)"
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.checkbundle : FORCE
@echo Checking $*...
$(MAKE) --no-print-directory internal-check-bundle \
$(MAKE) --no-print-directory internal-check-BUNDLE \
TEST_BUNDLE_NAME=$* \
ADDITIONAL_LD_LIB_DIRS="$($*_LD_LIB_DIRS)" \
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)"
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.checktool : FORCE
@echo Checking $*...
$(MAKE) --no-print-directory internal-check-tool \
$(MAKE) --no-print-directory internal-check-TOOL \
TEST_TOOL_NAME=$* \
ADDITIONAL_LD_LIB_DIRS="$($*_LD_LIB_DIRS)" \
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)"
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
%.checkapp : FORCE
@echo Checking $*...
$(MAKE) --no-print-directory internal-check-app \
$(MAKE) --no-print-directory internal-check-APP \
TEST_APP_NAME=$* \
ADDITIONAL_LD_LIB_DIRS="$($*_LD_LIB_DIRS)" \
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)"
CHECK_SCRIPT_DIRS="$($*_SCRIPT_DIRS)" \
SCRIPTS_DIRECTORY="$($*_SCRIPTS_DIRECTORY)"
#
# The list of Objective-C source files to be compiled

View file

@ -112,16 +112,26 @@ HAVE_BUNDLES = no
ifeq ($(GNUSTEP_TARGET_OS), nextstep4)
HAVE_BUNDLES = yes
HAVE_SHARED_LIBS = yes
TARGET_LIB_DIR = \
Libraries/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
SHARED_LIB_LINK_CMD = \
/bin/libtool -dynamic -read_only_relocs suppress -o $@ \
/NextLibrary/Frameworks/System.framework/System \
$(GNUSTEP_LIBRARIES)/libobjc$(SHARED_LIBEXT) \
$(GNUSTEP_LIBRARIES)/libgcc$(SHARED_LIBEXT) $^; \
(rm -f $(LIBRARY_FILE); \
-L$(GNUSTEP_USER_ROOT)/$(TARGET_LIB_DIR) \
-L$(GNUSTEP_LOCAL_ROOT)/$(TARGET_LIB_DIR) \
-L$(GNUSTEP_SYSTEM_ROOT)/$(TARGET_LIB_DIR) \
$(LIBRARIES_DEPEND_UPON) -lobjc -lgcc $^; \
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
STATIC_LIB_LINK_CMD = /bin/libtool -static -o $@ $^
LDFLAGS += -Wl,-read_only_relocs,suppress
STATIC_LIB_LINK_CMD = \
/bin/libtool -static -o $@ $^; \
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
ADDITIONAL_LDFLAGS += -Wl,-read_only_relocs,suppress
AFTER_INSTALL_STATIC_LIB_COMMAND =

View file

@ -6,6 +6,7 @@
# Copyright (C) 1997 Free Software Foundation, Inc.
#
# Author: Scott Christley <scottc@net-community.com>
# Author: Ovidiu Predescu <ovidiu@net-community.com>
#
# This file is part of the GNUstep Makefile Package.
#
@ -89,30 +90,36 @@ CHECK_APP_LIST := $(TEST_APP_NAME:=.checkapp)
TEST_APP_STAMPS := $(foreach app,$(TEST_APP_NAME),stamp-testapp-$(app))
TEST_APP_STAMPS := $(addprefix $(GNUSTEP_OBJ_DIR)/,$(TEST_APP_STAMPS))
ALL_LD_LIB_DIRS = $(ADDITIONAL_LD_LIB_DIRS)$(GNUSTEP_LD_LIB_DIRS)
ifeq ($(SCRIPTS_DIRECTORY),)
SCRIPTS_DIRECTORY = .
endif
#
# Internal targets
#
$(GNUSTEP_OBJ_DIR)/stamp-testlib-% : $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(TEST_LIBRARY_NAME) \
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(GNUSTEP_OBJ_DIR)/$(TEST_LIBRARY_NAME) \
$(C_OBJ_FILES) $(OBJC_OBJ_FILES) \
$(ALL_LIB_DIRS) $(ALL_TEST_LIBRARY_LIBS)
touch $@
$(GNUSTEP_OBJ_DIR)/stamp-testbundle-% : $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(TEST_BUNDLE_NAME) \
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(GNUSTEP_OBJ_DIR)/$(TEST_BUNDLE_NAME) \
$(C_OBJ_FILES) $(OBJC_OBJ_FILES) \
$(ALL_LIB_DIRS) $(ALL_TEST_BUNDLE_LIBS)
touch $@
$(GNUSTEP_OBJ_DIR)/stamp-testtool-% : $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(TEST_TOOL_NAME) \
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(GNUSTEP_OBJ_DIR)/$(TEST_TOOL_NAME) \
$(C_OBJ_FILES) $(OBJC_OBJ_FILES) \
$(ALL_LIB_DIRS) $(ALL_TEST_TOOL_LIBS)
touch $@
$(GNUSTEP_OBJ_DIR)/stamp-testapp-% : $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(TEST_APP_NAME) \
$(LD) $(ALL_LDFLAGS) $(LDOUT)$(GNUSTEP_OBJ_DIR)/$(TEST_APP_NAME) \
$(C_OBJ_FILES) $(OBJC_OBJ_FILES) \
$(ALL_LIB_DIRS) $(ALL_TEST_APP_LIBS)
touch $@
@ -120,24 +127,24 @@ $(GNUSTEP_OBJ_DIR)/stamp-testapp-% : $(C_OBJ_FILES) $(OBJC_OBJ_FILES)
#
# Compilation targets
#
internal-all:: config/unix.exp $(GNUSTEP_OBJ_DIR) internal-test-build
internal-all:: $(GNUSTEP_OBJ_DIR) internal-test-build
config/unix.exp::
@$(GNUSTEP_MAKEFILES)/mkinstalldirs config
@echo "Creating the config/unix.exp file..."
@echo "## Do Not Edit ##" > config/unix.exp
@echo "# Contents generated automatically by Makefile" >> config/unix.exp
@echo "#" >> config/unix.exp
@echo "" >> config/unix.exp
@echo "set OBJC_RUNTIME $(OBJC_RUNTIME)" >> config/unix.exp
@echo "set FOUNDATION_LIB $(FOUNDATION_LIB)" >> config/unix.exp
@echo "" >> config/unix.exp
@echo "set OBJCTEST_DIR $(GNUSTEP_LIBRARIES_ROOT)/ObjCTest" >> config/unix.exp
@echo "set objdir `pwd`" >> config/unix.exp
@echo "source \"\$$OBJCTEST_DIR/common.exp\"" >> config/unix.exp
@echo "" >> config/unix.exp
@echo "# Maintain your own code in local.exp" >> config/unix.exp
@echo "source \"config/local.exp\"" >> config/unix.exp
$(SCRIPTS_DIRECTORY)/config/unix.exp::
@$(GNUSTEP_MAKEFILES)/mkinstalldirs $(SCRIPTS_DIRECTORY)/config
@echo "Creating the $@ file..."
@echo "## Do Not Edit ##" > $@
@echo "# Contents generated automatically by Makefile" >> $@
@echo "#" >> $@
@echo "" >> $@
@echo "set OBJC_RUNTIME $(OBJC_RUNTIME)" >> $@
@echo "set FOUNDATION_LIBRARY $(FOUNDATION_LIB)" >> $@
@echo "" >> $@
@echo "set OBJCTEST_DIR $(GNUSTEP_LIBRARIES_ROOT)/ObjCTest" >> $@
@echo "set objdir `pwd`" >> $@
@echo "source \"\$$OBJCTEST_DIR/common.exp\"" >> $@
@echo "" >> $@
@echo "# Maintain your own code in local.exp" >> $@
@echo "source \"config/local.exp\"" >> $@
internal-test-build:: test-libs test-bundles test-tools test-apps
@ -161,7 +168,7 @@ internal-testapp-all:: $(GNUSTEP_OBJ_DIR)/stamp-testapp-$(TEST_APP_NAME)
# Check targets (actually running the tests)
#
internal-check:: config/unix.exp check-libs check-bundles check-tools check-apps
internal-check:: check-libs check-bundles check-tools check-apps
check-libs:: $(CHECK_LIBRARY_LIST)
@ -171,26 +178,13 @@ check-tools:: $(CHECK_TOOL_LIST)
check-apps:: $(CHECK_APP_LIST)
internal-check-lib::
for f in $(CHECK_SCRIPT_DIRS); do \
($(LD_LIB_PATH)=$(ALL_LD_LIB_DIRS); export $(LD_LIB_PATH); \
runtest --tool $$f --srcdir . PROG=./$(TEST_LIBRARY_NAME)) ; \
done
internal-check-bundle::
for f in $(CHECK_SCRIPT_DIRS); do \
($(LD_LIB_PATH)=$(ALL_LD_LIB_DIRS); export $(LD_LIB_PATH); \
runtest --tool $$f --srcdir . PROG=./$(TEST_BUNDLE_NAME) ; \
done
internal-check-tool::
for f in $(CHECK_SCRIPT_DIRS); do \
($(LD_LIB_PATH)=$(ALL_LD_LIB_DIRS); export $(LD_LIB_PATH); \
runtest --tool $$f --srcdir . PROG=./$(TEST_TOOL_NAME) ; \
done
internal-check-app::
for f in $(CHECK_SCRIPT_DIRS); do \
($(LD_LIB_PATH)=$(ALL_LD_LIB_DIRS); export $(LD_LIB_PATH); \
runtest --tool $$f --srcdir . PROG=./$(TEST_APP_NAME) ; \
done
internal-check-%:: $(SCRIPTS_DIRECTORY)/config/unix.exp
@(for f in $(CHECK_SCRIPT_DIRS); do \
$(LD_LIB_PATH)=$(ALL_LD_LIB_DIRS); export $(LD_LIB_PATH); \
if [ "$(SCRIPTS_DIRECTORY)" != "" ]; then \
echo "cd $(SCRIPTS_DIRECTORY); runtest --tool $$f --srcdir . PROG=../$(GNUSTEP_OBJ_DIR)/$(TEST_$*_NAME)"; \
(cd $(SCRIPTS_DIRECTORY); runtest --tool $$f --srcdir . PROG=../$(GNUSTEP_OBJ_DIR)/$(TEST_$*_NAME)); \
else \
runtest --tool $$f --srcdir . PROG=./$(TEST_$*_NAME) ; \
fi; \
done)

View file

@ -249,13 +249,19 @@ int search_for_library_with_type_in_directory(char type, char* path, char* ext)
else {
/* The extension matches. Do a check to see if the suffix of the
library matches the library type we are looking for. */
for (i = library_name_len; i < filelen - extlen; i++) {
for (i = library_name_len + 3; i < filelen - extlen; i++) {
if (dirbuf->d_name[i] == '_')
continue;
if (type == dirbuf->d_name[i]) {
found = 1;
break;
}
/* Skip the libraries that begin with the same name but have different
suffix, eg libobjc.a libobjc-test.a. */
if (dirbuf->d_name[i] != 'd'
|| dirbuf->d_name[i] != 'p'
|| dirbuf->d_name[i] != 's')
break;
}
}