40
19
ARCHIVENAME = libgtkada.a
42
GTKADA_CONFIG = gtkada-config
46
GENERATE = generate.pl
50
c_objects = $(LIB_DIR)/misc.o $(LIB_DIR)/misc_extra.o $(LIB_DIR)/misc_broken.o
51
c_extra_objects = gtkextra/gtk*.o
21
c_objects = misc.o misc_extra.o misc_broken.o
22
c_objects_dir= ${c_objects:%=${OBJ_DIR}/%}
23
c_extra_objects = ../gtkextra/obj/gtk*.o
25
SRC_FILES=glib*.o gdk*.o gtk*.o pango*.o ${c_objects} ${c_extra_objects}
27
include Makefile.common
29
## These cannot be shared in Makefile.common, since relative paths might be
30
## generated for configure (../install-sh), or absolute paths (/usr/bin/install)
32
INSTALL_DATA = @INSTALL_DATA@
33
INSTALL_PROGRAM = @INSTALL_PROGRAM@
34
INSTALL_SCRIPT = @INSTALL_SCRIPT@
53
36
## General and public targets
38
libs: ada ${c_objects_dir} gtkextra
57
39
ifeq ($(BUILD_SHARED),yes)
58
libs: extra $(LIBNAME) $(ARCHIVENAME) opengl glade gnome install_ali
60
libs: extra $(ARCHIVENAME) opengl glade gnome install_ali
40
libs: ${OBJ_DIR}/$(SONAME)
75
tools: $(GATE_EX) $(GDIALOG)
42
libs: ${OBJ_DIR}/${ARCHIVENAME} opengl glade gnome
44
opengl gtkextra glade gnome tools: force
81
-$(CHMOD) +x $(GATE) $(GTKADA_CONFIG)
83
$(LIBNAME):: $(LIB_DIR)/$(MAKE_ADB).o ${wildcard ${LIB_DIR}/*.o} $(c_objects)
84
ifeq ($(BUILD_SHARED),yes)
85
$(CC) -shared $(FPIC) $(OS_SPECIFIC_LINK_OPTIONS) -o $(SONAME) \
86
$(SO_OPTS)$(SONAME) $(LIB_DIR)/glib*.o $(LIB_DIR)/gdk*.o \
87
$(LIB_DIR)/gtk*.o $(LIB_DIR)/pango*.o \
88
$(c_objects) $(c_extra_objects) $(GTK_LIBS)
90
$(LN) $(SONAME) $(LIBNAME)
91
ifeq ($(OS),Windows_NT)
92
-@if [ ! -f .devel ]; then \
93
$(CHMOD) +x $(SONAME) $(LIBNAME); \
96
-@if [ ! -f .devel ]; then \
98
$(CHMOD) +x $(LIBNAME); \
103
$(ARCHIVENAME):: $(LIB_DIR)/$(MAKE_ADB).o ${wildcard ${LIB_DIR}/*.o} $(c_objects)
104
$(AR) $(ARFLAGS) $(ARCHIVENAME) $(LIB_DIR)/glib*.o $(LIB_DIR)/gdk*.o $(LIB_DIR)/gtk*.o $(LIB_DIR)/pango*.o $(c_objects) $(c_extra_objects)
105
-$(RANLIB) $(ARCHIVENAME)
107
# This copies the .ali files from lib_obj/ to the current directory, and change
108
# the permission of the files so that dgate, gate and testgtk use the dynamic
109
# library. We do not do this if .devel exists, so that gnatmake will still
110
# rebuild the files (it does not check anything if the .ali files are read-only.
112
test -f .devel || $(CP) $(LIB_DIR)/*.ali .
113
test -f .devel || $(CHMOD) -w glib*.ali gdk*.ali gtk*.ali pango*.ali
115
$(GATE_EX):: $(GATE_SRC) $(LIBNAME) force
116
@if [ -f .devel ]; then \
117
$(GNATMAKE) -aO$(LIB_DIR) $(GNATFLAGS_DEVEL) -o $(GATE_EX) $(GATE_SRC) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
119
$(GNATMAKE) $(GNATFLAGS) -o $(GATE_EX) $(GATE_SRC) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
122
$(DGATE):: $(DGATE).adb $(LIBNAME) glade
123
@if [ -f .devel ]; then \
124
$(GNATMAKE) -aO$(LIB_DIR) -Iglade $(GNATFLAGS_DEVEL) $(DGATE) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
126
$(GNATMAKE) -Iglade $(GNATFLAGS) $(DGATE) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
129
$(GDIALOG):: $(GDIALOG).adb $(LIBNAME)
130
@if [ -f .devel ]; then \
131
$(GNATMAKE) -aO$(LIB_DIR) $(GNATFLAGS_DEVEL) $(GDIALOG) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
133
$(GNATMAKE) $(GNATFLAGS) $(GDIALOG) $(GNATMAKEBINDFLAGS) $(GNATMAKELDFLAGS); \
136
$(LIB_DIR)/$(MAKE_ADB).o:: gtkada-intl.adb force
137
@if [ -f .devel ]; then \
139
$(GNATMAKE) -c ../$(MAKE_ADB) $(GNATFLAGS_DEVEL) $(FPIC); \
142
$(GNATMAKE) -c ../$(MAKE_ADB) $(GNATFLAGS) $(FPIC); \
52
ada: gtkada-intl.adb force
53
${GNATMAKE} -Pgtkada_src -u ${FPIC} ${GPR_BUILD}
145
55
gtkada-intl.adb: gtkada-intl.gpb Makefile
146
56
gnatprep -DGETTEXT_INTL=$(GETTEXT_INTL) \
147
57
-DHAVE_GETTEXT=$(HAVE_GETTEXT) gtkada-intl.gpb gtkada-intl.adb
150
60
@if [ "$(prefix)" != `pwd` ]; then \
151
61
echo Installing GtkAda in $(prefix); \
152
62
$(MKDIR) $(bindir); \
153
63
$(MKDIR) $(libdir); \
154
64
$(MKDIR) $(incdir); \
155
$(MKDIR) $(alidir); \
156
$(INSTALL_DATA) $(ARCHIVENAME) $(alidir); \
65
$(MKDIR) $(alidir)/static; \
66
$(INSTALL_DATA) ${OBJ_DIR}/$(ARCHIVENAME) $(alidir)/static; \
157
67
$(RM) $(libdir)/$(ARCHIVENAME); \
158
68
if [ -f /usr/bin/$(RANLIB) -o -f /bin/$(RANLIB) ]; then \
159
$(RANLIB) $(alidir)/$(ARCHIVENAME); \
69
$(RANLIB) $(alidir)/static/$(ARCHIVENAME); \
161
71
if [ $(BUILD_SHARED) = yes ]; then \
72
$(MKDIR) $(alidir)/relocatable; \
73
$(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) $(alidir)/relocatable; \
162
74
if [ "$(OS)" = "Windows_NT" ]; then \
163
$(INSTALL_DATA) $(SONAME) $(bindir); \
164
$(INSTALL_DATA) $(SONAME) $(alidir); \
165
$(CHMOD) +x $(bindir)/$(SONAME) $(alidir)/$(SONAME); \
75
$(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) $(bindir); \
76
${INSTALL_DATA} ${OBJ_DIR}/$(SONAME) ${alidir}/relocatable/${LIBNAME}; \
77
$(CHMOD) +x $(bindir)/$(SONAME) $(alidir)/relocatable/$(SONAME); \
167
$(INSTALL_DATA) $(SONAME) $(alidir); \
168
79
$(RM) $(libdir)/$(LIBNAME); \
169
$(LN) $(SONAME) $(alidir)/$(LIBNAME); \
170
$(LN) gtkada/$(SONAME) $(libdir)/$(LIBNAME); \
171
$(LN) gtkada/$(SONAME) $(libdir)/$(SONAME); \
80
$(LN) $(SONAME) $(alidir)/relocatable/$(LIBNAME); \
81
$(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(LIBNAME); \
82
$(LN) gtkada/relocatable/$(SONAME) $(libdir)/$(SONAME); \
84
$(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali $(alidir)/relocatable; \
85
$(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali $(alidir)/relocatable; \
174
87
$(CP) glib*.ads glib*.adb $(MESA_SPECS) $(incdir); \
175
88
$(CP) gdk*.ads gdk*.adb $(incdir); \
176
89
$(CP) gtk*.ads gtk*.adb $(incdir); \
177
90
$(CP) pango*.ads pango*.adb $(incdir); \
178
$(CP) $(LIB_DIR)/glib*.ali $(LIB_DIR)/gdk*.ali $(LIB_DIR)/gtk*.ali $(LIB_DIR)/pango*.ali $(alidir); \
179
$(CHMOD) ugo-w $(alidir)/*.ali; \
180
$(INSTALL_SCRIPT) $(GTKADA_CONFIG) $(bindir); \
181
$(INSTALL_SCRIPT) $(GATE) $(bindir); \
182
$(INSTALL_SCRIPT) $(GENERATE) $(bindir); \
183
$(INSTALL_PROGRAM) $(GATE_EX) $(bindir); \
184
$(INSTALL_PROGRAM) $(GDIALOG) $(bindir); \
91
$(CP) $(OBJ_DIR)/glib*.ali $(OBJ_DIR)/gdk*.ali $(alidir)/static; \
92
$(CP) $(OBJ_DIR)/gtk*.ali $(OBJ_DIR)/pango*.ali $(alidir)/static; \
185
93
$(MAKE) -C opengl install; \
186
94
$(MAKE) -C glade install; \
187
95
$(MAKE) -C gnome install; \
96
$(MAKE) -C tools install; \
97
$(CHMOD) ugo-w $(alidir)/static/*.ali; \
98
if [ $(BUILD_SHARED) = yes ]; then \
99
$(CHMOD) ugo-w $(alidir)/relocatable/*.ali; \
189
@echo '------------------------------------------------------------------'
190
@echo '-- GtkAda has now been installed. --'
191
@echo '-- To be able to use the library, you may need to update your --'
192
@echo '-- LD_LIBRARY_PATH or to run ldconfig. You may also need to --'
193
@echo '-- update your PATH to include gtkada-config in it. --'
194
@echo '------------------------------------------------------------------'
197
-${RM} *.o *.ali *~ b_*.c b~*.ad? core
199
-${RM} $(ARCHIVENAME) $(LIBNAME) $(SONAME)
200
-${RM} $(GATE_EX) $(DGATE) $(GDIALOG)
104
-${RM} *.o *.ali *~ b_*.c b~*.ad? core gtkada-intl.adb
203
mostlyclean-generic: clean-generic
206
-${RM} $(GTKADA_CONFIG)
209
107
$(MAKE) -C gtkextra clean
210
108
$(MAKE) -C opengl clean
211
109
$(MAKE) -C glade clean
212
110
$(MAKE) -C gnome clean
111
$(MAKE) -C tools clean
214
distclean: mostlyclean-generic
215
115
$(MAKE) -C gtkextra distclean
216
116
$(MAKE) -C opengl distclean
217
117
$(MAKE) -C glade distclean
218
118
$(MAKE) -C gnome distclean
219
-$(RM) Makefile.common
221
mostlyclean: mostlyclean-generic
222
$(MAKE) -C gtkextra mostlyclean
223
$(MAKE) -C opengl mostlyclean
224
$(MAKE) -C glade mostlyclean
225
$(MAKE) -C gnome mostlyclean
226
-$(RM) Makefile.common
228
maintainer-clean: mostlyclean-generic
229
$(MAKE) -C gtkextra maintainer-clean
230
$(MAKE) -C opengl maintainer-clean
231
$(MAKE) -C glade maintainer-clean
232
$(MAKE) -C gnome maintainer-clean
119
$(MAKE) -C tools distclean
233
120
-$(RM) Makefile.common
235
122
## Find the list of bindings that are not up-to-date