xref: /haiku/src/bin/Jamfile (revision a629567a9001547736cfe892cdf992be16868fed)
1SubDir HAIKU_TOP src bin ;
2
3HAIKU_MULTIPLE_LOCALIZED_TARGETS on $(SUBDIR) = 1 ;
4
5SetSubDirSupportedPlatformsBeOSCompatible ;
6
7AddSubDirSupportedPlatforms libbe_test ;
8
9UsePrivateHeaders app interface shared storage support tracker usb ;
10UsePrivateSystemHeaders ;
11SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_cache ;
12UseLibraryHeaders ncurses ;
13
14local haiku-utils_rsrc = [ FGristFiles haiku-utils.rsrc ] ;
15
16ResComp $(haiku-utils_rsrc) : [ FGristFiles haiku-utils.rdef ] ;
17
18AddResources checkitout : checkitout.rdef ;
19AddResources dstcheck : dstcheck.rdef ;
20AddResources fortune : fortune.rdef ;
21AddResources hey : hey.rdef ;
22AddResources mimeset : mimeset.rdef ;
23AddResources mountvolume : mountvolume.rdef ;
24AddResources notify : notify.rdef ;
25AddResources setmime : setmime.rdef ;
26AddResources urlwrapper : urlwrapper.rdef ;
27
28# standard commands that don't need any additional library
29StdBinCommands
30	badblocks.cpp
31	cal.c
32	chop.c
33	clear.c
34	driveinfo.c
35	error.c
36	fortune.c
37	finddir.c
38	fstrim.cpp
39	hd.c
40	idestatus.c
41	listarea.c
42	listimage.c
43	listport.c
44	listsem.c
45	logger.cpp
46	lsindex.cpp
47	prio.c
48	ps.c
49	release.c
50	renice.c
51	rescan.c
52	unchop.c
53	uptime.cpp
54	vmstat.cpp
55	: : $(haiku-utils_rsrc) ;
56
57# Commands which don't need another library that depend on
58# Haiku-specific code
59if $(TARGET_PLATFORM) = haiku {
60StdBinCommands
61	boot_process_done.cpp
62	fdinfo.cpp
63	mount.c
64	rmattr.cpp
65	rmindex.cpp
66	safemode.c
67	unmount.c
68	: : $(haiku-utils_rsrc) ;
69}
70
71# standard commands that need libncurses.a
72StdBinCommands
73	top.c
74	: libncurses.a : $(haiku-utils_rsrc) ;
75
76# standard commands that need libbe.so
77StdBinCommands
78	beep.cpp
79	catattr.cpp
80	checkfs.cpp
81	clipboard.cpp
82	clockconfig.cpp
83	df.cpp
84	diskimage.cpp
85	dpms.cpp
86	draggers.cpp
87	ffm.cpp
88	iroster.cpp
89	listattr.cpp
90	listfont.cpp
91	listres.cpp
92	mkindex.cpp
93	message.cpp
94	modifiers.cpp
95	mvattr.cpp
96	play.cpp
97	query.cpp
98	quit.cpp
99	roster.cpp
100	setversion.cpp
101	trash.cpp
102	version.cpp
103	waitfor.cpp
104	WindowShade.cpp
105	: be : $(haiku-utils_rsrc) ;
106
107if $(TARGET_PLATFORM) = libbe_test {
108	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
109		: tests!apps ;
110}
111
112# standard commands that need libbe.so and libsupc++.so
113StdBinCommands
114	alert.cpp
115	eject.cpp
116	getarch.cpp
117	hey.cpp
118	reindex.cpp
119	resattr.cpp
120	setarch.cpp
121	setdecor.cpp
122	settype.cpp
123	spybmessage.cpp
124	urlwrapper.cpp
125	: be $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
126
127# standard commands that need libbe.so, libsupc++.so, and libshared.a
128StdBinCommands
129	ramdisk.cpp
130	: libshared.a be $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
131
132# standard commands that need libbe.so, libbnetapi.solibsupc++.so
133StdBinCommands
134	open.cpp
135	urlwrapper.cpp
136	: be bnetapi $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
137
138# commands that need libbe.so and the stub catalog
139StdBinCommands
140	clockconfig.cpp
141	query.cpp
142	: be localestub : $(haiku-utils_rsrc) ;
143
144# commands that need libbe.so, libsupc++.so and the stub catalog
145StdBinCommands
146	dstcheck.cpp
147	: be $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ;
148
149# Haiku-specific apps which need libbe.so
150if $(TARGET_PLATFORM) = haiku {
151StdBinCommands
152	isvolume.cpp
153	shutdown.cpp
154	: be : $(haiku-utils_rsrc) ;
155}
156
157# standard commands that need libbe.so, libstdc++.so
158StdBinCommands
159	copyattr.cpp
160	setmime.cpp
161	xres.cpp
162	: be $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
163
164# Haiku-specific apps which need libbe.so, libstdc++.so
165if $(TARGET_PLATFORM) = haiku {
166StdBinCommands
167	mountvolume.cpp
168	: be $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
169}
170
171# commands that need libstdc++ only
172StdBinCommands
173	diff_zip.cpp
174	sysinfo.cpp
175	: $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
176
177# standard commands that need libbe.so, libtranslation.so, libsupc++.so
178StdBinCommands
179	translate.cpp
180	: be translation $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
181
182# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
183StdBinCommands
184	notify.cpp
185	: be translation libicon.a $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
186
187# standard commands that need libbe.so, libmedia.so
188StdBinCommands
189	installsound.cpp
190	: be libmedia.so : $(haiku-utils_rsrc) ;
191
192# standard commands that need libbe.so, libmedia.so, libsupc++.so
193StdBinCommands
194	setvolume.cpp
195	: be libmedia.so $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
196
197# standard commands that need libbe.so, libmail.so
198StdBinCommands
199	mail.cpp
200	: be libmail.so : $(haiku-utils_rsrc) ;
201
202# standard commands that need libbe.so, libpackage.so, libsupc++.so
203StdBinCommands
204	findpaths.cpp
205	: be package $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
206
207# standard commands that need libbe.so, libdevice.so
208StdBinCommands
209	listusb.cpp
210	setusbconfig.cpp
211	: be libdevice.so : $(haiku-utils_rsrc) ;
212
213ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
214	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
215		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
216			apps devices ] ;
217Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
218
219# standard commands that need libbluetooth.so, due the Bluetooth Kit
220StdBinCommands
221	bt_dev_info.cpp
222	: be libbluetooth.so : $(haiku-utils_rsrc) ;
223
224StdBinCommands
225	bt_discovery.cpp
226	: be libbluetooth.so $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
227
228
229# standard commands that need libbe.so, libbnetapi.so, libtracker.so
230StdBinCommands
231	checkitout.cpp
232	: be bnetapi tracker $(TARGET_LIBSUPC++) : $(haiku-utils_rsrc) ;
233
234#standard commands that need libbe.so, libtracker.so and the stub catalog
235StdBinCommands
236	filepanel.cpp
237	: be tracker $(TARGET_LIBSUPC++) localestub : $(haiku-utils_rsrc) ;
238
239# standard commands that need libncurses.a
240StdBinCommands
241	watch.c
242	: libncurses.a : $(haiku-utils_rsrc) ;
243
244# mimeset needs libstorage_kit_mime.a
245StdBinCommands
246	mimeset.cpp
247	: be libstorage_kit_mime.a $(TARGET_LIBSTDC++) : $(haiku-utils_rsrc) ;
248
249# Localization of some applications
250DoCatalogs dstcheck
251	: x-vnd.Haiku-cmd-dstconfig
252	: dstcheck.cpp
253;
254
255DoCatalogs filepanel
256	: x-vnd.mmu_man.filepanel
257	: filepanel.cpp
258;
259
260SubInclude HAIKU_TOP src bin addattr ;
261SubInclude HAIKU_TOP src bin bash ;
262SubInclude HAIKU_TOP src bin bc ;
263SubInclude HAIKU_TOP src bin bfs_tools ;
264SubInclude HAIKU_TOP src bin compress ;
265SubInclude HAIKU_TOP src bin consoled ;
266SubInclude HAIKU_TOP src bin coreutils ;
267SubInclude HAIKU_TOP src bin desklink ;
268SubInclude HAIKU_TOP src bin diffutils ;
269SubInclude HAIKU_TOP src bin fwcontrol ;
270SubInclude HAIKU_TOP src bin gawk ;
271SubInclude HAIKU_TOP src bin gdb ;
272SubInclude HAIKU_TOP src bin hid_decode ;
273SubInclude HAIKU_TOP src bin ideinfo ;
274SubInclude HAIKU_TOP src bin keymap ;
275SubInclude HAIKU_TOP src bin keystore ;
276SubInclude HAIKU_TOP src bin listdev ;
277SubInclude HAIKU_TOP src bin locale ;
278SubInclude HAIKU_TOP src bin makebootable ;
279#SubInclude HAIKU_TOP src bin makeudfimage ;
280SubInclude HAIKU_TOP src bin mail_utils ;
281SubInclude HAIKU_TOP src bin mkdos ;
282SubInclude HAIKU_TOP src bin mkfs ;
283SubInclude HAIKU_TOP src bin multiuser ;
284SubInclude HAIKU_TOP src bin package ;
285SubInclude HAIKU_TOP src bin package_repo ;
286SubInclude HAIKU_TOP src bin patch ;
287SubInclude HAIKU_TOP src bin pc ;
288SubInclude HAIKU_TOP src bin pcmcia-cs ;
289SubInclude HAIKU_TOP src bin pkgman ;
290SubInclude HAIKU_TOP src bin playsound ;
291SubInclude HAIKU_TOP src bin rc ;
292SubInclude HAIKU_TOP src bin rmd160 ;
293SubInclude HAIKU_TOP src bin screen_blanker ;
294SubInclude HAIKU_TOP src bin screenmode ;
295SubInclude HAIKU_TOP src bin writembr ;
296SubInclude HAIKU_TOP src bin zic ;
297
298# RCS commands
299SubInclude HAIKU_TOP src bin rcs ;
300
301# debugging tools
302SubInclude HAIKU_TOP src bin debug ;
303
304# Network command line tools
305SubInclude HAIKU_TOP src bin network ;
306
307# Compression command line tools
308SubInclude HAIKU_TOP src bin unzip ;
309SubInclude HAIKU_TOP src bin zip ;
310SubInclude HAIKU_TOP src bin gzip ;
311
312# Other stuff
313SubInclude HAIKU_TOP src bin filteredquery ;
314