-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
107 lines (82 loc) · 3.37 KB
/
Makefile
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
## Ideam haiku Makefile ########################################################
arch := $(shell getarch)
platform := $(shell uname -p)
## clang build flag ############################################################
BUILD_WITH_CLANG := 0
################################################################################
ifeq ($(BUILD_WITH_CLANG), 0) # gcc build
ifeq ($(platform), x86) # x86
CC := gcc-x86
CXX := g++-x86
endif
else # clang build
CC := clang
CXX := clang++
LD := clang++
ifeq ($(platform), x86) # x86
INCLUDE_PATH_HACK := $(shell gcc-x86 --version | grep ^gcc | sed 's/^.* //g')
endif
ifeq ($(platform), x86_64) # x86_64
INCLUDE_PATH_HACK := $(shell gcc --version | grep ^gcc | sed 's/^.* //g')
endif
endif
NAME := Ideam
TARGET_DIR := app
TYPE := APP
APP_MIME_SIG := "application/x-vnd.Ideam-Ideam"
SRCS := src/IdeamApp.cpp
SRCS += src/IdeamNamespace.cpp
SRCS += src/ui/Editor.cpp
SRCS += src/ui/IdeamWindow.cpp
SRCS += src/ui/SettingsWindow.cpp
SRCS += src/project/AddToProjectWindow.cpp
SRCS += src/project/NewProjectWindow.cpp
SRCS += src/project/Project.cpp
SRCS += src/project/ProjectParser.cpp
SRCS += src/project/ProjectSettingsWindow.cpp
SRCS += src/helpers/IdeamCommon.cpp
SRCS += src/helpers/TPreferences.cpp
# SRCS += src/helpers/class_parser/ClassParser.cpp
# SRCS += src/helpers/class_parser/ClassesView.cpp
SRCS += src/helpers/console_io/ConsoleIOView.cpp
SRCS += src/helpers/console_io/ConsoleIOThread.cpp
SRCS += src/helpers/console_io/GenericThread.cpp
SRCS += src/helpers/tabview/TabContainerView.cpp
SRCS += src/helpers/tabview/TabManager.cpp
SRCS += src/helpers/tabview/TabView.cpp
RDEFS := Ideam.rdef
LIBS = be shared translation localestub $(STDCPPLIBS)
LIBS += scintilla columnlistview tracker
# LIBPATHS = $(shell findpaths -a $(platform) B_FIND_PATH_DEVELOP_LIB_DIRECTORY)
# LIBPATHS = /boot/home/config/non-packaged/lib
# $(info LIBPATHS="$(LIBPATHS)")
SYSTEM_INCLUDE_PATHS = $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY private/interface)
SYSTEM_INCLUDE_PATHS += $(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY private/shared)
SYSTEM_INCLUDE_PATHS += $(shell findpaths -a $(platform) -e B_FIND_PATH_HEADERS_DIRECTORY scintilla)
################################################################################
## clang++ headers hack
ifneq ($(BUILD_WITH_CLANG), 0)
TOOLS_PATH := $(shell findpaths -e B_FIND_PATH_DEVELOP_DIRECTORY tools)
ifeq ($(platform), x86)
###### x86 clang++ build (mind scan-build too) #################################
SYSTEM_INCLUDE_PATHS += \
$(TOOLS_PATH)/x86/lib/gcc/i586-pc-haiku/$(INCLUDE_PATH_HACK)/include/c++ \
$(TOOLS_PATH)/x86/lib/gcc/i586-pc-haiku/$(INCLUDE_PATH_HACK)/include/c++/i586-pc-haiku
endif
ifeq ($(platform), x86_64)
######## x86_64 clang++ build (mind scan-build too) ############################
SYSTEM_INCLUDE_PATHS += \
$(TOOLS_PATH)/lib/gcc/x86_64-unknown-haiku/$(INCLUDE_PATH_HACK)/include/c++ \
$(TOOLS_PATH)/lib/gcc/x86_64-unknown-haiku/$(INCLUDE_PATH_HACK)/include/c++/x86_64-unknown-haiku
endif
endif
CFLAGS := -Wall -Werror
CXXFLAGS := -std=c++14
LOCALES := en it
DEBUGGER := true
## Include the Makefile-Engine
ENGINE_DIRECTORY := $(shell findpaths -r "makefile_engine" B_FIND_PATH_DEVELOP_DIRECTORY)
include $(ENGINE_DIRECTORY)/etc/makefile-engine
## CXXFLAGS rule
$(OBJ_DIR)/%.o : %.cpp
$(CXX) -c $< $(INCLUDES) $(CFLAGS) $(CXXFLAGS) -o "$@"