-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJamfile
More file actions
154 lines (123 loc) · 5.12 KB
/
Copy pathJamfile
File metadata and controls
154 lines (123 loc) · 5.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
## Haiku Generic Jamfile v1.0.3 ##
## Fill in this file to specify the project being created, and the referenced
## Jamfile-engine will do all of the hard work for you. This handles both
## Intel and PowerPC builds of BeOS and Haiku.
## Application Specific Settings ---------------------------------------------
# use g++ to compile and link so that we automatically get libstdc++
C++ = g++ ;
LINK = $(C++) ;
# override MKDIR to work around a bug in jamfile-engine
MKDIR = mkdir -p ;
# Specify the name of the binary
# If the name has spaces, you must quote it: "My App"
NAME = WorkspaceNotify ;
# Specify the type of binary
# APP: Application
# SHARED: Shared library or add-on
# STATIC: Static library archive
# DRIVER: Kernel Driver
TYPE = APP ;
# Specify the application MIME signature, if you plan to use localization
# features. String format x-vnd.<VendorName>-<AppName> is recommended.
APP_MIME_SIG = application/x-vnd.cpr.WorkspaceNotify ;
# Specify the source files to use
# Full paths or paths relative to the Jamfile can be included.
# All files, regardless of directory, will have their object
# files created in the common object directory.
# Note that this means this Jamfile will not work correctly
# if two source files with the same name (source.c or source.cpp)
# are included from different directories.
# Ex: SRCS = file1.cpp file2.cpp file3.cpp ;
SRCS = WatcherWindow.cpp NotifyApp.cpp ;
# Specify the resource files to use
# Full path or a relative path to the resource file can be used.
RSRCS = ;
# Additionally specify the path of rdef files to compile and add to resources
RDEFS = WorkspaceNotify.rdef ;
# Make Jamfile-engine remove the generated resource file
Clean clean : $(NAME).rsrc ;
# Specify additional libraries to link against
# There are two acceptable forms of library specifications
# - if your library follows the naming pattern of:
# libXXX.so or libXXX.a you can simply specify XXX
# library: libbe.so entry: be
#
# - for localization support add following libs:
# locale localestub
#
# - if your library does not follow the standard library
# naming scheme you need to specify the path to the library
# and it's name
# library: my_lib.a entry: my_lib.a or path/my_lib.a
LIBS = be ;
# Specify additional paths to directories following the standard
# libXXX.so or libXXX.a naming scheme. You can specify full paths
# or paths relative to the Jamfile. The paths included may not
# be recursive, so include all of the paths where libraries can
# be found. Directories where source files are found are
# automatically included.
LIBPATHS = ;
# Additional paths to look for system headers
# These use the form: #include <header>
# source file directories are NOT auto-included here
SYSTEM_INCLUDE_PATHS = /boot/system/develop/headers/private/interface ;
# Additional paths to look for local headers
# thes use the form: #include "header"
# source file directories are automatically included
LOCAL_INCLUDE_PATHS = ;
# Specify the level of optimization that you desire
# NONE, SOME, FULL
OPTIMIZE = ;
# Specify the codes for languages you are going to support in this
# application. The default "en" one must be provided too. "jam catkeys"
# will recreate only locales/en.catkeys file. Use it as template for
# creating other languages catkeys. All localization files must be
# placed in "locales" sub-directory.
LOCALES = ;
# Specify any preprocessor symbols to be defined. The symbols will not
# have their values set automatically; you must supply the value (if any)
# to use. For example, setting DEFINES to "DEBUG=1" will cause the
# compiler option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG"
# would pass "-DDEBUG" on the compiler's command line.
DEFINES = ;
# Specify special warning levels
# if unspecified default warnings will be used
# NONE = supress all warnings
# ALL = enable all warnings
WARNINGS = ;
# Specify whether image symbols will be created
# so that stack crawls in the debugger are meaningful
# if TRUE symbols will be created
SYMBOLS = TRUE ;
# Specify debug settings
# if TRUE will allow application to be run from a source-level
# debugger. Note that this will disable all optimzation.
DEBUGGER = TRUE ;
# Specify additional compiler flags for all files
COMPILER_FLAGS = ;
# Specify additional linker flags
LINKER_FLAGS = ;
# (for TYPE == DRIVER only) Specify desired location of driver in the /dev
# hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will
# instruct the driverinstall rule to place a symlink to your driver's binary in
# ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at
# /dev/video/usb when loaded. Default is "misc".
DRIVER_PATH = ;
## Include the Jamfile-engine
include $(BUILDHOME)/etc/Jamfile-engine ;
APPS_DIR ?= /boot/system/non-packaged/apps ;
LAUNCH_DIR ?= /boot/system/non-packaged/data/user_launch ;
rule BuildLaunch
{
LOCATE on $(<) = $(LOCATE_TARGET) ;
DEPENDS $(<) : $(>) ;
Clean clean : $(<) ;
Depends all : $(<) ;
}
actions BuildLaunch
{
sed -e "s,%APPSDIR%,$(APPS_DIR)," $(>) > $(<)
}
BuildLaunch $(NAME).launch : $(NAME).launch.in ;
InstallBin $(APPS_DIR) : $(NAME) ;
InstallFile $(LAUNCH_DIR) : $(NAME).launch ;