xref: /haiku/src/bin/Jamfile (revision e661df29804f2703a65e23f5789c3c87c0915298)
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 ;
12UseBuildFeatureHeaders 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
71Includes [ FGristFiles top.c watch.c ]
72	: [ BuildFeatureAttribute ncurses : headers ] ;
73
74StdBinCommands
75	top.c
76	watch.c
77	: [ BuildFeatureAttribute ncurses : library ] : $(haiku-utils_rsrc) ;
78
79# standard commands that need libbe.so
80StdBinCommands
81	beep.cpp
82	catattr.cpp
83	checkfs.cpp
84	clipboard.cpp
85	clockconfig.cpp
86	df.cpp
87	diskimage.cpp
88	dpms.cpp
89	draggers.cpp
90	ffm.cpp
91	iroster.cpp
92	listattr.cpp
93	listfont.cpp
94	listres.cpp
95	mkindex.cpp
96	message.cpp
97	modifiers.cpp
98	mvattr.cpp
99	play.cpp
100	query.cpp
101	quit.cpp
102	roster.cpp
103	setversion.cpp
104	trash.cpp
105	version.cpp
106	waitfor.cpp
107	WindowShade.cpp
108	: be : $(haiku-utils_rsrc) ;
109
110if $(TARGET_PLATFORM) = libbe_test {
111	HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : setdecor
112		: tests!apps ;
113}
114
115# standard commands that need libbe.so and libsupc++.so
116StdBinCommands
117	alert.cpp
118	eject.cpp
119	getarch.cpp
120	hey.cpp
121	reindex.cpp
122	resattr.cpp
123	screeninfo.cpp
124	setarch.cpp
125	setdecor.cpp
126	settype.cpp
127	spybmessage.cpp
128	urlwrapper.cpp
129	: be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
130
131# standard commands that need libbe.so, libsupc++.so, and libshared.a
132StdBinCommands
133	ramdisk.cpp
134	: libshared.a be [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
135
136# standard commands that need libbe.so, libbnetapi.solibsupc++.so
137StdBinCommands
138	open.cpp
139	urlwrapper.cpp
140	: be bnetapi [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
141
142# commands that need libbe.so and the stub catalog
143StdBinCommands
144	clockconfig.cpp
145	query.cpp
146	: be localestub : $(haiku-utils_rsrc) ;
147
148# commands that need libbe.so, libsupc++.so and the stub catalog
149StdBinCommands
150	dstcheck.cpp
151	: be [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
152
153# Haiku-specific apps which need libbe.so
154if $(TARGET_PLATFORM) = haiku {
155StdBinCommands
156	isvolume.cpp
157	shutdown.cpp
158	: be : $(haiku-utils_rsrc) ;
159}
160
161# standard commands that need libbe.so, libstdc++.so
162StdBinCommands
163	copyattr.cpp
164	setmime.cpp
165	xres.cpp
166	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
167
168# Haiku-specific apps which need libbe.so, libstdc++.so
169if $(TARGET_PLATFORM) = haiku {
170StdBinCommands
171	mountvolume.cpp
172	: be [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
173}
174
175# commands that need libstdc++ only
176StdBinCommands
177	diff_zip.cpp
178	sysinfo.cpp
179	: [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
180
181# standard commands that need libbe.so, libtranslation.so, libsupc++.so
182StdBinCommands
183	translate.cpp
184	: be translation [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
185
186# standard commands that need libbe.so, libtranslation.so, libicon.a, libstdc++.so
187StdBinCommands
188	notify.cpp
189	: be translation libicon.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
190
191# standard commands that need libbe.so, libmedia.so
192StdBinCommands
193	installsound.cpp
194	: be libmedia.so : $(haiku-utils_rsrc) ;
195
196# standard commands that need libbe.so, libmedia.so, libsupc++.so
197StdBinCommands
198	setvolume.cpp
199	: be libmedia.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
200
201# standard commands that need libbe.so, libmail.so
202StdBinCommands
203	mail.cpp
204	: be libmail.so : $(haiku-utils_rsrc) ;
205
206# standard commands that need libbe.so, libpackage.so, libsupc++.so
207StdBinCommands
208	findpaths.cpp
209	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
210
211# standard commands that need libbe.so, libdevice.so
212StdBinCommands
213	listusb.cpp
214	setusbconfig.cpp
215	: be libdevice.so : $(haiku-utils_rsrc) ;
216
217ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
218	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
219		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
220			apps devices ] ;
221Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
222
223# standard commands that need libbluetooth.so, due the Bluetooth Kit
224StdBinCommands
225	bt_dev_info.cpp
226	: be libbluetooth.so : $(haiku-utils_rsrc) ;
227
228StdBinCommands
229	bt_discovery.cpp
230	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
231
232
233# standard commands that need libbe.so, libbnetapi.so, libtracker.so
234StdBinCommands
235	checkitout.cpp
236	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
237
238#standard commands that need libbe.so, libtracker.so and the catalog stub
239StdBinCommands
240	filepanel.cpp
241	: be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ;
242
243# mimeset needs libstorage_kit_mime.a
244StdBinCommands
245	mimeset.cpp
246	: be libstorage_kit_mime.a [ TargetLibstdc++ ] : $(haiku-utils_rsrc) ;
247
248# Localization of some applications
249DoCatalogs dstcheck
250	: x-vnd.Haiku-cmd-dstconfig
251	: dstcheck.cpp
252;
253
254DoCatalogs filepanel
255	: x-vnd.mmu_man.filepanel
256	: filepanel.cpp
257;
258
259SubInclude HAIKU_TOP src bin addattr ;
260SubInclude HAIKU_TOP src bin bc ;
261SubInclude HAIKU_TOP src bin bfs_tools ;
262SubInclude HAIKU_TOP src bin compress ;
263SubInclude HAIKU_TOP src bin consoled ;
264SubInclude HAIKU_TOP src bin coreutils ;
265SubInclude HAIKU_TOP src bin desklink ;
266SubInclude HAIKU_TOP src bin diffutils ;
267SubInclude HAIKU_TOP src bin fwcontrol ;
268SubInclude HAIKU_TOP src bin gawk ; # used only for libintl by gdb
269SubInclude HAIKU_TOP src bin gdb ;
270SubInclude HAIKU_TOP src bin hid_decode ;
271SubInclude HAIKU_TOP src bin ideinfo ;
272SubInclude HAIKU_TOP src bin keymap ;
273SubInclude HAIKU_TOP src bin keystore ;
274SubInclude HAIKU_TOP src bin listdev ;
275SubInclude HAIKU_TOP src bin locale ;
276SubInclude HAIKU_TOP src bin makebootable ;
277#SubInclude HAIKU_TOP src bin makeudfimage ;
278SubInclude HAIKU_TOP src bin mail_utils ;
279SubInclude HAIKU_TOP src bin mkdos ;
280SubInclude HAIKU_TOP src bin mkfs ;
281SubInclude HAIKU_TOP src bin multiuser ;
282SubInclude HAIKU_TOP src bin package ;
283SubInclude HAIKU_TOP src bin package_repo ;
284SubInclude HAIKU_TOP src bin patch ;
285SubInclude HAIKU_TOP src bin pc ;
286SubInclude HAIKU_TOP src bin pcmcia-cs ;
287SubInclude HAIKU_TOP src bin pkgman ;
288SubInclude HAIKU_TOP src bin playsound ;
289SubInclude HAIKU_TOP src bin rc ;
290SubInclude HAIKU_TOP src bin rmd160 ;
291SubInclude HAIKU_TOP src bin screen_blanker ;
292SubInclude HAIKU_TOP src bin screenmode ;
293SubInclude HAIKU_TOP src bin writembr ;
294SubInclude HAIKU_TOP src bin zic ;
295
296# debugging tools
297SubInclude HAIKU_TOP src bin debug ;
298
299# Network command line tools
300SubInclude HAIKU_TOP src bin network ;
301
302# Compression command line tools
303SubInclude HAIKU_TOP src bin unzip ;
304SubInclude HAIKU_TOP src bin zip ;
305SubInclude HAIKU_TOP src bin gzip ;
306
307# Other stuff
308SubInclude HAIKU_TOP src bin filteredquery ;
309