xref: /freebsd/contrib/file/magic/Makefile.am (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1#
2# $File: Makefile.am,v 1.188 2023/05/21 17:19:08 christos Exp $
3#
4MAGIC_FRAGMENT_BASE = Magdir
5MAGIC_DIR = $(top_srcdir)/magic
6MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE)
7
8pkgdata_DATA = magic.mgc
9
10MAGIC_FRAGMENTS = \
11$(MAGIC_DIR)/Header \
12$(MAGIC_DIR)/Localstuff \
13$(MAGIC_FRAGMENT_DIR)/acorn \
14$(MAGIC_FRAGMENT_DIR)/adi \
15$(MAGIC_FRAGMENT_DIR)/adventure \
16$(MAGIC_FRAGMENT_DIR)/aes \
17$(MAGIC_FRAGMENT_DIR)/algol68 \
18$(MAGIC_FRAGMENT_DIR)/allegro \
19$(MAGIC_FRAGMENT_DIR)/alliant \
20$(MAGIC_FRAGMENT_DIR)/amanda \
21$(MAGIC_FRAGMENT_DIR)/amigaos \
22$(MAGIC_FRAGMENT_DIR)/android \
23$(MAGIC_FRAGMENT_DIR)/animation \
24$(MAGIC_FRAGMENT_DIR)/aout \
25$(MAGIC_FRAGMENT_DIR)/apache \
26$(MAGIC_FRAGMENT_DIR)/apl \
27$(MAGIC_FRAGMENT_DIR)/apple \
28$(MAGIC_FRAGMENT_DIR)/application \
29$(MAGIC_FRAGMENT_DIR)/applix \
30$(MAGIC_FRAGMENT_DIR)/apt \
31$(MAGIC_FRAGMENT_DIR)/archive \
32$(MAGIC_FRAGMENT_DIR)/aria \
33$(MAGIC_FRAGMENT_DIR)/arm \
34$(MAGIC_FRAGMENT_DIR)/asf \
35$(MAGIC_FRAGMENT_DIR)/assembler \
36$(MAGIC_FRAGMENT_DIR)/asterix \
37$(MAGIC_FRAGMENT_DIR)/att3b \
38$(MAGIC_FRAGMENT_DIR)/audio \
39$(MAGIC_FRAGMENT_DIR)/avm \
40$(MAGIC_FRAGMENT_DIR)/basis \
41$(MAGIC_FRAGMENT_DIR)/beetle \
42$(MAGIC_FRAGMENT_DIR)/ber \
43$(MAGIC_FRAGMENT_DIR)/bflt \
44$(MAGIC_FRAGMENT_DIR)/bhl \
45$(MAGIC_FRAGMENT_DIR)/bioinformatics \
46$(MAGIC_FRAGMENT_DIR)/biosig \
47$(MAGIC_FRAGMENT_DIR)/blackberry \
48$(MAGIC_FRAGMENT_DIR)/blcr \
49$(MAGIC_FRAGMENT_DIR)/blender \
50$(MAGIC_FRAGMENT_DIR)/blit \
51$(MAGIC_FRAGMENT_DIR)/bm \
52$(MAGIC_FRAGMENT_DIR)/bout \
53$(MAGIC_FRAGMENT_DIR)/bsdi \
54$(MAGIC_FRAGMENT_DIR)/bsi \
55$(MAGIC_FRAGMENT_DIR)/btsnoop \
56$(MAGIC_FRAGMENT_DIR)/burp \
57$(MAGIC_FRAGMENT_DIR)/bytecode \
58$(MAGIC_FRAGMENT_DIR)/c-lang \
59$(MAGIC_FRAGMENT_DIR)/c64 \
60$(MAGIC_FRAGMENT_DIR)/cad \
61$(MAGIC_FRAGMENT_DIR)/cafebabe \
62$(MAGIC_FRAGMENT_DIR)/cbor \
63$(MAGIC_FRAGMENT_DIR)/ccf \
64$(MAGIC_FRAGMENT_DIR)/cddb \
65$(MAGIC_FRAGMENT_DIR)/chord \
66$(MAGIC_FRAGMENT_DIR)/cisco \
67$(MAGIC_FRAGMENT_DIR)/citrus \
68$(MAGIC_FRAGMENT_DIR)/clarion \
69$(MAGIC_FRAGMENT_DIR)/claris \
70$(MAGIC_FRAGMENT_DIR)/clipper \
71$(MAGIC_FRAGMENT_DIR)/clojure \
72$(MAGIC_FRAGMENT_DIR)/coff \
73$(MAGIC_FRAGMENT_DIR)/commands \
74$(MAGIC_FRAGMENT_DIR)/communications \
75$(MAGIC_FRAGMENT_DIR)/compress \
76$(MAGIC_FRAGMENT_DIR)/console \
77$(MAGIC_FRAGMENT_DIR)/convex \
78$(MAGIC_FRAGMENT_DIR)/coverage \
79$(MAGIC_FRAGMENT_DIR)/cracklib \
80$(MAGIC_FRAGMENT_DIR)/crypto \
81$(MAGIC_FRAGMENT_DIR)/ctags \
82$(MAGIC_FRAGMENT_DIR)/ctf \
83$(MAGIC_FRAGMENT_DIR)/cubemap \
84$(MAGIC_FRAGMENT_DIR)/cups \
85$(MAGIC_FRAGMENT_DIR)/dact \
86$(MAGIC_FRAGMENT_DIR)/database \
87$(MAGIC_FRAGMENT_DIR)/dataone \
88$(MAGIC_FRAGMENT_DIR)/dbpf \
89$(MAGIC_FRAGMENT_DIR)/der \
90$(MAGIC_FRAGMENT_DIR)/diamond \
91$(MAGIC_FRAGMENT_DIR)/dif \
92$(MAGIC_FRAGMENT_DIR)/diff \
93$(MAGIC_FRAGMENT_DIR)/digital \
94$(MAGIC_FRAGMENT_DIR)/dolby \
95$(MAGIC_FRAGMENT_DIR)/dump \
96$(MAGIC_FRAGMENT_DIR)/dwarfs \
97$(MAGIC_FRAGMENT_DIR)/dyadic \
98$(MAGIC_FRAGMENT_DIR)/ebml \
99$(MAGIC_FRAGMENT_DIR)/edid \
100$(MAGIC_FRAGMENT_DIR)/editors \
101$(MAGIC_FRAGMENT_DIR)/efi \
102$(MAGIC_FRAGMENT_DIR)/elf \
103$(MAGIC_FRAGMENT_DIR)/encore \
104$(MAGIC_FRAGMENT_DIR)/epoc \
105$(MAGIC_FRAGMENT_DIR)/erlang \
106$(MAGIC_FRAGMENT_DIR)/espressif \
107$(MAGIC_FRAGMENT_DIR)/esri \
108$(MAGIC_FRAGMENT_DIR)/fcs \
109$(MAGIC_FRAGMENT_DIR)/filesystems \
110$(MAGIC_FRAGMENT_DIR)/finger \
111$(MAGIC_FRAGMENT_DIR)/firmware \
112$(MAGIC_FRAGMENT_DIR)/flash \
113$(MAGIC_FRAGMENT_DIR)/flif \
114$(MAGIC_FRAGMENT_DIR)/fonts \
115$(MAGIC_FRAGMENT_DIR)/forth \
116$(MAGIC_FRAGMENT_DIR)/fortran \
117$(MAGIC_FRAGMENT_DIR)/frame \
118$(MAGIC_FRAGMENT_DIR)/freebsd \
119$(MAGIC_FRAGMENT_DIR)/fsav \
120$(MAGIC_FRAGMENT_DIR)/fusecompress \
121$(MAGIC_FRAGMENT_DIR)/games \
122$(MAGIC_FRAGMENT_DIR)/gcc \
123$(MAGIC_FRAGMENT_DIR)/gconv \
124$(MAGIC_FRAGMENT_DIR)/gentoo \
125$(MAGIC_FRAGMENT_DIR)/geo \
126$(MAGIC_FRAGMENT_DIR)/geos \
127$(MAGIC_FRAGMENT_DIR)/gimp \
128$(MAGIC_FRAGMENT_DIR)/git \
129$(MAGIC_FRAGMENT_DIR)/glibc \
130$(MAGIC_FRAGMENT_DIR)/gnome \
131$(MAGIC_FRAGMENT_DIR)/gnu \
132$(MAGIC_FRAGMENT_DIR)/gnumeric \
133$(MAGIC_FRAGMENT_DIR)/gpt \
134$(MAGIC_FRAGMENT_DIR)/gpu \
135$(MAGIC_FRAGMENT_DIR)/grace \
136$(MAGIC_FRAGMENT_DIR)/graphviz \
137$(MAGIC_FRAGMENT_DIR)/gringotts \
138$(MAGIC_FRAGMENT_DIR)/hardware \
139$(MAGIC_FRAGMENT_DIR)/hitachi-sh \
140$(MAGIC_FRAGMENT_DIR)/hp \
141$(MAGIC_FRAGMENT_DIR)/human68k \
142$(MAGIC_FRAGMENT_DIR)/ibm370 \
143$(MAGIC_FRAGMENT_DIR)/ibm6000 \
144$(MAGIC_FRAGMENT_DIR)/icc \
145$(MAGIC_FRAGMENT_DIR)/iff \
146$(MAGIC_FRAGMENT_DIR)/images \
147$(MAGIC_FRAGMENT_DIR)/inform \
148$(MAGIC_FRAGMENT_DIR)/intel \
149$(MAGIC_FRAGMENT_DIR)/interleaf \
150$(MAGIC_FRAGMENT_DIR)/island \
151$(MAGIC_FRAGMENT_DIR)/ispell \
152$(MAGIC_FRAGMENT_DIR)/isz \
153$(MAGIC_FRAGMENT_DIR)/java \
154$(MAGIC_FRAGMENT_DIR)/javascript \
155$(MAGIC_FRAGMENT_DIR)/jpeg \
156$(MAGIC_FRAGMENT_DIR)/karma \
157$(MAGIC_FRAGMENT_DIR)/kde \
158$(MAGIC_FRAGMENT_DIR)/keepass \
159$(MAGIC_FRAGMENT_DIR)/kerberos \
160$(MAGIC_FRAGMENT_DIR)/kicad \
161$(MAGIC_FRAGMENT_DIR)/kml \
162$(MAGIC_FRAGMENT_DIR)/lammps \
163$(MAGIC_FRAGMENT_DIR)/lecter \
164$(MAGIC_FRAGMENT_DIR)/lex \
165$(MAGIC_FRAGMENT_DIR)/lif \
166$(MAGIC_FRAGMENT_DIR)/linux \
167$(MAGIC_FRAGMENT_DIR)/lisp \
168$(MAGIC_FRAGMENT_DIR)/llvm \
169$(MAGIC_FRAGMENT_DIR)/locoscript \
170$(MAGIC_FRAGMENT_DIR)/lua \
171$(MAGIC_FRAGMENT_DIR)/luks \
172$(MAGIC_FRAGMENT_DIR)/m4 \
173$(MAGIC_FRAGMENT_DIR)/mach \
174$(MAGIC_FRAGMENT_DIR)/macintosh \
175$(MAGIC_FRAGMENT_DIR)/macos \
176$(MAGIC_FRAGMENT_DIR)/magic \
177$(MAGIC_FRAGMENT_DIR)/mail.news \
178$(MAGIC_FRAGMENT_DIR)/make \
179$(MAGIC_FRAGMENT_DIR)/map \
180$(MAGIC_FRAGMENT_DIR)/maple \
181$(MAGIC_FRAGMENT_DIR)/marc21 \
182$(MAGIC_FRAGMENT_DIR)/mathcad \
183$(MAGIC_FRAGMENT_DIR)/mathematica \
184$(MAGIC_FRAGMENT_DIR)/matroska \
185$(MAGIC_FRAGMENT_DIR)/mcrypt \
186$(MAGIC_FRAGMENT_DIR)/measure \
187$(MAGIC_FRAGMENT_DIR)/mercurial \
188$(MAGIC_FRAGMENT_DIR)/metastore \
189$(MAGIC_FRAGMENT_DIR)/meteorological \
190$(MAGIC_FRAGMENT_DIR)/microfocus \
191$(MAGIC_FRAGMENT_DIR)/mime \
192$(MAGIC_FRAGMENT_DIR)/mips \
193$(MAGIC_FRAGMENT_DIR)/mirage \
194$(MAGIC_FRAGMENT_DIR)/misctools \
195$(MAGIC_FRAGMENT_DIR)/mkid \
196$(MAGIC_FRAGMENT_DIR)/mlssa \
197$(MAGIC_FRAGMENT_DIR)/mmdf \
198$(MAGIC_FRAGMENT_DIR)/modem \
199$(MAGIC_FRAGMENT_DIR)/modulefile \
200$(MAGIC_FRAGMENT_DIR)/motorola \
201$(MAGIC_FRAGMENT_DIR)/mozilla \
202$(MAGIC_FRAGMENT_DIR)/msdos \
203$(MAGIC_FRAGMENT_DIR)/msooxml \
204$(MAGIC_FRAGMENT_DIR)/msvc \
205$(MAGIC_FRAGMENT_DIR)/msx \
206$(MAGIC_FRAGMENT_DIR)/mup \
207$(MAGIC_FRAGMENT_DIR)/music \
208$(MAGIC_FRAGMENT_DIR)/nasa \
209$(MAGIC_FRAGMENT_DIR)/natinst \
210$(MAGIC_FRAGMENT_DIR)/ncr \
211$(MAGIC_FRAGMENT_DIR)/netbsd \
212$(MAGIC_FRAGMENT_DIR)/netscape \
213$(MAGIC_FRAGMENT_DIR)/netware \
214$(MAGIC_FRAGMENT_DIR)/news \
215$(MAGIC_FRAGMENT_DIR)/nifty \
216$(MAGIC_FRAGMENT_DIR)/nim-lang \
217$(MAGIC_FRAGMENT_DIR)/nitpicker \
218$(MAGIC_FRAGMENT_DIR)/numpy \
219$(MAGIC_FRAGMENT_DIR)/oasis \
220$(MAGIC_FRAGMENT_DIR)/ocaml \
221$(MAGIC_FRAGMENT_DIR)/octave \
222$(MAGIC_FRAGMENT_DIR)/ole2compounddocs \
223$(MAGIC_FRAGMENT_DIR)/olf \
224$(MAGIC_FRAGMENT_DIR)/openfst \
225$(MAGIC_FRAGMENT_DIR)/opentimestamps \
226$(MAGIC_FRAGMENT_DIR)/oric \
227$(MAGIC_FRAGMENT_DIR)/os2 \
228$(MAGIC_FRAGMENT_DIR)/os400 \
229$(MAGIC_FRAGMENT_DIR)/os9 \
230$(MAGIC_FRAGMENT_DIR)/osf1 \
231$(MAGIC_FRAGMENT_DIR)/palm \
232$(MAGIC_FRAGMENT_DIR)/parix \
233$(MAGIC_FRAGMENT_DIR)/parrot \
234$(MAGIC_FRAGMENT_DIR)/pascal \
235$(MAGIC_FRAGMENT_DIR)/pbf \
236$(MAGIC_FRAGMENT_DIR)/pbm \
237$(MAGIC_FRAGMENT_DIR)/pc88 \
238$(MAGIC_FRAGMENT_DIR)/pc98 \
239$(MAGIC_FRAGMENT_DIR)/pci_ids \
240$(MAGIC_FRAGMENT_DIR)/pcjr \
241$(MAGIC_FRAGMENT_DIR)/pdf \
242$(MAGIC_FRAGMENT_DIR)/pdp \
243$(MAGIC_FRAGMENT_DIR)/perl \
244$(MAGIC_FRAGMENT_DIR)/pgf \
245$(MAGIC_FRAGMENT_DIR)/pgp \
246$(MAGIC_FRAGMENT_DIR)/pgp-binary-keys \
247$(MAGIC_FRAGMENT_DIR)/pkgadd \
248$(MAGIC_FRAGMENT_DIR)/plan9 \
249$(MAGIC_FRAGMENT_DIR)/playdate \
250$(MAGIC_FRAGMENT_DIR)/plus5 \
251$(MAGIC_FRAGMENT_DIR)/pmem \
252$(MAGIC_FRAGMENT_DIR)/polyml \
253$(MAGIC_FRAGMENT_DIR)/printer \
254$(MAGIC_FRAGMENT_DIR)/project \
255$(MAGIC_FRAGMENT_DIR)/psdbms \
256$(MAGIC_FRAGMENT_DIR)/psl \
257$(MAGIC_FRAGMENT_DIR)/pulsar \
258$(MAGIC_FRAGMENT_DIR)/puzzle \
259$(MAGIC_FRAGMENT_DIR)/pwsafe \
260$(MAGIC_FRAGMENT_DIR)/pyramid \
261$(MAGIC_FRAGMENT_DIR)/python \
262$(MAGIC_FRAGMENT_DIR)/qt \
263$(MAGIC_FRAGMENT_DIR)/revision \
264$(MAGIC_FRAGMENT_DIR)/ringdove \
265$(MAGIC_FRAGMENT_DIR)/riff \
266$(MAGIC_FRAGMENT_DIR)/rpi \
267$(MAGIC_FRAGMENT_DIR)/rpm \
268$(MAGIC_FRAGMENT_DIR)/rpmsg \
269$(MAGIC_FRAGMENT_DIR)/rtf \
270$(MAGIC_FRAGMENT_DIR)/rst \
271$(MAGIC_FRAGMENT_DIR)/ruby \
272$(MAGIC_FRAGMENT_DIR)/rust \
273$(MAGIC_FRAGMENT_DIR)/sc \
274$(MAGIC_FRAGMENT_DIR)/sccs \
275$(MAGIC_FRAGMENT_DIR)/scientific \
276$(MAGIC_FRAGMENT_DIR)/securitycerts \
277$(MAGIC_FRAGMENT_DIR)/selinux \
278$(MAGIC_FRAGMENT_DIR)/sendmail \
279$(MAGIC_FRAGMENT_DIR)/sequent \
280$(MAGIC_FRAGMENT_DIR)/sereal \
281$(MAGIC_FRAGMENT_DIR)/sgi \
282$(MAGIC_FRAGMENT_DIR)/sgml \
283$(MAGIC_FRAGMENT_DIR)/sharc \
284$(MAGIC_FRAGMENT_DIR)/sinclair \
285$(MAGIC_FRAGMENT_DIR)/sisu \
286$(MAGIC_FRAGMENT_DIR)/sketch \
287$(MAGIC_FRAGMENT_DIR)/smalltalk \
288$(MAGIC_FRAGMENT_DIR)/smile \
289$(MAGIC_FRAGMENT_DIR)/sniffer \
290$(MAGIC_FRAGMENT_DIR)/softquad \
291$(MAGIC_FRAGMENT_DIR)/sosi \
292$(MAGIC_FRAGMENT_DIR)/spec \
293$(MAGIC_FRAGMENT_DIR)/spectrum \
294$(MAGIC_FRAGMENT_DIR)/sql \
295$(MAGIC_FRAGMENT_DIR)/ssh \
296$(MAGIC_FRAGMENT_DIR)/ssl \
297$(MAGIC_FRAGMENT_DIR)/statistics \
298$(MAGIC_FRAGMENT_DIR)/subtitle \
299$(MAGIC_FRAGMENT_DIR)/sun \
300$(MAGIC_FRAGMENT_DIR)/svf \
301$(MAGIC_FRAGMENT_DIR)/sylk \
302$(MAGIC_FRAGMENT_DIR)/symbos \
303$(MAGIC_FRAGMENT_DIR)/sysex \
304$(MAGIC_FRAGMENT_DIR)/tcl \
305$(MAGIC_FRAGMENT_DIR)/teapot \
306$(MAGIC_FRAGMENT_DIR)/terminfo \
307$(MAGIC_FRAGMENT_DIR)/tex \
308$(MAGIC_FRAGMENT_DIR)/tgif \
309$(MAGIC_FRAGMENT_DIR)/ti-8x \
310$(MAGIC_FRAGMENT_DIR)/timezone \
311$(MAGIC_FRAGMENT_DIR)/tplink \
312$(MAGIC_FRAGMENT_DIR)/troff \
313$(MAGIC_FRAGMENT_DIR)/tuxedo \
314$(MAGIC_FRAGMENT_DIR)/typeset \
315$(MAGIC_FRAGMENT_DIR)/uf2 \
316$(MAGIC_FRAGMENT_DIR)/unicode \
317$(MAGIC_FRAGMENT_DIR)/unisig \
318$(MAGIC_FRAGMENT_DIR)/unknown \
319$(MAGIC_FRAGMENT_DIR)/usd \
320$(MAGIC_FRAGMENT_DIR)/uterus \
321$(MAGIC_FRAGMENT_DIR)/uuencode \
322$(MAGIC_FRAGMENT_DIR)/vacuum-cleaner \
323$(MAGIC_FRAGMENT_DIR)/varied.out \
324$(MAGIC_FRAGMENT_DIR)/varied.script \
325$(MAGIC_FRAGMENT_DIR)/vax \
326$(MAGIC_FRAGMENT_DIR)/vicar \
327$(MAGIC_FRAGMENT_DIR)/virtual \
328$(MAGIC_FRAGMENT_DIR)/virtutech \
329$(MAGIC_FRAGMENT_DIR)/visx \
330$(MAGIC_FRAGMENT_DIR)/vms \
331$(MAGIC_FRAGMENT_DIR)/vmware \
332$(MAGIC_FRAGMENT_DIR)/vorbis \
333$(MAGIC_FRAGMENT_DIR)/vxl \
334$(MAGIC_FRAGMENT_DIR)/warc \
335$(MAGIC_FRAGMENT_DIR)/web \
336$(MAGIC_FRAGMENT_DIR)/weak \
337$(MAGIC_FRAGMENT_DIR)/webassembly \
338$(MAGIC_FRAGMENT_DIR)/windows \
339$(MAGIC_FRAGMENT_DIR)/wireless \
340$(MAGIC_FRAGMENT_DIR)/wordprocessors \
341$(MAGIC_FRAGMENT_DIR)/wsdl \
342$(MAGIC_FRAGMENT_DIR)/x68000 \
343$(MAGIC_FRAGMENT_DIR)/xdelta \
344$(MAGIC_FRAGMENT_DIR)/xenix \
345$(MAGIC_FRAGMENT_DIR)/xilinx \
346$(MAGIC_FRAGMENT_DIR)/xo65 \
347$(MAGIC_FRAGMENT_DIR)/xwindows \
348$(MAGIC_FRAGMENT_DIR)/yara \
349$(MAGIC_FRAGMENT_DIR)/zfs \
350$(MAGIC_FRAGMENT_DIR)/zilog \
351$(MAGIC_FRAGMENT_DIR)/zip \
352$(MAGIC_FRAGMENT_DIR)/zyxel
353
354EXTRA_DIST = \
355$(MAGIC_DIR)/scripts/create_filemagic_flac \
356$(MAGIC_FRAGMENTS)
357
358
359MAGIC = magic.mgc
360CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff
361
362# FIXME: Build file natively as well so that it can be used to compile
363# the target's magic file; for now we bail if the local version does not match
364if IS_CROSS_COMPILE
365FILE_COMPILE = file${EXEEXT}
366FILE_COMPILE_DEP =
367else
368FILE_COMPILE = $(top_builddir)/src/file${EXEEXT}
369FILE_COMPILE_DEP = $(FILE_COMPILE)
370endif
371
372${MAGIC}: $(MAGIC_FRAGMENTS) $(FILE_COMPILE_DEP)
373	@rm -fr magic
374	@mkdir magic && cp -p $(MAGIC_FRAGMENTS) magic
375	@(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \
376	    echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \
377	  else \
378	    v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \
379	    if [ "$$v" != "${PACKAGE_VERSION}" ]; then \
380		echo "Cannot use the installed version of file ($$v) to"; \
381		echo "cross-compile file ${PACKAGE_VERSION}"; \
382		echo "Please install file ${PACKAGE_VERSION} locally first"; \
383		exit 1; \
384	    fi; \
385	  fi)
386	$(FILE_COMPILE) -C -m magic
387	@rm -fr magic
388