~ubuntu-branches/ubuntu/precise/arj/precise-security

« back to all changes in this revision

Viewing changes to .pc/002_no_remove_static_const.patch/gnu/makefile.in

  • Committer: Bazaar Package Importer
  • Author(s): Guillem Jover
  • Date: 2010-07-26 15:18:11 UTC
  • mfrom: (5.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20100726151811-m981cpsvcven3vks
Tags: 3.10.22-9
* Use a safe strcpy for overlapping strings, among others fixes a build
  problem with a mangled generated .c file by msgbind (thus FTBFS), and
  CRC errors at run-time. (Closes: #590354)
* Now using Standards-Version 3.9.1 (no changes needed).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# $Id: makefile.in,v 1.14 2004/04/17 11:28:07 andrew_belov Exp $
 
3
# ----------------------------------------------------------------------------
 
4
# This file is for using the GNU ways to compile ARJ.
 
5
#
 
6
 
 
7
# Environment
 
8
 
 
9
x = @PROG_EXT@
 
10
d = @DLL_EXT@
 
11
OS_ID = @OS_ID@
 
12
SHELL = @CONFIG_SHELL@
 
13
DYN_LIBS = @DYN_LIBS@
 
14
LIBS = @LIBS@
 
15
REGISTER = @REGISTER@
 
16
 
 
17
# Programs
 
18
 
 
19
INSTALL = @INSTALL@
 
20
INSTALL_DIR = @INSTALL@ -d -m 755
 
21
INSTALL_DATA = @INSTALL_DATA@
 
22
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 
23
 
 
24
# Installation Paths
 
25
 
 
26
prefix = @prefix@
 
27
exec_prefix = @exec_prefix@
 
28
bindir = @bindir@
 
29
datadir = @datadir@
 
30
mandir = @mandir@
 
31
libdir = @libdir@
 
32
 
 
33
pkglibdir = $(libdir)/arj
 
34
 
 
35
# Defaults
 
36
 
 
37
ifndef LOCALE
 
38
LOCALE = en
 
39
endif
 
40
 
 
41
ALL_CFLAGS = -DLOCALE=LANG_$(LOCALE) -DLOCALE_DESC="\"$(LOCALE)\"" \
 
42
             -DPKGLIBDIR="\"$(pkglibdir)\"" @OS_DEF@
 
43
 
 
44
ifndef COMMERCIAL
 
45
PACKAGE = s
 
46
else
 
47
PACKAGE = c
 
48
ALL_CFLAGS += -DCOMMERCIAL
 
49
endif
 
50
 
 
51
ifdef DEBUG
 
52
DEBUG_SM = d
 
53
ALL_CFLAGS += -g -DDEBUG
 
54
else
 
55
DEBUG_SM = r
 
56
ADD_LDFLAGS = -s @LD_STRIP@
 
57
endif
 
58
 
 
59
ALL_CFLAGS += $(CFLAGS)
 
60
 
 
61
# Build Installation paths
 
62
 
 
63
SRC_DIR = .
 
64
BASEDIR = $(SRC_DIR)/@OUT_DIR@/$(LOCALE)/$(DEBUG_SM)$(PACKAGE)
 
65
BASEDIR_C = $(SRC_DIR)/@OUT_DIR@/$(LOCALE)/$(DEBUG_SM)c
 
66
RES_DIR = $(SRC_DIR)/resource
 
67
RESFILE = $(RES_DIR)/resource.txt
 
68
 
 
69
TOOLS_DIR = $(BASEDIR)/tools
 
70
ARJ_DIR = $(BASEDIR)/arj
 
71
ARJSFXV_DIR = $(BASEDIR)/arjsfxv
 
72
ARJSFX_DIR = $(BASEDIR)/arjsfx
 
73
ARJSFXJR_DIR = $(BASEDIR)/arjsfxjr
 
74
REARJ_DIR = $(BASEDIR)/rearj
 
75
ARJCRYPT_DIR = $(BASEDIR)/arjcrypt
 
76
REGISTER_DIR = $(BASEDIR)/register
 
77
ARJDISP_DIR = $(BASEDIR)/arjdisp
 
78
SFXSTUB_DIR = $(BASEDIR)/sfxstub
 
79
 
 
80
# Definitions for compiling submodules
 
81
 
 
82
LDFLAGS = @LDFLAGS@ $(ADD_LDFLAGS)
 
83
DLL_FLAGS = @DLL_FLAGS@ $(ADD_LDFLAGS)
 
84
DLL_CFLAGS = @DLL_CFLAGS@
 
85
REQUIRES_DEF = @REQUIRES_DEF@
 
86
 
 
87
COPT = -c -I@OUT_DIR@ -I$(BASEDIR) -I$(SRC_DIR) @CFLAGS@ $(ALL_CFLAGS)
 
88
STD_COPT = -DARJUTIL $(COPT)
 
89
ARJ_COPT = -DSFL=4 $(COPT)
 
90
ARJSFXV_COPT = -DSFL=3 $(COPT)
 
91
ARJSFX_COPT = -DSFL=2 $(COPT)
 
92
ARJSFXJR_COPT = -DSFL=1 $(COPT)
 
93
REARJ_COPT = -DREARJ $(COPT)
 
94
REGISTER_COPT = -DREGISTER $(COPT)
 
95
ARJDISP_COPT = -DARJDISP $(COPT)
 
96
ARJCRYPT_COPT = $(DLL_CFLAGS) $(COPT)
 
97
SFXSTUB_COPT = -DSFXSTUB $(COPT)
 
98
 
 
99
# Linkage
 
100
 
 
101
$(ARJ_DIR)/%.o: $(BASEDIR)/%.c
 
102
        $(CC) $(COPT) -o$@ $<
 
103
 
 
104
$(ARJSFX_DIR)/%.o: $(BASEDIR)/%.c
 
105
        $(CC) $(COPT) -o$@ $<
 
106
 
 
107
$(ARJSFXV_DIR)/%.o: $(BASEDIR)/%.c
 
108
        $(CC) $(COPT) -o$@ $<
 
109
 
 
110
$(ARJSFXJR_DIR)/%.o: $(BASEDIR)/%.c
 
111
        $(CC) $(COPT) -o$@ $<
 
112
 
 
113
$(ARJCRYPT_DIR)/%.o: $(BASEDIR)/%.c
 
114
        $(CC) $(ARJCRYPT_COPT) -o$@ $<
 
115
 
 
116
$(SFXSTUB_DIR)/%.o: $(BASEDIR)/%.c
 
117
        $(CC) $(COPT) -o$@ $<
 
118
 
 
119
$(REARJ_DIR)/%.o: $(BASEDIR)/%.c
 
120
        $(CC) $(COPT) -o$@ $<
 
121
 
 
122
$(REGISTER_DIR)/%.o: $(BASEDIR)/%.c
 
123
        $(CC) $(COPT) -o$@ $<
 
124
 
 
125
$(ARJDISP_DIR)/%.o: $(BASEDIR)/%.c
 
126
        $(CC) $(COPT) -o$@ $<
 
127
 
 
128
$(TOOLS_DIR)/%.o: $(SRC_DIR)/%.c
 
129
        $(CC) $(STD_COPT) -o$@ $<
 
130
 
 
131
$(ARJ_DIR)/%.o: $(SRC_DIR)/%.c
 
132
        $(CC) $(ARJ_COPT) -o$@ $<
 
133
 
 
134
$(ARJSFXV_DIR)/%.o: $(SRC_DIR)/%.c
 
135
        $(CC) $(ARJSFXV_COPT) -o$@ $<
 
136
 
 
137
$(ARJSFX_DIR)/%.o: $(SRC_DIR)/%.c
 
138
        $(CC) $(ARJSFX_COPT) -o$@ $<
 
139
 
 
140
$(ARJSFXJR_DIR)/%.o: $(SRC_DIR)/%.c
 
141
        $(CC) $(ARJSFXJR_COPT) -o$@ $<
 
142
 
 
143
$(ARJCRYPT_DIR)/%.o: $(SRC_DIR)/%.c
 
144
        $(CC) $(ARJCRYPT_COPT) -o$@ $<
 
145
 
 
146
$(REARJ_DIR)/%.o: $(SRC_DIR)/%.c
 
147
        $(CC) $(REARJ_COPT) -o$@ $<
 
148
 
 
149
$(REGISTER_DIR)/%.o: $(SRC_DIR)/%.c
 
150
        $(CC) $(REGISTER_COPT) -o$@ $<
 
151
 
 
152
$(ARJDISP_DIR)/%.o: $(SRC_DIR)/%.c
 
153
        $(CC) $(ARJDISP_COPT) -o$@ $<
 
154
 
 
155
$(SFXSTUB_DIR)/%.o: $(SRC_DIR)/%.c
 
156
        $(CC) $(SFXSTUB_COPT) -o$@ $<
 
157
 
 
158
#
 
159
# Main dependency tree
 
160
#
 
161
 
 
162
.PHONY: timestamp prepare cleanup package help
 
163
 
 
164
ifdef COMMERCIAL
 
165
MAKE_KEY=$(TOOLS_DIR)/make_key$x
 
166
endif
 
167
 
 
168
all:    prepare timestamp
 
169
        $(MAKE) do-all
 
170
 
 
171
do-all: \
 
172
        $(ARJ_DIR)/arj$x \
 
173
        $(ARJCRYPT_DIR)/arjcrypt$d \
 
174
        $(REARJ_DIR)/rearj$x \
 
175
        $(REGISTER_DIR)/$(REGISTER)$x \
 
176
        $(ARJDISP_DIR)/arjdisp$x \
 
177
        $(TOOLS_DIR)/packager$x \
 
178
        $(MAKE_KEY) \
 
179
        dispose
 
180
 
 
181
#
 
182
# Update timestamp file
 
183
#
 
184
 
 
185
timestamp: $(TOOLS_DIR)/today$x
 
186
        $(TOOLS_DIR)/today$x $(LOCALE) $(BASEDIR)
 
187
 
 
188
#
 
189
# Final cleanup
 
190
#
 
191
 
 
192
dispose:
 
193
 
 
194
#
 
195
# The tools
 
196
#
 
197
 
 
198
MSGBIND_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
199
               filemode.o msgbind.o arjdata.o crc32.o)
 
200
 
 
201
TODAY_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
202
             filemode.o today.o)
 
