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