Commit | Line | Data |
---|---|---|
03b93bdc DT |
1 | # Copyright 1998 Free Software Foundation, Inc. |
2 | ||
3 | # This file is part of GDB. | |
4 | ||
5 | # This program is free software; you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation; either version 2 of the License, or | |
8 | # (at your option) any later version. | |
9 | # | |
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | # | |
15 | # You should have received a copy of the GNU General Public License | |
16 | # along with this program; if not, write to the Free Software | |
17 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
18 | ||
19 | all: libtui.a | |
20 | ||
21 | srcdir=@srcdir@ | |
22 | VPATH = @srcdir@ | |
23 | ||
24 | SHELL = @SHELL@ | |
25 | ||
26 | CC=@CC@ | |
27 | CFLAGS=@CFLAGS@ | |
28 | AR=@AR@ | |
29 | RANLIB=@RANLIB@ | |
30 | ||
31 | # Host and target-dependent makefile fragments come in here. | |
32 | @host_makefile_frag@ | |
33 | @target_makefile_frag@ | |
34 | # End of host and target-dependent makefile fragments | |
35 | ||
36 | # Where is our "include" directory? Typically $(srcdir)/../include. | |
37 | # This is essentially the header file directory for the library | |
38 | # routines in libiberty. | |
39 | INCLUDE_DIR = $(srcdir)/../../include | |
40 | INCLUDE_CFLAGS = -I$(INCLUDE_DIR) | |
41 | ||
42 | # Configured by the --with-mmalloc option to configure. | |
43 | MMALLOC = @MMALLOC@ | |
44 | MMALLOC_CFLAGS = @MMALLOC_CFLAGS@ | |
45 | ||
46 | # Where is the BFD library? Typically in ../bfd. | |
47 | BFD_DIR = ../../bfd | |
48 | BFD_SRC = $(srcdir)/$(BFD_DIR) | |
49 | BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC) | |
50 | ||
51 | # Where is the READLINE library? Typically in ../readline. | |
52 | READLINE_DIR = ../../readline | |
53 | READLINE_SRC = $(srcdir)/$(READLINE_DIR) | |
54 | READLINE_CFLAGS = -I$(READLINE_SRC) | |
55 | ||
56 | # Where is the INTL library? Typically in ../intl. | |
57 | INTL_DIR = ../../intl | |
58 | INTL_SRC = $(srcdir)/$(INTL_DIR) | |
59 | INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC) | |
60 | ||
61 | # Where is the TCL library? Typically in ../tcl. | |
62 | TCL_CFLAGS = @TCLHDIR@ | |
63 | ||
64 | # Where is the TK library? Typically in ../tk. | |
65 | TK_CFLAGS = @TKHDIR@ @TK_BUILD_INCLUDES@ | |
66 | ||
67 | # Where is Itcl? Typically in ../itcl. | |
68 | ITCL_CFLAGS = @ITCLHDIR@ | |
69 | ||
70 | # Where is Tix? Typically in ../tix. | |
71 | TIX_CFLAGS = @TIXHDIR@ | |
72 | ||
73 | X11_CFLAGS = @TK_XINCLUDES@ | |
74 | ||
75 | ENABLE_IDE= @ENABLE_IDE@ | |
76 | ||
77 | GUI_CFLAGS_X = -I$(srcdir)/../../libgui/src | |
78 | ||
79 | IDE_CFLAGS_X = -I$(srcdir)/../../libidetcl/src -I$(srcdir)/../../libide/src \ | |
80 | `if [ x"$(ENABLE_IDE)" != x ] ; then \ | |
81 | echo -DIDE -I$(srcdir)/../../ilu/runtime/mainloop;\ | |
82 | fi` | |
83 | ||
84 | IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X) | |
85 | ||
86 | ENABLE_CFLAGS= @ENABLE_CFLAGS@ | |
87 | ||
88 | # -I. for config files. | |
89 | # -I$(srcdir) for gdb internal headers and possibly for gnu-regex.h also. | |
90 | # -I$(srcdir)/config for more generic config files. | |
91 | ||
92 | # It is also possible that you will need to add -I/usr/include/sys if | |
93 | # your system doesn't have fcntl.h in /usr/include (which is where it | |
94 | # should be according to Posix). | |
95 | DEFS = @DEFS@ | |
96 | GDB_CFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config $(DEFS) | |
97 | ||
98 | # M{H,T}_CFLAGS, if defined, have host- and target-dependent CFLAGS | |
99 | # from the config directory. | |
100 | GLOBAL_CFLAGS = $(MT_CFLAGS) $(MH_CFLAGS) | |
101 | #PROFILE_CFLAGS = -pg | |
102 | ||
103 | # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. | |
104 | INTERNAL_CFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ | |
105 | $(GDB_CFLAGS) $(READLINE_CFLAGS) $(BFD_CFLAGS) \ | |
106 | $(MMALLOC_CFLAGS) $(INCLUDE_CFLAGS) $(INTL_CFLAGS) \ | |
107 | $(ENABLE_CFLAGS) | |
108 | ||
109 | HEADERS = tuiIO.h tuiData.h tuiGeneralWin.h tuiLayout.h tuiStack.h \ | |
110 | tuiSource.h tuiCommand.h tuiWin.h tuiDisassem.h \ | |
111 | tuiSourceWin.h tuiRegs.h tuiDataWin.h | |
112 | ||
113 | SOURCES = tui.c tuiData.c tuiSource.c tuiStack.c tuiIO.c \ | |
114 | tuiGeneralWin.c tuiLayout.c tuiWin.c tuiCommand.c \ | |
115 | tuiDisassem.c tuiSourceWin.c tuiRegs.c tuiDataWin.c | |
116 | ||
117 | OBJECTS = tui.o tuiData.o tuiSource.o tuiStack.o tuiIO.o \ | |
118 | tuiGeneralWin.o tuiLayout.o tuiWin.o tuiCommand.o \ | |
119 | tuiDisassem.o tuiSourceWin.o tuiRegs.o tuiDataWin.o \ | |
120 | tuiInit.o | |
121 | ||
122 | ||
123 | # Prevent Sun make from putting in the machine type. Setting | |
124 | # TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1. | |
125 | .c.o: | |
126 | $(CC) -c $(INTERNAL_CFLAGS) $< | |
127 | .SUFFIXES: .cpp | |
128 | .c.cpp: | |
129 | $(CC) -E $(INTERNAL_CFLAGS) $< > $@ | |
130 | ||
131 | libtui.a: $(OBJECTS) | |
132 | rm -f libtui.a | |
133 | $(AR) rc libtui.a $(OBJECTS) | |
134 | $(RANLIB) libtui.a | |
135 | ||
136 | tui.o: tui.c tui.h tuiData.h tuiLayout.h tuiIO.h tuiRegs.h tuiWin.h | |
137 | tuiCommand.o: tui.h tuiData.h tuiWin.h tuiIO.h | |
138 | tuiData.o: tui.h tuiData.h | |
139 | tuiDataWin.o: tui.h tuiData.h tuiRegs.h | |
140 | tuiDisassem.o: tui.h tuiData.h tuiLayout.h tuiSourceWin.h tuiStack.h | |
141 | tuiGeneralWin.o: tui.h tuiData.h tuiGeneralWin.h | |
142 | tuiIO.o: tui.h tuiData.h tuiIO.h tuiCommand.h tuiWin.h | |
143 | tuiLayout.o: tui.h tuiData.h tuiGeneralWin.h tuiStack.h tuiRegs.h \ | |
144 | tuiDisassem.h | |
145 | tuiRegs.o: tui.h tuiData.h tuiLayout.h tuiWin.h | |
146 | tuiSource.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h tuiSource.h | |
147 | tuiSourceWin.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h tuiSource.h \ | |
148 | tuiDisassem.h | |
149 | tuiStack.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h | |
150 | tuiWin.o: tui.h tuiData.h tuiGeneralWin.h tuiStack.h tuiSourceWin.h \ | |
151 | tuiDataWin.h | |
152 | ||
153 | tuiInit.o: tuiInit.c | |
154 | tuiInit.c: $(SOURCES) | |
155 | @echo Making tuiInit.c | |
156 | @rm -f init.c-tmp | |
157 | @echo '/* Do not modify this file. */' >init.c-tmp | |
158 | @echo '/* It is created automatically by the Makefile. */'>>init.c-tmp | |
159 | @echo '#include "ansidecl.h"' >>init.c-tmp | |
160 | @echo 'extern void initialize_tui_files PARAMS ((void));' >>init.c-tmp | |
161 | @echo 'void initialize_tui_files PARAMS ((void)) {' >>init.c-tmp | |
162 | @-( cd $(srcdir) ; grep '^_initialize_[a-z_0-9A-Z]* *(' $(SOURCES) ) 2>/dev/null \ | |
163 | | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 PARAMS ((void)); \1 ();}/' >>init.c-tmp | |
164 | @echo '}' >>init.c-tmp | |
165 | @mv init.c-tmp tuiInit.c | |
166 | ||
167 | clean: | |
168 | rm -f *.o *.a |