203
 
 
204
MAKE_KEY_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
205
                make_key.o crc32.o misc.o arj_proc.o arjsec_h.o arjsec_l.o)
 
206
 
 
207
POSTPROC_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
208
                filemode.o postproc.o crc32.o)
 
209
 
 
210
JOIN_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
211
            filemode.o join.o)
 
212
 
 
213
PACKAGER_OBJS = $(patsubst %,$(TOOLS_DIR)/%, \
 
214
                filemode.o packager.o arjdata.o)
 
215
 
 
216
$(TOOLS_DIR)/msgbind$x: $(MSGBIND_OBJS)
 
217
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(MSGBIND_OBJS) $(LIBS)
 
218
 
 
219
$(TOOLS_DIR)/today$x: $(TODAY_OBJS)
 
220
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(TODAY_OBJS) $(LIBS)
 
221
 
 
222
$(TOOLS_DIR)/make_key$x: $(MAKE_KEY_OBJS)
 
223
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(MAKE_KEY_OBJS) $(LIBS)
 
224
 
 
225
$(TOOLS_DIR)/postproc$x: $(POSTPROC_OBJS)
 
226
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(POSTPROC_OBJS) $(LIBS)
 
227
 
 
228
$(TOOLS_DIR)/join$x: $(JOIN_OBJS)
 
