xref: /haiku/src/tools/Jamfile (revision 1c09002cbee8e797a0f8bbfc5678dfadd39ee1a7)
1SubDir HAIKU_TOP src tools ;
2
3UseHeaders [ FDirName $(HAIKU_TOP) headers build private app ] : true ;
4UseHeaders [ FDirName $(HAIKU_TOP) headers build private storage ] : true ;
5
6SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src/bin ] ;
7
8local tools =
9	<build>catattr
10	<build>copyattr
11	<build>generate_attribute_stores
12	<build>listattr
13	<build>mimeset
14	<build>mkindex
15	<build>rm_attrs_tmp
16	<build>rmattr
17	<build>settype
18	<build>setversion
19	<build>xres
20	<build>generate_boot_screen
21;
22
23USES_BE_API on $(tools) = true ;
24
25# TODO: temporary kludge
26local libHaikuCompat ;
27if $(HOST_PLATFORM) in r5 bone dano {
28	ObjectC++Flags database_support.cpp UpdateMimeInfoThread.cpp
29		MimeUpdateThread.cpp
30		: -include [ FDirName $(HAIKU_TOP) headers build
31			HaikuBuildCompatibility.h ] ;
32	libHaikuCompat = libhaikucompat_build.a ;
33}
34
35BuildPlatformMain <build>catattr : catattr.cpp : $(HOST_LIBBE) ;
36
37UsePrivateObjectHeaders copyattr.cpp : shared : : true ;
38BuildPlatformMain <build>copyattr : copyattr.cpp
39	: $(HOST_LIBBE) $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ;
40
41BuildPlatformMain <build>create_image : create_image.cpp : $(HOST_LIBSUPC++) ;
42
43BuildPlatformMain <build>data_to_source : data_to_source.cpp
44	: $(HOST_LIBSUPC++) ;
45
46BuildPlatformMain <build>generate_attribute_stores
47	: generate_attribute_stores.cpp : $(HOST_LIBBE) $(HOST_LIBSUPC++) ;
48
49UsePrivateObjectHeaders generate_boot_screen.cpp : shared : : true ;
50UsePrivateObjectHeaders ColorQuantizer.cpp : shared : : true ;
51BuildPlatformMain <build>generate_boot_screen :
52	generate_boot_screen.cpp
53	ColorQuantizer.cpp
54	: $(HOST_LIBSUPC++) $(HOST_LIBSTDC++) png z ;
55
56BuildPlatformMain <build>listattr : listattr.cpp : $(HOST_LIBBE) ;
57
58if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
59	AddResources <build>mimeset : mimeset.rdef ;
60}
61
62local mimesetSources =
63	mimeset.cpp
64	Mime.cpp
65	database_support.cpp
66	UpdateMimeInfoThread.cpp
67	MimeUpdateThread.cpp
68;
69
70if $(HOST_PLATFORM) = haiku_host {
71	mimesetSources += AppFileInfo.cpp ;
72}
73
74BuildPlatformMain <build>mimeset :
75	$(mimesetSources)
76	: $(HOST_LIBBE) $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(libHaikuCompat)
77;
78
79if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
80	SEARCH on [ FGristFiles AppFileInfo.cpp ]
81		= [ FDirName $(HAIKU_TOP) src build libbe storage ] ;
82
83	SourceSysHdrs AppFileInfo.cpp UpdateMimeInfoThread.cpp
84		: [ FDirName  $(HAIKU_TOP) headers build os storage ] ;
85}
86
87BuildPlatformMain <build>mkindex : mkindex.cpp : $(HOST_LIBBE) ;
88
89# We want rm_attrs to be self-contained, so we link against the static libroot.
90HOST_LIBROOT on <build>rm_attrs_tmp = $(HOST_STATIC_LIBROOT) ;
91BuildPlatformMain <build>rm_attrs_tmp : rm_attrs.cpp
92	: $(HOST_LIBSUPC++) $(HOST_LIBSTDC++) ;
93MakeLocateDebug <build>rm_attrs ;
94File <build>rm_attrs : <build>rm_attrs_tmp ;
95MODE on <build>rm_attrs = 755 ;
96
97BuildPlatformMain <build>rmattr : rmattr.cpp : $(HOST_LIBBE) ;
98
99BuildPlatformMain <build>set_haiku_revision : set_haiku_revision.cpp
100	: $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ;
101
102BuildPlatformMain <build>settype : settype.cpp : $(HOST_LIBBE)
103	$(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ;
104
105BuildPlatformMain <build>setversion : setversion.cpp : $(HOST_LIBBE)
106	$(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(libHaikuCompat) ;
107
108BuildPlatformMain <build>xres : xres.cpp : $(HOST_LIBBE) $(HOST_LIBSTDC++)
109	$(HOST_LIBSUPC++) ;
110
111SEARCH on [ FGristFiles
112		Mime.cpp
113	] = [ FDirName $(HAIKU_TOP) src build libbe storage ] ;
114
115SEARCH on [ FGristFiles
116		UpdateMimeInfoThread.cpp MimeUpdateThread.cpp database_support.cpp
117	] = [ FDirName $(HAIKU_TOP) src build libbe storage mime ] ;
118
119SEARCH on [ FGristFiles
120		ColorQuantizer.cpp
121	] = [ FDirName $(HAIKU_TOP) src kits shared ] ;
122
123SubInclude HAIKU_TOP src tools addattr ;
124SubInclude HAIKU_TOP src tools anyboot ;
125SubInclude HAIKU_TOP src tools bfs_shell ;
126SubInclude HAIKU_TOP src tools cppunit ;
127SubInclude HAIKU_TOP src tools docbook ;
128SubInclude HAIKU_TOP src tools elfsymbolpatcher ;
129SubInclude HAIKU_TOP src tools fixup_amiga_boot_checksum ;
130SubInclude HAIKU_TOP src tools fixup_tos_boot_checksum ;
131SubInclude HAIKU_TOP src tools fs_shell ;
132SubInclude HAIKU_TOP src tools gensyscalls ;
133SubInclude HAIKU_TOP src tools hack_coff ;
134SubInclude HAIKU_TOP src tools keymap ;
135SubInclude HAIKU_TOP src tools locale ;
136SubInclude HAIKU_TOP src tools makebootable ;
137SubInclude HAIKU_TOP src tools rc ;
138SubInclude HAIKU_TOP src tools remote_disk_server ;
139SubInclude HAIKU_TOP src tools resattr ;
140SubInclude HAIKU_TOP src tools rman ;
141SubInclude HAIKU_TOP src tools translation ;
142SubInclude HAIKU_TOP src tools unzip ;
143SubInclude HAIKU_TOP src tools vmdkimage ;
144SubInclude HAIKU_TOP src tools unflatten ;
145SubInclude HAIKU_TOP src tools zip ;
146
147