1##############################################################################
2#   MAKEFILE - this file is part of Binary vIEW project (BIEW)               #
3##############################################################################
4#   Copyrights:           1998, 2000 Nickols_K                               #
5#   License:              See below                                          #
6#   Author and developer: Nickols_K                                          #
7#   Requirement:          GNU make                                           #
8#   Original file name:   makefile                                           #
9####################### [ D e s c r i p t i o n ] ############################
10#  This file is script for make utility of GNU development system.           #
11########################### [ L i c e n c e ] ################################
12# The Binary vIEW (BIEW) is copyright (C) 1995 Nickols_K.                    #
13# All rights reserved.                                                       #
14# This software is redistributable under the licence given in the file       #
15# "Licence" distributed in the BIEW archive.                                 #
16##############################################################################
17HOST_CFLAGS=
18HOST_LDFLAGS=
19
20include ./config.mak
21
22CFLAGS = $(CDEFOS) $(CDEFSYS) $(HOST_CFLAGS)
23LDFLAGS = $(OSLDEF) $(HOST_LDFLAGS)
24
25###########################################################################
26# TARGET: put name of executable image here                               #
27###########################################################################
28TARGET = biew
29BIEWLIB = ./biewlib/$(LIBPREFIX)$(TARGET).$(LIBEXT)
30##########################################################################
31#                Please not modify contents below                        #
32##########################################################################
33
34INCS = -I.
35LIBS = -L./biewlib -l$(TARGET) $(OS_LIBS)
36OBJS = \
37addendum.o\
38bconsole.o\
39biew.o\
40biewhelp.o\
41biewutil.o\
42bin_util.o\
43bmfile.o\
44codeguid.o\
45colorset.o\
46dialogs.o\
47editors.o\
48events.o\
49fileutil.o\
50info_win.o\
51mainloop.o\
52refs.o\
53search.o\
54setup.o\
55sysinfo.o\
56tstrings.o\
57addons/sys/ascii.o\
58addons/sys/consinfo.o\
59addons/sys/cpu_perf.o\
60addons/sys/inview.o\
61addons/tools/dig_conv.o\
62addons/tools/eval.o\
63plugins/bin/aout.o\
64plugins/bin/arch.o\
65plugins/bin/asf.o\
66plugins/bin/avi.o\
67plugins/bin/bin.o\
68plugins/bin/bmp.o\
69plugins/bin/coff386.o\
70plugins/bin/dos_sys.o\
71plugins/bin/elf386.o\
72plugins/bin/jpeg.o\
73plugins/bin/jvmclass.o\
74plugins/bin/le.o\
75plugins/bin/lmf.o\
76plugins/bin/lx.o\
77plugins/bin/mov.o\
78plugins/bin/mp3.o\
79plugins/bin/mpeg.o\
80plugins/bin/mz.o\
81plugins/bin/ne.o\
82plugins/bin/nlm386.o\
83plugins/bin/opharlap.o\
84plugins/bin/pe.o\
85plugins/bin/pharlap.o\
86plugins/bin/rdoff.o\
87plugins/bin/rdoff2.o\
88plugins/bin/realmedia.o\
89plugins/bin/sis.o\
90plugins/bin/sisx.o\
91plugins/bin/wav.o\
92plugins/binmode.o\
93plugins/disasm.o\
94plugins/hexmode.o\
95plugins/textmode.o\
96plugins/nls/russian.o\
97plugins/disasm/null_da.o\
98plugins/disasm/arm/arm.o\
99plugins/disasm/arm/arm16.o\
100plugins/disasm/arm/arm32.o\
101plugins/disasm/avr/avr.o\
102plugins/disasm/ppc/ppc.o\
103plugins/disasm/java/java.o\
104plugins/disasm/ix86/ix86.o\
105plugins/disasm/ix86/ix86_fpu.o\
106plugins/disasm/ix86/ix86_fun.o
107BIEWLIB_OBJS =\
108biewlib/bbio.o\
109biewlib/biewlib.o\
110biewlib/file_ini.o\
111biewlib/pmalloc.o\
112biewlib/twin.o\
113biewlib/tw_class.o\
114biewlib/sysdep/$(MACHINE)/aclib.o\
115biewlib/sysdep/$(MACHINE)/cpu_info.o\
116biewlib/sysdep/$(MACHINE)/$(HOST)/fileio.o\
117biewlib/sysdep/$(MACHINE)/$(HOST)/keyboard.o\
118biewlib/sysdep/$(MACHINE)/$(HOST)/mmfio.o\
119biewlib/sysdep/$(MACHINE)/$(HOST)/mouse.o\
120biewlib/sysdep/$(MACHINE)/$(HOST)/misc.o\
121biewlib/sysdep/$(MACHINE)/$(HOST)/nls.o\
122biewlib/sysdep/$(MACHINE)/$(HOST)/os_dep.o\
123biewlib/sysdep/$(MACHINE)/$(HOST)/timer.o\
124biewlib/sysdep/$(MACHINE)/$(HOST)/vio.o
125
126ifeq ($(HOST),qnx)
127OBJS += \
128biewlib/sysdep/$(MACHINE)/$(HOST)/3rto3s.o\
129biewlib/sysdep/$(MACHINE)/$(HOST)/3sto3r.o
130endif
131
132HLP_SUBDIRS=tools/biewhlp tools/lzss
133DO_HELP = @ for i in $(HLP_SUBDIRS); do $(MAKE) -C $$i $@ || exit; done
134
135all: $(BIEWLIB) $(TARGET)
136biewlib: $(BIEWLIB)
137
138clean:
139	$(DO_HELP)
140	$(RM) $(OBJS)
141	$(RM) $(BIEWLIB_OBJS)
142	$(RM) $(TARGET)
143	$(RM) $(BIEWLIB)
144	$(RM) biew.map
145	$(RM) *.err
146
147distclean: clean
148	$(DO_HELP)
149	$(RM) config.log config.mak
150	$(RM) -f ./hlp/biew.hlp
151	$(RM) -f ./hlp/biewhlp
152	$(RM) -f ./hlp/lzss
153
154cleansys:
155	$(RM) biewlib/sysdep/$(MACHINE)/{*.o,$(HOST)/*.o}
156cleanlib:
157	$(RM) $(BIEWLIB_OBJS)
158	$(RM) $(BIEWLIB)
159
160$(BIEWLIB): $(BIEWLIB_OBJS)
161	$(AR) $@ $(BIEWLIB_OBJS)
162	$(RANLIB) $@
163
164$(TARGET): $(OBJS) $(BIEWLIB)
165	$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
166%.o : %.c
167	$(CC) $(CFLAGS) $(INCS) -c $< -o $@
168
169addendum.o:                   addendum.c
170bconsole.o:                   bconsole.c
171biew.o:                       biew.c
172biewhelp.o:                   biewhelp.c
173biewutil.o:                   biewutil.c
174bin_util.o:                   bin_util.c
175bmfile.o:                     bmfile.c
176codeguid.o:                   codeguid.c
177colorset.o:                   colorset.c
178dialogs.o:                    dialogs.c
179editors.o:                    editors.c
180events.o:                     events.c
181fileutil.o:                   fileutil.c
182info_win.o:                   info_win.c
183mainloop.o:                   mainloop.c
184refs.o:                       refs.c
185search.o:                     search.c
186setup.o:                      setup.c
187sysinfo.o:                    sysinfo.c
188tstrings.o:                   tstrings.c
189addons/sys/ascii.o:           addons/sys/ascii.c
190addons/sys/consinfo.o:        addons/sys/consinfo.c
191addons/sys/cpu_perf.o:        addons/sys/cpu_perf.c
192addons/sys/inview.o:          addons/sys/inview.c
193addons/tools/dig_conv.o:      addons/tools/dig_conv.c
194addons/tools/eval.o:          addons/tools/eval.c
195plugins/bin/aout.o:           plugins/bin/aout.c
196plugins/bin/arch.o:           plugins/bin/arch.c
197plugins/bin/asf.o:            plugins/bin/asf.c
198plugins/bin/avi.o:            plugins/bin/avi.c
199plugins/bin/bin.o:            plugins/bin/bin.c
200plugins/bin/bmp.o:            plugins/bin/bmp.c
201plugins/bin/coff386.o:        plugins/bin/coff386.c
202plugins/bin/dos_sys.o:        plugins/bin/dos_sys.c
203plugins/bin/elf386.o:         plugins/bin/elf386.c
204plugins/bin/jpeg.o:           plugins/bin/jpeg.c
205plugins/bin/jvmclass.o:       plugins/bin/jvmclass.c
206plugins/bin/le.o:             plugins/bin/le.c
207plugins/bin/lmf.o:            plugins/bin/lmf.c
208plugins/bin/lx.o:             plugins/bin/lx.c
209plugins/bin/mov.o:            plugins/bin/mov.c
210plugins/bin/mp3.o:            plugins/bin/mp3.c
211plugins/bin/mpeg.o:           plugins/bin/mpeg.c
212plugins/bin/mz.o:             plugins/bin/mz.c
213plugins/bin/ne.o:             plugins/bin/ne.c
214plugins/bin/nlm386.o:         plugins/bin/nlm386.c
215plugins/bin/opharlap.o:       plugins/bin/opharlap.c
216plugins/bin/pe.o:             plugins/bin/pe.c
217plugins/bin/pharlap.o:        plugins/bin/pharlap.c
218plugins/bin/rdoff.o:          plugins/bin/rdoff.c
219plugins/bin/rdoff2.o:         plugins/bin/rdoff2.c
220plugins/bin/realmedia.o:      plugins/bin/realmedia.c
221plugins/bin/sis.o:            plugins/bin/sis.c
222plugins/bin/sisx.o:           plugins/bin/sisx.c
223plugins/bin/wav.o:            plugins/bin/wav.c
224plugins/binmode.o:            plugins/binmode.c
225plugins/disasm.o:             plugins/disasm.c
226plugins/hexmode.o:            plugins/hexmode.c
227plugins/textmode.o:           plugins/textmode.c
228plugins/nls/russian.o:        plugins/nls/russian.c
229plugins/disasm/null_da.o:     plugins/disasm/null_da.c
230plugins/disasm/java/java.o:   plugins/disasm/java/java.c
231plugins/disasm/arm/arm.o:     plugins/disasm/arm/arm.c
232plugins/disasm/arm/arm16.o:   plugins/disasm/arm/arm16.c
233plugins/disasm/arm/arm32.o:   plugins/disasm/arm/arm32.c
234plugins/disasm/avr/avr.o:     plugins/disasm/avr/avr.c
235plugins/disasm/ppc/ppc.o:     plugins/disasm/ppc/ppc.c
236plugins/disasm/ix86/ix86.o:   plugins/disasm/ix86/ix86.c
237plugins/disasm/ix86/ix86_fpu.o: plugins/disasm/ix86/ix86_fpu.c
238plugins/disasm/ix86/ix86_fun.o: plugins/disasm/ix86/ix86_fun.c
239biewlib/bbio.o:               biewlib/bbio.c
240biewlib/biewlib.o:            biewlib/biewlib.c
241biewlib/file_ini.o:           biewlib/file_ini.c
242biewlib/pmalloc.o:            biewlib/pmalloc.c
243biewlib/twin.o:               biewlib/twin.c
244biewlib/tw_class.o:           biewlib/tw_class.c
245biewlib/sysdep/$(MACHINE)/aclib.o:            biewlib/sysdep/$(MACHINE)/aclib.c
246biewlib/sysdep/$(MACHINE)/cpu_info.o:         biewlib/sysdep/$(MACHINE)/cpu_info.c
247biewlib/sysdep/$(MACHINE)/$(HOST)/fileio.o:   biewlib/sysdep/$(MACHINE)/$(HOST)/fileio.c
248biewlib/sysdep/$(MACHINE)/$(HOST)/keyboard.o: biewlib/sysdep/$(MACHINE)/$(HOST)/keyboard.c
249biewlib/sysdep/$(MACHINE)/$(HOST)/mmfio.o:    biewlib/sysdep/$(MACHINE)/$(HOST)/mmfio.c
250biewlib/sysdep/$(MACHINE)/$(HOST)/mouse.o:    biewlib/sysdep/$(MACHINE)/$(HOST)/mouse.c
251biewlib/sysdep/$(MACHINE)/$(HOST)/misc.o:     biewlib/sysdep/$(MACHINE)/$(HOST)/misc.c
252biewlib/sysdep/$(MACHINE)/$(HOST)/nls.o:      biewlib/sysdep/$(MACHINE)/$(HOST)/nls.c
253biewlib/sysdep/$(MACHINE)/$(HOST)/os_dep.o:   biewlib/sysdep/$(MACHINE)/$(HOST)/os_dep.c
254biewlib/sysdep/$(MACHINE)/$(HOST)/timer.o:    biewlib/sysdep/$(MACHINE)/$(HOST)/timer.c
255biewlib/sysdep/$(MACHINE)/$(HOST)/vio.o:      biewlib/sysdep/$(MACHINE)/$(HOST)/vio.c
256
257ifeq ($(HOST),qnx)
258biewlib/sysdep/ia32/qnx/cpu_info.o:           biewlib/sysdep/ia32/qnx/cpu_info.asm
259	cc -c $< -o $@
260biewlib/sysdep/ia32/qnx/3rto3s.o:             biewlib/sysdep/ia32/qnx/3rto3s.asm
261	cc -c $< -o $@
262biewlib/sysdep/ia32/qnx/3sto3r.o:             biewlib/sysdep/ia32/qnx/3sto3r.asm
263	cc -c $< -o $@
264endif
265
266install:
267ifeq ($(INSTALL),)
268	@echo "*** 'install' utility was not found and you can't run automatic"
269	@echo "*** installation. Please download 'fileutils' from ftp://ftp.gnu.org and"
270	@echo "*** install them to have possibility perform autiomatic installation"
271	@echo "*** of this project"
272	@exit 1
273endif
274	$(INSTALL) -D -m 755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
275	$(INSTALL) -D -c -m 644 doc/biew.1 $(DESTDIR)$(PREFIX)/man/man1/biew.1
276	$(INSTALL) -D -c -m 644 bin_rc/biew.hlp $(DESTDIR)$(DATADIR)/biew.hlp
277	mkdir --parents $(DESTDIR)$(DATADIR)/skn
278	$(INSTALL) -D -c -m 644 bin_rc/skn/*.skn $(DESTDIR)$(DATADIR)/skn
279	mkdir --parents $(DESTDIR)$(DATADIR)/syntax
280	$(INSTALL) -D -c -m 644 bin_rc/syntax/*.stx $(DESTDIR)$(DATADIR)/syntax
281	mkdir --parents $(DESTDIR)$(DATADIR)/xlt/russian
282	$(INSTALL) -D -c -m 644 bin_rc/xlt/russian/*.xlt $(DESTDIR)$(DATADIR)/xlt/russian
283	$(INSTALL) -D -c -m 644 bin_rc/xlt/*.xlt bin_rc/xlt/readme $(DESTDIR)$(DATADIR)/xlt
284uninstall:
285	$(RM) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
286	$(RM) $(DESTDIR)$(DATADIR)/skn/*
287	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DATADIR)/skn
288	$(RM) $(DESTDIR)$(DATADIR)/syntax/*
289	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DATADIR)/syntax
290	$(RM) $(DESTDIR)$(DATADIR)/xlt/russian/*
291	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DATADIR)/xlt/russian
292	$(RM) $(DESTDIR)$(DATADIR)/xlt/*
293	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DATADIR)/xlt
294	$(RM) $(DESTDIR)$(DATADIR)/*
295	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DATADIR)
296
297help:
298	$(DO_HELP)
299	$(RM) -f hlp/biewhlp
300	$(RM) -f hlp/lzss
301	$(LN) ../tools/biewhlp/biewhlp hlp/biewhlp
302	$(LN) ../tools/lzss/lzss hlp/lzss
303	($(CD) ./hlp && ./biewhlp biewhlp.prj && $(CD) .. )
304	$(RM) -f ./bin_rc/biew.hlp
305	$(CP) ./hlp/biew.hlp ./bin_rc
306