229
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JOIN_OBJS) $(LIBS)
 
230
 
 
231
$(TOOLS_DIR)/packager$x: $(PACKAGER_OBJS)
 
232
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(PACKAGER_OBJS) $(LIBS)
 
233
 
 
234
# This rule tells that timestamping badly needs date_sig.c (it may bail out
 
235
# otherwise when the timestamps are being created for the first time)
 
236
$(BASEDIR)/date_sig.c: timestamp
 
237
 
 
238
# And this one explicitly specifies that chk_fmsg depends on individual files
 
239
$(ARJ_DIR)/chk_fmsg.o: $(SRC_DIR)/chk_fmsg.c $(BASEDIR)/fmsg_arj.c
 
240
$(ARJSFX_DIR)/chk_fmsg.o: $(SRC_DIR)/chk_fmsg.c $(BASEDIR)/fmsg_sfx.c
 
241
$(ARJSFXV_DIR)/chk_fmsg.o: $(SRC_DIR)/chk_fmsg.c $(BASEDIR)/fmsg_sfv.c
 
242
 
 
243
#
 
244
# ARJCRYPT utility
 
245
#
 
246
 
 
247
ifdef REQUIRES_DEF
 
248
ARJCRYPT_DEF = $(SRC_DIR)/gnu/arjcrypt.def
 
249
endif
 
250
 
 
251
ARJCRYPT_OBJS = $(patsubst %,$(ARJCRYPT_DIR)/%, \
 
252
                integr.o gost.o gost_t.o nmsg_crp.o arjcrypt.o)
 
253
 
 
254
$(ARJCRYPT_DIR)/arjcrypt$d: $(ARJCRYPT_OBJS) $(TOOLS_DIR)/postproc$x
 
255
        $(CC) $(ALL_CFLAGS) $(DLL_FLAGS) -o $@ $(ARJCRYPT_OBJS) $(ARJCRYPT_DEF) $(LIBS)
 
256
        $(TOOLS_DIR)/postproc $@
 
257
 
 
258
$(BASEDIR)/nmsg_crp.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
259
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_crp $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
260
 
 
261
#
 
262
# SFX stub
 
263
#
 
264
 
 
265
SFXSTUB_OBJS = $(patsubst %,$(SFXSTUB_DIR)/%, \
 
266
               nmsg_stb.o sfxstub.o)
 
267
 
 
268
$(SFXSTUB_DIR)/sfxstub$x: $(SFXSTUB_OBJS) $(TOOLS_DIR)/postproc$x
 
269
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(SFXSTUB_OBJS) $(LIBS)
 
270
        $(TOOLS_DIR)/postproc$x $@ -sfx
 
271
 
 
272
$(BASEDIR)/nmsg_stb.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
273
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_stb $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
274
 
 
275
#
 
276
# ARJSFXV module
 
277
#
 
278
 
 
279
ARJSFXV_OBJS = $(patsubst %,$(ARJSFXV_DIR)/%, \
 
280
               sfx_id.o filemode.o date_sig.o fmsg_sfv.o imsg_sfv.o nmsg_sfv.o \
 
281
               decode.o arjsfx.o fardata.o arj_user.o arj_arcv.o arj_file.o \
 
282
               crc32.o misc.o debug.o arj_proc.o environ.o ea_mgr.o ntstream.o \
 
283
               uxspec.o ext_hdr.o arjtypes.o exe_sear.o chk_fmsg.o filelist.o \
 
284
               arjsec_h.o arjsec_l.o garble.o scrnio.o ansi.o externs.o)
 
285
 
 
286
$(ARJSFXV_DIR)/arjsfxv$x: $(ARJSFXV_OBJS) $(TOOLS_DIR)/postproc$x
 
287
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXV_OBJS) $(LIBS) $(DYN_LIBS)
 
288
        $(TOOLS_DIR)/postproc$x $@ -sfx
 
289
 
 
290
$(BASEDIR)/fmsg_sfv.c $(BASEDIR)/imsg_sfv.c $(BASEDIR)/nmsg_sfv.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
291
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfv $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
292
 
 
293
#
 
294
# ARJSFX module
 
295
#
 
296
 
 
297
ARJSFX_OBJS = $(patsubst %,$(ARJSFX_DIR)/%, \
 
298
              sfx_id.o filemode.o fmsg_sfx.o imsg_sfx.o nmsg_sfx.o decode.o \
 
299
              arjsfx.o fardata.o arj_user.o arj_arcv.o arj_file.o crc32.o \
 
300
              misc.o debug.o arj_proc.o environ.o arjtypes.o exe_sear.o \
 
301
              chk_fmsg.o arjsec_h.o arjsec_l.o garble.o externs.o)
 
302
 
 
303
$(ARJSFX_DIR)/arjsfx$x: $(ARJSFX_OBJS) $(TOOLS_DIR)/postproc$x
 
304
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFX_OBJS) $(LIBS)
 
305
        $(TOOLS_DIR)/postproc$x $@ -sfx
 
306
 
 
307
$(BASEDIR)/fmsg_sfx.c $(BASEDIR)/imsg_sfx.c $(BASEDIR)/nmsg_sfx.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
308
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfx $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
309
 
 
310
#
 
311
# ARJSFXJR module
 
312
#
 
313
 
 
314
ARJSFXJR_OBJS = $(patsubst %,$(ARJSFXJR_DIR)/%, \
 
315
                sfx_id.o fmsg_sfj.o nmsg_sfj.o arjsfxjr.o debug.o \
 
316
                crc32.o environ.o)
 
317
 
 
318
$(ARJSFXJR_DIR)/arjsfxjr$x: $(ARJSFXJR_OBJS) $(TOOLS_DIR)/postproc$x
 
319
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJSFXJR_OBJS) $(LIBS)
 
320
        $(TOOLS_DIR)/postproc$x $@ -sfx
 
321
 
 
322
$(BASEDIR)/fmsg_sfj.c $(BASEDIR)/imsg_sfj.c $(BASEDIR)/nmsg_sfj.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
323
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_sfj $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
324
 
 
325
#
 
326
# ARJ itself
 
327
#
 
328
 
 
329
ARJ_OBJS = $(patsubst %,$(ARJ_DIR)/%, \
 
330
           filemode.o date_sig.o fmsg_arj.o imsg_arj.o \
 
331
           nmsg_arj.o integr.o file_reg.o decode.o encode.o \
 
332
           arj.o enc_gwy.o fardata.o arj_user.o arj_arcv.o \
 
333
           arj_file.o crc32.o misc.o debug.o arj_proc.o \
 
334
           environ.o ea_mgr.o uxspec.o ext_hdr.o arjtypes.o exe_sear.o chk_fmsg.o \
 
335
           filelist.o arjsec_h.o arjsec_l.o garble.o scrnio.o ansi.o \
 
336
           crc16tab.o recovery.o gost.o gost40.o gost_t.o \
 
337
           externs.o)
 
338
 
 
339
$(ARJ_DIR)/arj$x: $(ARJ_OBJS) \
 
340
                  $(RES_DIR)/$(LOCALE)/arjl.txt $(RES_DIR)/$(LOCALE)/arjs.txt \
 
341
                  $(TOOLS_DIR)/join$x \
 
342
                  $(TOOLS_DIR)/postproc$x \
 
343
                  $(SFXSTUB_DIR)/sfxstub$x \
 
344
                  $(ARJSFXV_DIR)/arjsfxv$x \
 
345
                  $(ARJSFX_DIR)/arjsfx$x \
 
346
                  $(ARJSFXJR_DIR)/arjsfxjr$x
 
347
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJ_OBJS) $(LIBS) $(DYN_LIBS)
 
348
        $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFXJR_DIR)/arjsfxjr$x
 
349
        $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFX_DIR)/arjsfx$x
 
350
        $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(ARJSFXV_DIR)/arjsfxv$x
 
351
        $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(SFXSTUB_DIR)/sfxstub$x
 
352
        rm -f $(BASEDIR)/help.arj
 
353
        $(ARJ_DIR)/arj$x a $(BASEDIR)/help.arj -+ -t1f -2e -e -jm -jh65535 -jt $(RES_DIR)/$(LOCALE)/arj?.txt
 
354
        $(TOOLS_DIR)/join $(ARJ_DIR)/arj$x $(BASEDIR)/help.arj
 
355
        $(TOOLS_DIR)/postproc $@
 
356
 
 
357
$(BASEDIR)/fmsg_arj.c $(BASEDIR)/imsg_arj.c $(BASEDIR)/nmsg_arj.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
358
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_arj $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
359
 
 
360
#
 
361
# REARJ utility
 
362
#
 
363
 
 
364
REARJ_OBJS = $(patsubst %,$(REARJ_DIR)/%, \
 
365
             integr.o filemode.o date_sig.o fmsg_rej.o nmsg_rej.o file_reg.o \
 
366
             rearj.o fardata.o arj_file.o crc32.o misc.o debug.o arj_proc.o \
 
367
             environ.o arjtypes.o filelist.o scrnio.o arjsec_h.o arjsec_l.o \
 
368
             externs.o)
 
369
 
 
370
$(REARJ_DIR)/rearj$x: $(REARJ_OBJS) \
 
371
                      $(TOOLS_DIR)/postproc$x
 
372
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REARJ_OBJS) $(LIBS)
 
373
        $(TOOLS_DIR)/postproc $@
 
374
 
 
375
$(BASEDIR)/fmsg_rej.c $(BASEDIR)/imsg_rej.c $(BASEDIR)/nmsg_rej.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
376
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_rej $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
377
 
 
378
#
 
379
# Registration wizard
 
380
#
 
381
 
 
382
REGISTER_OBJS = $(patsubst %,$(REGISTER_DIR)/%, \
 
383
                filemode.o integr.o fmsg_reg.o nmsg_reg.o register.o fardata.o crc32.o \
 
384
                debug.o arj_proc.o environ.o)
 
385
 
 
386
$(REGISTER_DIR)/$(REGISTER)$x: $(REGISTER_OBJS) \
 
387
                            $(TOOLS_DIR)/postproc$x
 
388
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(REGISTER_OBJS) $(LIBS)
 
389
        $(TOOLS_DIR)/postproc $@ -sfx
 
390
 
 
391
$(BASEDIR)/fmsg_reg.c $(BASEDIR)/imsg_reg.c $(BASEDIR)/nmsg_reg.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
392
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_reg $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
393
 
 
394
#
 
395
# Demonstration display program
 
396
#
 
