xref: /haiku/src/bin/Jamfile (revision 4738a0e182ebe4e172ae0cba434234c8a017bdf0)
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	chop.c
32	clear.c
33	driveinfo.c
34	error.c
35	fortune.c
36	finddir.c
37	fstrim.cpp
38	hd.c
39	idestatus.c
40	listarea.c
41	listimage.c
42	listport.c
43	listsem.c
44	logger.cpp
45	lsindex.cpp
46	prio.c
47	ps.c
48	release.c
49	renice.c
50	rescan.c
51	unchop.c
52	uptime.cpp
53	vmstat.cpp
54	: : $(haiku-utils_rsrc) ;
55
56# Commands which don't need another library that depend on
57# Haiku-specific code
58if $(TARGET_PLATFORM) = haiku {
59StdBinCommands
60	boot_process_done.cpp
61	fdinfo.cpp
62	mount.c
63	rmattr.cpp
64	rmindex.cpp
65	safemode.c
66	unmount.c
67	: : $(haiku-utils_rsrc) ;
68}
69
70# standard commands that need libncurses.a
71StdBinCommands
72	top.c
73	: libncurses.a : $(haiku-utils_rsrc) ;
74
75# standard commands that need libbe.so
76StdBinCommands
77	beep.cpp
78	catattr.cpp
79	checkfs.cpp
80	clipboard.cpp
81	clockconfig.cpp
82	df.cpp
83	diskimage.cpp
84	dpms.cpp
85	draggers.cpp
86	ffm.cpp
87	iroster.cpp
88	listattr.cpp
89	listfont.cpp
90	listres.cpp
91	mkindex.cpp
92	message.cpp
93	modifiers.cpp
94	mvattr.cpp
95	play.cpp
96	query.cpp
97	quit.cpp
98	roster.cpp
99	setversion.cpp
100	trash.cpp
101	version.cpp
102	waitfor.cpp
103	WindowShade.cpp
104	: be : $(haiku-utils_rsrc) ;
105
106if $(TARGET_PLATFORM) = libbe_test {
107	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
108		: tests!apps ;
109}
110
111# standard commands that need libbe.so and libsupc++.so
112StdBinCommands
113	alert.cpp
114	eject.cpp
115	getarch.cpp
116	hey.cpp
117	reindex.cpp
118	resattr.cpp
119	screeninfo.cpp
120	setarch.cpp
121	setdecor.cpp
122	settype.cpp
123	spybmessage.cpp
124	urlwrapper.cpp
125	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
126
127# standard commands that need libbe.so, libsupc++.so, and libshared.a
128StdBinCommands
129	ramdisk.cpp
130	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
131
132# standard commands that need libbe.so, libbnetapi.solibsupc++.so
133StdBinCommands
134	open.cpp
135	urlwrapper.cpp
136	: be bnetapi [ TargetLibsupc++ ] : $(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 [ TargetLibsupc++ ] 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 [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
163
164# Haiku-specific apps which need libbe.so, libstdc++.so
165if $(TARGET_PLATFORM) = haiku {
166StdBinCommands
167	mountvolume.cpp
168	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
169}
170
171# commands that need libstdc++ only
172StdBinCommands
173	diff_zip.cpp
174	sysinfo.cpp
175	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
176
177# standard commands that need libbe.so, libtranslation.so, libsupc++.so
178StdBinCommands
179	translate.cpp
180	: be translation [ TargetLibsupc++ ] : $(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 [ TargetLibstdc++ ] : $(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 [ TargetLibsupc++ ] : $(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 [ TargetLibsupc++ ] : $(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 [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
227
228
229# standard commands that need libbe.so, libbnetapi.so, libtracker.so
230StdBinCommands
231	checkitout.cpp
232	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
233
234#standard commands that need libbe.so, libtracker.so and the stub catalog
235StdBinCommands
236	filepanel.cpp
237	: be tracker [ TargetLibsupc++ ] 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 [ TargetLibstdc++ ] : $(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 bc ;
262SubInclude HAIKU_TOP src bin bfs_tools ;
263SubInclude HAIKU_TOP src bin compress ;
264SubInclude HAIKU_TOP src bin consoled ;
265SubInclude HAIKU_TOP src bin coreutils ;
266SubInclude HAIKU_TOP src bin desklink ;
267SubInclude HAIKU_TOP src bin diffutils ;
268SubInclude HAIKU_TOP src bin fwcontrol ;
269SubInclude HAIKU_TOP src bin gawk ; # used only for libintl by gdb
270SubInclude HAIKU_TOP src bin gdb ;
271SubInclude HAIKU_TOP src bin hid_decode ;
272SubInclude HAIKU_TOP src bin ideinfo ;
273SubInclude HAIKU_TOP src bin keymap ;
274SubInclude HAIKU_TOP src bin keystore ;
275SubInclude HAIKU_TOP src bin listdev ;
276SubInclude HAIKU_TOP src bin locale ;
277SubInclude HAIKU_TOP src bin makebootable ;
278#SubInclude HAIKU_TOP src bin makeudfimage ;
279SubInclude HAIKU_TOP src bin mail_utils ;
280SubInclude HAIKU_TOP src bin mkdos ;
281SubInclude HAIKU_TOP src bin mkfs ;
282SubInclude HAIKU_TOP src bin multiuser ;
283SubInclude HAIKU_TOP src bin package ;
284SubInclude HAIKU_TOP src bin package_repo ;
285SubInclude HAIKU_TOP src bin patch ;
286SubInclude HAIKU_TOP src bin pc ;
287SubInclude HAIKU_TOP src bin pcmcia-cs ;
288SubInclude HAIKU_TOP src bin pkgman ;
289SubInclude HAIKU_TOP src bin playsound ;
290SubInclude HAIKU_TOP src bin rc ;
291SubInclude HAIKU_TOP src bin rmd160 ;
292SubInclude HAIKU_TOP src bin screen_blanker ;
293SubInclude HAIKU_TOP src bin screenmode ;
294SubInclude HAIKU_TOP src bin writembr ;
295SubInclude HAIKU_TOP src bin zic ;
296
297# RCS commands
298SubInclude HAIKU_TOP src bin rcs ;
299
300# debugging tools
301SubInclude HAIKU_TOP src bin debug ;
302
303# Network command line tools
304SubInclude HAIKU_TOP src bin network ;
305
306# Compression command line tools
307SubInclude HAIKU_TOP src bin unzip ;
308SubInclude HAIKU_TOP src bin zip ;
309SubInclude HAIKU_TOP src bin gzip ;
310
311# Other stuff
312SubInclude HAIKU_TOP src bin filteredquery ;
313