xref: /haiku/src/bin/Jamfile (revision 788e359072485f0439a9bed8278168aed8fe023b)
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	screen_info.cpp
121	setarch.cpp
122	setdecor.cpp
123	settype.cpp
124	spybmessage.cpp
125	urlwrapper.cpp
126	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
127
128# standard commands that need libbe.so, libsupc++.so, and libshared.a
129StdBinCommands
130	ramdisk.cpp
131	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
132
133# standard commands that need libbe.so, libbnetapi.solibsupc++.so
134StdBinCommands
135	open.cpp
136	urlwrapper.cpp
137	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
138
139# commands that need libbe.so and the stub catalog
140StdBinCommands
141	clockconfig.cpp
142	query.cpp
143	: be localestub : $(haiku-utils_rsrc) ;
144
145# commands that need libbe.so, libsupc++.so and the stub catalog
146StdBinCommands
147	dstcheck.cpp
148	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
149
150# Haiku-specific apps which need libbe.so
151if $(TARGET_PLATFORM) = haiku {
152StdBinCommands
153	isvolume.cpp
154	shutdown.cpp
155	: be : $(haiku-utils_rsrc) ;
156}
157
158# standard commands that need libbe.so, libstdc++.so
159StdBinCommands
160	copyattr.cpp
161	setmime.cpp
162	xres.cpp
163	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
164
165# Haiku-specific apps which need libbe.so, libstdc++.so
166if $(TARGET_PLATFORM) = haiku {
167StdBinCommands
168	mountvolume.cpp
169	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
170}
171
172# commands that need libstdc++ only
173StdBinCommands
174	diff_zip.cpp
175	sysinfo.cpp
176	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
177
178# standard commands that need libbe.so, libtranslation.so, libsupc++.so
179StdBinCommands
180	translate.cpp
181	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
182
183# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
184StdBinCommands
185	notify.cpp
186	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
187
188# standard commands that need libbe.so, libmedia.so
189StdBinCommands
190	installsound.cpp
191	: be libmedia.so : $(haiku-utils_rsrc) ;
192
193# standard commands that need libbe.so, libmedia.so, libsupc++.so
194StdBinCommands
195	setvolume.cpp
196	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
197
198# standard commands that need libbe.so, libmail.so
199StdBinCommands
200	mail.cpp
201	: be libmail.so : $(haiku-utils_rsrc) ;
202
203# standard commands that need libbe.so, libpackage.so, libsupc++.so
204StdBinCommands
205	findpaths.cpp
206	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
207
208# standard commands that need libbe.so, libdevice.so
209StdBinCommands
210	listusb.cpp
211	setusbconfig.cpp
212	: be libdevice.so : $(haiku-utils_rsrc) ;
213
214ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
215	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
216		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
217			apps devices ] ;
218Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
219
220# standard commands that need libbluetooth.so, due the Bluetooth Kit
221StdBinCommands
222	bt_dev_info.cpp
223	: be libbluetooth.so : $(haiku-utils_rsrc) ;
224
225StdBinCommands
226	bt_discovery.cpp
227	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
228
229
230# standard commands that need libbe.so, libbnetapi.so, libtracker.so
231StdBinCommands
232	checkitout.cpp
233	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
234
235#standard commands that need libbe.so, libtracker.so and the stub catalog
236StdBinCommands
237	filepanel.cpp
238	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
239
240# standard commands that need libncurses.a
241StdBinCommands
242	watch.c
243	: libncurses.a : $(haiku-utils_rsrc) ;
244
245# mimeset needs libstorage_kit_mime.a
246StdBinCommands
247	mimeset.cpp
248	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
249
250# Localization of some applications
251DoCatalogs dstcheck
252	: x-vnd.Haiku-cmd-dstconfig
253	: dstcheck.cpp
254;
255
256DoCatalogs filepanel
257	: x-vnd.mmu_man.filepanel
258	: filepanel.cpp
259;
260
261SubInclude HAIKU_TOP src bin addattr ;
262SubInclude HAIKU_TOP src bin bash ;
263SubInclude HAIKU_TOP src bin bc ;
264SubInclude HAIKU_TOP src bin bfs_tools ;
265SubInclude HAIKU_TOP src bin compress ;
266SubInclude HAIKU_TOP src bin consoled ;
267SubInclude HAIKU_TOP src bin coreutils ;
268SubInclude HAIKU_TOP src bin desklink ;
269SubInclude HAIKU_TOP src bin diffutils ;
270SubInclude HAIKU_TOP src bin fwcontrol ;
271SubInclude HAIKU_TOP src bin gawk ;
272SubInclude HAIKU_TOP src bin gdb ;
273SubInclude HAIKU_TOP src bin hid_decode ;
274SubInclude HAIKU_TOP src bin ideinfo ;
275SubInclude HAIKU_TOP src bin keymap ;
276SubInclude HAIKU_TOP src bin keystore ;
277SubInclude HAIKU_TOP src bin listdev ;
278SubInclude HAIKU_TOP src bin locale ;
279SubInclude HAIKU_TOP src bin makebootable ;
280#SubInclude HAIKU_TOP src bin makeudfimage ;
281SubInclude HAIKU_TOP src bin mail_utils ;
282SubInclude HAIKU_TOP src bin mkdos ;
283SubInclude HAIKU_TOP src bin mkfs ;
284SubInclude HAIKU_TOP src bin multiuser ;
285SubInclude HAIKU_TOP src bin package ;
286SubInclude HAIKU_TOP src bin package_repo ;
287SubInclude HAIKU_TOP src bin patch ;
288SubInclude HAIKU_TOP src bin pc ;
289SubInclude HAIKU_TOP src bin pcmcia-cs ;
290SubInclude HAIKU_TOP src bin pkgman ;
291SubInclude HAIKU_TOP src bin playsound ;
292SubInclude HAIKU_TOP src bin rc ;
293SubInclude HAIKU_TOP src bin rmd160 ;
294SubInclude HAIKU_TOP src bin screen_blanker ;
295SubInclude HAIKU_TOP src bin screenmode ;
296SubInclude HAIKU_TOP src bin writembr ;
297SubInclude HAIKU_TOP src bin zic ;
298
299# RCS commands
300SubInclude HAIKU_TOP src bin rcs ;
301
302# debugging tools
303SubInclude HAIKU_TOP src bin debug ;
304
305# Network command line tools
306SubInclude HAIKU_TOP src bin network ;
307
308# Compression command line tools
309SubInclude HAIKU_TOP src bin unzip ;
310SubInclude HAIKU_TOP src bin zip ;
311SubInclude HAIKU_TOP src bin gzip ;
312
313# Other stuff
314SubInclude HAIKU_TOP src bin filteredquery ;
315