mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
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:
parent
391a9335b4
commit
82a89a09c8
9 changed files with 162 additions and 80 deletions
26
ChangeLog
26
ChangeLog
|
@ -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
5
README
|
@ -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>
|
||||
|
|
15
common.make
15
common.make
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
13
library.make
13
library.make
|
@ -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
|
||||
|
||||
|
|
69
rules.make
69
rules.make
|
@ -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
|
||||
|
|
20
target.make
20
target.make
|
@ -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 =
|
||||
|
||||
|
|
84
test.make
84
test.make
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue