1#
2#  GNUmakefile.postamble
3#
4#  Copyright (C) 1997 Free Software Foundation, Inc.
5#
6#  Author: Scott Christley <scottc@net-community.com>
7#
8#  This file is part of the GNUstep GUI Library.
9#
10#  This library is free software; you can redistribute it and/or
11#  modify it under the terms of the GNU Lesser General Public
12#  License as published by the Free Software Foundation; either
13#  version 2 of the License, or (at your option) any later version.
14#
15#  This library is distributed in the hope that it will be useful,
16#  but WITHOUT ANY WARRANTY; without even the implied warranty of
17#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
18#  Lesser General Public License for more details.
19#
20#  You should have received a copy of the GNU Lesser General Public
21#  License along with this library; see the file COPYING.LIB.
22#  If not, see <http://www.gnu.org/licenses/> or write to the
23#  Free Software Foundation, 51 Franklin Street, Fifth Floor,
24#  Boston, MA 02110-1301, USA.
25
26#
27#   GNUmakefile.postamble
28#
29#   Project specific makefile rules
30#
31#   Uncomment the targets you want.
32#   The double colons (::) are important, do not make them single colons
33#   otherwise the normal makefile rules will not be performed.
34#
35
36# Things to do before compiling
37ifeq ($(doc),yes)
38before-all:: $(GNUSTEP_TARGET_DIR)/config.h
39	cp ../Documentation/Gui.gsdoc .
40
41# Things to do after compiling
42after-all::
43	$(RM) Gui.gsdoc
44	if test -d Gui; then rm -rf Gui; fi;
45else
46before-all:: $(GNUSTEP_TARGET_DIR)/config.h
47endif
48
49after-all:: Info-gnustep.plist
50
51# Things to do before installing
52# before-install::
53
54# Things to do after installing
55after-install::
56	for file in $(APPKIT_HEADERS); do \
57	  $(INSTALL_DATA) ../Headers/AppKit/$$file \
58	    $(GNUSTEP_HEADERS)/AppKit/$$file ; \
59	done; \
60	for file in $(COCOA_HEADERS); do \
61	  $(INSTALL_DATA) ../Headers/Cocoa/$$file \
62	    $(GNUSTEP_HEADERS)/Cocoa/$$file ; \
63	done
64
65#
66# Things to do before uninstalling
67# before-uninstall::
68
69# Things to do after uninstalling
70after-uninstall::
71	for file in $(APPKIT_HEADERS); do \
72	  rm -f $(GNUSTEP_HEADERS)/AppKit/$$file ; \
73	done; \
74	for file in $(COCOA_HEADERS); do \
75	  rm -f $(GNUSTEP_HEADERS)/Cocoa/$$file ; \
76	done
77
78# Things to do before cleaning
79# before-clean::
80
81# Things to do after cleaning
82# FIXME - this file is in subversion!
83after-clean::
84	rm -f libgnustep-gui.def
85
86# Things to do before distcleaning
87# before-distclean::
88
89# Things to do after distcleaning
90after-distclean::
91	rm -rf $(GNUSTEP_TARGET_DIR)/config.h
92	rm -rf ../Headers/Additions/GNUstepGUI/config.h
93
94# Things to do before checking
95# before-check::
96
97# Things to do after checking
98# after-check::
99
100#
101# GNUstep GUI Library specific targets
102
103#
104# The config.h file is specific to a target
105#
106$(GNUSTEP_TARGET_DIR)/config.h: ../config.status
107	$(MKDIRS) $(GNUSTEP_TARGET_DIR)
108	-mv ../Headers/Additions/GNUstepGUI/config.h $(GNUSTEP_TARGET_DIR)
109	-touch $(GNUSTEP_TARGET_DIR)/config.h
110
111#
112# Make list of class names for DLL exports. Uses the actual classes from
113# the .o files, so it should really have everything needed.
114#
115libgnustep-gui.def: $(OBJ_FILES_TO_LINK)
116	rm -f $@
117	rm -f _tmp.def
118	cat win32-def.top > $@
119	nm $^ | grep '^........ [TR] _' | sed 's/[^_]*_//' > _tmp.def
120	cat _tmp.def | grep "_class_name_" >> $@
121	rm -rf _tmp.def
122
123#
124# Make an Info.plist since libraries don't have these normally
125#
126Info-gnustep.plist: ../Version
127	$(ECHO_CREATING)(echo "{"; \
128	echo "  NSExecutable = \"gnustep-gui\";"; \
129	echo "  NSPrincipalClass = \"NSApplication\";"; \
130	echo "  GSBundleShortVersionString = \"$(VERSION)\";"; \
131	echo "  GSBundleVersion = $(VERSION_NUMBER);"; \
132	echo "  CFBundleShortVersionString = \"$(VERSION)\";"; \
133	echo "  CFBundleVersion = $(VERSION_NUMBER);"; \
134	echo "}") > $@$(END_ECHO)
135
136
137