1## Haiku Generic Makefile v2.6 ## 2 3## Fill in this file to specify the project being created, and the referenced 4## Makefile-Engine will do all of the hard work for you. This handles any 5## architecture of Haiku. 6## 7## For more information, see: 8## file:///system/develop/documentation/makefile-engine.html 9 10# The name of the binary. 11NAME = 12 13# The type of binary, must be one of: 14# APP: Application 15# SHARED: Shared library or add-on 16# STATIC: Static library archive 17# DRIVER: Kernel driver 18TYPE = 19 20# If you plan to use localization, specify the application's MIME signature. 21APP_MIME_SIG = 22 23# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are 24# so that Pe and Eddie can fill them in for you. 25#%{ 26# @src->@ 27 28# Specify the source files to use. Full paths or paths relative to the 29# Makefile can be included. All files, regardless of directory, will have 30# their object files created in the common object directory. Note that this 31# means this Makefile will not work correctly if two source files with the 32# same name (source.c or source.cpp) are included from different directories. 33# Also note that spaces in folder names do not work well with this Makefile. 34SRCS = 35 36# Specify the resource definition files to use. Full or relative paths can be 37# used. 38RDEFS = 39 40# Specify the resource files to use. Full or relative paths can be used. 41# Both RDEFS and RSRCS can be utilized in the same Makefile. 42RSRCS = 43 44# End Pe/Eddie support. 45# @<-src@ 46#%} 47 48# Specify libraries to link against. 49# There are two acceptable forms of library specifications: 50# - if your library follows the naming pattern of libXXX.so or libXXX.a, 51# you can simply specify XXX for the library. (e.g. the entry for 52# "libtracker.so" would be "tracker") 53# 54# - for GCC-independent linking of standard C++ libraries, you can use 55# $(STDCPPLIBS) instead of the raw "stdc++[.r4] [supc++]" library names. 56# 57# - if your library does not follow the standard library naming scheme, 58# you need to specify the path to the library and it's name. 59# (e.g. for mylib.a, specify "mylib.a" or "path/mylib.a") 60LIBS = 61 62# Specify additional paths to directories following the standard libXXX.so 63# or libXXX.a naming scheme. You can specify full paths or paths relative 64# to the Makefile. The paths included are not parsed recursively, so 65# include all of the paths where libraries must be found. Directories where 66# source files were specified are automatically included. 67LIBPATHS = 68 69# Additional paths to look for system headers. These use the form 70# "#include <header>". Directories that contain the files in SRCS are 71# NOT auto-included here. 72SYSTEM_INCLUDE_PATHS = 73 74# Additional paths paths to look for local headers. These use the form 75# #include "header". Directories that contain the files in SRCS are 76# automatically included. 77LOCAL_INCLUDE_PATHS = 78 79# Specify the level of optimization that you want. Specify either NONE (O0), 80# SOME (O1), FULL (O3), or leave blank (for the default optimization level). 81OPTIMIZE := 82 83# Specify the codes for languages you are going to support in this 84# application. The default "en" one must be provided too. "make catkeys" 85# will recreate only the "locales/en.catkeys" file. Use it as a template 86# for creating catkeys for other languages. All localization files must be 87# placed in the "locales" subdirectory. 88LOCALES = 89 90# Specify all the preprocessor symbols to be defined. The symbols will not 91# have their values set automatically; you must supply the value (if any) to 92# use. For example, setting DEFINES to "DEBUG=1" will cause the compiler 93# option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" would pass 94# "-DDEBUG" on the compiler's command line. 95DEFINES = 96 97# Specify the warning level. Either NONE (suppress all warnings), 98# ALL (enable all warnings), or leave blank (enable default warnings). 99WARNINGS = 100 101# With image symbols, stack crawls in the debugger are meaningful. 102# If set to "TRUE", symbols will be created. 103SYMBOLS := 104 105# Includes debug information, which allows the binary to be debugged easily. 106# If set to "TRUE", debug info will be created. 107DEBUGGER := 108 109# Specify any additional compiler flags to be used. 110COMPILER_FLAGS = 111 112# Specify any additional linker flags to be used. 113LINKER_FLAGS = 114 115# Specify the version of this binary. Example: 116# -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL" 117# This may also be specified in a resource. 118APP_VERSION := 119 120# (Only used when "TYPE" is "DRIVER"). Specify the desired driver install 121# location in the /dev hierarchy. Example: 122# DRIVER_PATH = video/usb 123# will instruct the "driverinstall" rule to place a symlink to your driver's 124# binary in ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will 125# appear at /dev/video/usb when loaded. The default is "misc". 126DRIVER_PATH = 127 128## Include the Makefile-Engine 129DEVEL_DIRECTORY := \ 130 $(shell findpaths -r "makefile_engine" B_FIND_PATH_DEVELOP_DIRECTORY) 131include $(DEVEL_DIRECTORY)/etc/makefile-engine 132