2015-05-13 07:03:32 +00:00
|
|
|
# -*-makefile-gmake-*-
|
1997-09-23 21:00:33 +00:00
|
|
|
# Makefile.postamble
|
|
|
|
#
|
|
|
|
# Copyright (C) 1997 Free Software Foundation, Inc.
|
|
|
|
#
|
|
|
|
# Author: Scott Christley <scottc@net-community.com>
|
|
|
|
#
|
|
|
|
# This file is part of the GNUstep Base Library.
|
|
|
|
#
|
|
|
|
# This library is free software; you can redistribute it and/or
|
2007-09-14 11:36:11 +00:00
|
|
|
# modify it under the terms of the GNU Lesser General Public
|
1997-09-23 21:00:33 +00:00
|
|
|
# License as published by the Free Software Foundation; either
|
2008-06-08 10:38:33 +00:00
|
|
|
# version 2 of the License, or (at your option) any later version.
|
1997-09-23 21:00:33 +00:00
|
|
|
#
|
|
|
|
# This library is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# Library General Public License for more details.
|
|
|
|
#
|
|
|
|
# If you are interested in a warranty or support for this source code,
|
|
|
|
# contact Scott Christley at scottc@net-community.com
|
|
|
|
#
|
2007-09-14 11:36:11 +00:00
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
1997-09-23 21:00:33 +00:00
|
|
|
# License along with this library; see the file COPYING.LIB.
|
|
|
|
# If not, write to the Free Software Foundation,
|
2005-05-22 03:32:16 +00:00
|
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Makefile.postamble
|
|
|
|
#
|
|
|
|
# Project specific makefile rules
|
|
|
|
#
|
|
|
|
# Uncomment the targets you want.
|
|
|
|
# The double colons (::) are important, do not make them single colons
|
|
|
|
# otherwise the normal makefile rules will not be performed.
|
|
|
|
#
|
|
|
|
|
|
|
|
# Things to do before compiling
|
1999-07-10 17:46:04 +00:00
|
|
|
before-all:: $(GENERATED_HFILES)
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do after compiling
|
2004-10-26 19:08:17 +00:00
|
|
|
after-all:: Info-gnustep.plist
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do before installing
|
2010-11-28 09:30:05 +00:00
|
|
|
#before-install::
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do after installing
|
|
|
|
#
|
2011-07-19 09:38:51 +00:00
|
|
|
ifeq ($(OBJC2RUNTIME),0)
|
1997-09-23 21:00:33 +00:00
|
|
|
after-install::
|
2011-03-13 14:33:42 +00:00
|
|
|
$(MKDIRS) $(GNUSTEP_HEADERS)/ObjectiveC2
|
2012-01-08 14:25:56 +00:00
|
|
|
$(MKDIRS) $(GNUSTEP_HEADERS)/ObjectiveC2/objc
|
2011-03-13 12:52:37 +00:00
|
|
|
for file in $(OBJECTIVEC2_HEADERS); do \
|
2012-01-08 14:25:56 +00:00
|
|
|
$(INSTALL_DATA) ../Headers/ObjectiveC2/objc/$$file \
|
|
|
|
$(GNUSTEP_HEADERS)/ObjectiveC2/objc/$$file ; \
|
2011-03-13 12:52:37 +00:00
|
|
|
done
|
2011-07-19 09:38:51 +00:00
|
|
|
endif
|
|
|
|
after-install::
|
2011-03-13 14:33:42 +00:00
|
|
|
$(MKDIRS) $(GNUSTEP_HEADERS)/GNUstepBase
|
2011-03-13 12:52:37 +00:00
|
|
|
for file in $(GNUSTEPBASE_HEADERS); do \
|
|
|
|
$(INSTALL_DATA) ../Headers/GNUstepBase/$$file \
|
2016-08-19 12:20:24 +00:00
|
|
|
$(GNUSTEP_HEADERS)/GNUstepBase/$$file ; \
|
1997-09-23 21:00:33 +00:00
|
|
|
done
|
2007-02-16 08:09:55 +00:00
|
|
|
$(INSTALL_DATA) $(GNUSTEP_TARGET_DIR)/GNUstepBase/GSConfig.h \
|
2016-08-19 12:20:24 +00:00
|
|
|
$(GNUSTEP_HEADERS)/GNUstepBase/GSConfig.h
|
2007-12-17 20:17:01 +00:00
|
|
|
if [ "$(DESTDIR)" = "" ]; then \
|
1998-12-01 14:41:53 +00:00
|
|
|
services=/etc/services; \
|
2001-03-16 22:24:55 +00:00
|
|
|
if [ "`$(WHOAMI)`" != root ]; then \
|
|
|
|
echo "WARNING: Please add the following lines to $$services"; \
|
|
|
|
echo "gdomap 538/tcp # GNUstep distrib objects"; \
|
|
|
|
echo "gdomap 538/udp # GNUstep distrib objects"; \
|
|
|
|
else \
|
|
|
|
if [ "`fgrep gdomap $$services 2>/dev/null`" = "" ]; then \
|
|
|
|
echo "GNUstep addons for /etc/services written to $$services"; \
|
|
|
|
set -x; \
|
|
|
|
echo "gdomap 538/tcp # GNUstep distrib objects" >> $$services; \
|
|
|
|
echo "gdomap 538/udp # GNUstep distrib objects" >> $$services; \
|
|
|
|
fi; \
|
1999-03-02 08:58:30 +00:00
|
|
|
fi; \
|
1998-11-20 19:48:31 +00:00
|
|
|
fi
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do before uninstalling
|
2011-07-19 09:38:51 +00:00
|
|
|
ifeq ($(OBJC2RUNTIME),0)
|
2004-06-19 03:22:11 +00:00
|
|
|
before-uninstall::
|
2011-03-13 12:52:37 +00:00
|
|
|
for file in $(OBJECTIVEC2_HEADERS); do \
|
2012-01-08 14:25:56 +00:00
|
|
|
rm -f $(GNUSTEP_HEADERS)/ObjectiveC2/objc/$$file ; \
|
2011-03-13 12:52:37 +00:00
|
|
|
done
|
2011-07-19 09:38:51 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
before-uninstall::
|
2011-03-13 12:52:37 +00:00
|
|
|
for file in $(GNUSTEPBASE_HEADERS); do \
|
2003-07-31 23:49:32 +00:00
|
|
|
rm -f $(GNUSTEP_HEADERS)/GNUstepBase/$$file ; \
|
1997-10-30 22:23:50 +00:00
|
|
|
done
|
2007-03-17 16:42:59 +00:00
|
|
|
rm -f $(GNUSTEP_HEADERS)/$(GNUSTEP_TARGET_DIR)/GNUstepBase/GSConfig.h
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do before cleaning
|
|
|
|
# before-clean::
|
|
|
|
|
|
|
|
# Things to do after cleaning
|
2003-10-22 02:45:43 +00:00
|
|
|
after-clean::
|
2015-05-13 07:03:32 +00:00
|
|
|
rm -f libgnustep-base.def Info-gnustep.plist
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do before distcleaning
|
|
|
|
# before-distclean::
|
|
|
|
|
|
|
|
# Things to do after distcleaning
|
1997-10-28 14:34:49 +00:00
|
|
|
after-distclean::
|
2016-08-19 12:20:24 +00:00
|
|
|
rm -f $(GNUSTEP_TARGET_DIR)/config.h
|
|
|
|
rm -f $(GNUSTEP_TARGET_DIR)/GNUstepBase/GSConfig.h
|
2016-07-10 04:27:42 +00:00
|
|
|
# rm -rf $(GNUSTEP_TARGET_DIR)
|
1997-09-23 21:00:33 +00:00
|
|
|
|
|
|
|
# Things to do before checking
|
|
|
|
# before-check::
|
|
|
|
|
|
|
|
# Things to do after checking
|
|
|
|
# after-check::
|
|
|
|
|
|
|
|
dynamic-load.h: ../config.status
|
|
|
|
rm -f dynamic-load.h
|
2003-10-17 13:25:28 +00:00
|
|
|
cp $(DYNAMIC_LINKER)-load.h dynamic-load.h
|
1997-09-23 21:00:33 +00:00
|
|
|
|
1997-11-06 00:51:23 +00:00
|
|
|
#
|
2016-08-19 12:20:24 +00:00
|
|
|
# The following header files are specific to a target, so to enable multiple
|
|
|
|
# builds in the same directory, we copy them to a target-specific subdirectory
|
|
|
|
# which will be found by the compiler first when compiling for that target
|
1997-11-06 00:51:23 +00:00
|
|
|
#
|
2000-12-05 16:11:55 +00:00
|
|
|
$(GNUSTEP_TARGET_DIR)/config.h: ../config.status
|
|
|
|
$(MKDIRS) $(GNUSTEP_TARGET_DIR)
|
2016-08-19 12:20:24 +00:00
|
|
|
-cp $(HEADER_DIR_BASE)/config.h $(GNUSTEP_TARGET_DIR)
|
2000-12-05 16:11:55 +00:00
|
|
|
-touch $(GNUSTEP_TARGET_DIR)/config.h
|
1997-11-06 00:51:23 +00:00
|
|
|
|
2007-02-16 08:09:55 +00:00
|
|
|
$(GNUSTEP_TARGET_DIR)/GNUstepBase/GSConfig.h: ../config.status
|
|
|
|
$(MKDIRS) $(GNUSTEP_TARGET_DIR)/GNUstepBase
|
2016-08-19 12:20:24 +00:00
|
|
|
-cp $(HEADER_DIR_BASE)/GSConfig.h $(GNUSTEP_TARGET_DIR)/GNUstepBase
|
2007-02-16 08:09:55 +00:00
|
|
|
-touch $(GNUSTEP_TARGET_DIR)/GNUstepBase/GSConfig.h
|
2010-07-01 10:15:37 +00:00
|
|
|
|
1999-08-25 10:40:16 +00:00
|
|
|
#
|
2018-01-19 08:44:50 +00:00
|
|
|
# Files where optimisation breaks the code!
|
|
|
|
# These have to filter the optimisation flag out.
|
2003-10-15 10:21:59 +00:00
|
|
|
#
|
2009-10-26 18:01:08 +00:00
|
|
|
libgnustep-base-entry.m_FILE_FILTER_OUT_FLAGS = -O% # gcc 4.4 on mingw
|
1999-08-25 10:40:16 +00:00
|
|
|
|
2000-06-30 22:42:48 +00:00
|
|
|
#
|
2003-10-22 02:45:43 +00:00
|
|
|
# Make list of class names for DLL exports. Uses the actual classes from
|
|
|
|
# the .o files, so it should really have everything needed.
|
2000-06-30 22:42:48 +00:00
|
|
|
#
|
2003-10-22 02:45:43 +00:00
|
|
|
libgnustep-base.def: $(OBJ_FILES_TO_LINK)
|
2000-12-18 17:24:57 +00:00
|
|
|
rm -f $@
|
2000-06-30 22:42:48 +00:00
|
|
|
rm -f _tmp.def
|
2000-12-18 17:24:57 +00:00
|
|
|
cat win32-def.top > $@
|
2004-10-06 03:33:09 +00:00
|
|
|
nm $^ | grep '^........ [TR] _' | sed 's/[^_]*_//' > _tmp.def
|
2000-12-18 17:24:57 +00:00
|
|
|
cat _tmp.def | grep "_class_name_" >> $@
|
2000-06-30 22:42:48 +00:00
|
|
|
rm -rf _tmp.def
|
|
|
|
|
2004-10-26 19:08:17 +00:00
|
|
|
#
|
|
|
|
# Make an Info.plist since libraries don't have these normally
|
|
|
|
#
|
2005-07-27 16:45:53 +00:00
|
|
|
Info-gnustep.plist: ../Version
|
2004-10-26 19:08:17 +00:00
|
|
|
$(ECHO_CREATING)(echo "{"; \
|
|
|
|
echo " NSExecutable = \"gnustep-base\";"; \
|
|
|
|
echo " NSPrincipalClass = \"NSObject\";"; \
|
|
|
|
echo " GSBundleShortVersionString = \"$(VERSION)\";"; \
|
|
|
|
echo " GSBundleVersion = $(VERSION_NUMBER);"; \
|
2004-10-29 03:31:04 +00:00
|
|
|
echo " CFBundleShortVersionString = \"$(VERSION)\";"; \
|
|
|
|
echo " CFBundleVersion = $(VERSION_NUMBER);"; \
|
2004-10-26 19:08:17 +00:00
|
|
|
echo "}") > $@$(END_ECHO)
|
|
|
|
|