397
 
 
398
ARJDISP_OBJS = $(patsubst %,$(ARJDISP_DIR)/%, \
 
399
               nmsg_adi.o arjdisp.o fardata.o debug.o arj_proc.o environ.o \
 
400
               scrnio.o)
 
401
 
 
402
$(ARJDISP_DIR)/arjdisp$x: $(ARJDISP_OBJS)
 
403
        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(ARJDISP_OBJS) $(LIBS)
 
404
 
 
405
$(BASEDIR)/fmsg_adi.c $(BASEDIR)/imsg_adi.c $(BASEDIR)/nmsg_adi.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
 
406
        $(TOOLS_DIR)/msgbind $(RESFILE) msg_adi $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
 
407
 
 
408
#
 
409
# Pre-compilation actions
 
410
#
 
411
 
 
412
prepare:
 
413
        -mkdir -p $(BASEDIR)
 
414
        -mkdir -p $(TOOLS_DIR)
 
415
        -mkdir -p $(ARJCRYPT_DIR)
 
416
        -mkdir -p $(SFXSTUB_DIR)
 
417
        -mkdir -p $(ARJSFXV_DIR)
 
418
        -mkdir -p $(ARJSFX_DIR)
 
419
        -mkdir -p $(ARJSFXJR_DIR)
 
420
        -mkdir -p $(ARJ_DIR)
 
421
        -mkdir -p $(REARJ_DIR)
 
422
        -mkdir -p $(REGISTER_DIR)
 
423
        -mkdir -p $(ARJDISP_DIR)
 
424
 
 
425
#
 
426
# Cleanup
 
427
#
 
428
 
 
429
clean:
 
430
        -rm -f $(BASEDIR)/*
 
431
        -rm -f $(TOOLS_DIR)/*
 
432
        -rm -f $(ARJCRYPT_DIR)/*
 
433
        -rm -f $(SFXSTUB_DIR)/*
 
434
        -rm -f $(ARJSFXV_DIR)/*
 
435
        -rm -f $(ARJSFX_DIR)/*
 
436
        -rm -f $(ARJSFXJR_DIR)/*
 
437
        -rm -f $(ARJ_DIR)/*
 
438
        -rm -f $(REARJ_DIR)/*
 
439
        -rm -f $(REGISTER_DIR)/*
 
440
        -rm -f $(ARJDISP_DIR)/*
 
441
        -rm -f arj.core
 
442
 
 
443
#
 
444
# Local installation
 
445
#
 
446
 
 
447
install: all
 
448
        $(INSTALL_DIR) $(DESTDIR)$(bindir)
 
449
        $(INSTALL_DIR) $(DESTDIR)$(mandir)/man1
 
450
        $(INSTALL_DIR) $(DESTDIR)$(pkglibdir)
 
451
 
 
452
        $(INSTALL_PROGRAM) $(ARJ_DIR)/arj$x $(DESTDIR)$(bindir)
 
453
        $(INSTALL_PROGRAM) $(ARJCRYPT_DIR)/arjcrypt$d $(DESTDIR)$(pkglibdir)
 
454
        $(INSTALL_PROGRAM) $(REARJ_DIR)/rearj$x $(DESTDIR)$(bindir)
 
455
        $(INSTALL_PROGRAM) $(ARJDISP_DIR)/arjdisp$x $(DESTDIR)$(bindir)
 
456
        $(INSTALL_PROGRAM) $(REGISTER_DIR)/$(REGISTER)$x $(DESTDIR)$(bindir)
 
457
 
 
458
        $(INSTALL_DATA) $(RES_DIR)/en/*.1 $(DESTDIR)$(mandir)/man1
 
459
 
 
460
#
 
461
# Packaging (was: packager$x $(BASEDIR_C) $(BASEDIR))
 
462
#
 
463
 
 
464
package: all
 
465
        -@mkdir retail
 
466
        $(TOOLS_DIR)/packager$x $(BASEDIR) $(BASEDIR)
 
467
 
 
468
#
 
469
# Traditional help
 
470
#
 
471
 
 
472
help:
 
473
        @echo
 
474
        @echo "Quick start:"
 
475
        @echo "all        -- standard compile"
 
476
        @echo "package    -- all + packaging (requires a commercial version of the same kind)"
 
477
        @echo "clean      -- removes all '.o' and 'core' files"
 
478
        @echo "install    -- local installation"
 
479
        @echo
 
480
        @echo "Don't panic, the legacy compatibility is retained."
 
481
        @echo