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