xref: /haiku/src/bin/Jamfile (revision f2df0cfe93a902842f6f4629ff614f5b3f9bf687)
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	: shared 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, libpackage.so, libsupc++.so
209StdBinCommands
210	findpaths.cpp
211	: be package [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
212
213# standard commands that need libbe.so, libdevice.so
214StdBinCommands
215	listusb.cpp
216	setusbconfig.cpp
217	: be libdevice.so : $(haiku-utils_rsrc) ;
218
219ObjectHdrs [ FGristFiles listusb$(SUFOBJ) ]
220	: [ FDirName $(SUBDIR) $(DOTDOT) add-ons kernel bus_managers usb ]
221		[ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
222			apps devices ] ;
223Includes [ FGristFiles listusb.cpp ] : <src!apps!devices>usbhdr.h ;
224
225# standard commands that need libbluetooth.so, due the Bluetooth Kit
226StdBinCommands
227	bt_dev_info.cpp
228	: be libbluetooth.so : $(haiku-utils_rsrc) ;
229
230StdBinCommands
231	bt_discovery.cpp
232	: be libbluetooth.so [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
233
234
235# standard commands that need libbe.so, libbnetapi.so, libtracker.so
236StdBinCommands
237	checkitout.cpp
238	: be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ;
239
240#standard commands that need libbe.so, libtracker.so and the catalog stub
241StdBinCommands
242	filepanel.cpp
243	: be tracker [ TargetLibsupc++ ] localestub : $(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 bc ;
263SubInclude HAIKU_TOP src bin bfs_tools ;
264SubInclude HAIKU_TOP src bin cddb_lookup ;
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 fwcontrol ;
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 pc ;
285SubInclude HAIKU_TOP src bin pcmcia-cs ;
286SubInclude HAIKU_TOP src bin pkgman ;
287SubInclude HAIKU_TOP src bin playsound ;
288SubInclude HAIKU_TOP src bin rc ;
289SubInclude HAIKU_TOP src bin rmd160 ;
290SubInclude HAIKU_TOP src bin screen_blanker ;
291SubInclude HAIKU_TOP src bin screenmode ;
292SubInclude HAIKU_TOP src bin writembr ;
293SubInclude HAIKU_TOP src bin zic ;
294
295# debugging tools
296SubInclude HAIKU_TOP src bin debug ;
297
298# Network command line tools
299SubInclude HAIKU_TOP src bin network ;
300
301# Other stuff
302SubInclude HAIKU_TOP src bin filteredquery ;
303