Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
83ce8270
Commit
83ce8270
authored
May 23, 2016
by
Mark Haines
Browse files
Use a rule to make the build directories
parent
509be1b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
83ce8270
...
...
@@ -2,7 +2,7 @@
# Make sure that the build directory exists.
# We can't check the build directory into git because it is empty.
BUILD_DIR
:=
$(
shell
mkdir
-p
build/release build/debug build/javascript build/tests
;
echo
build
)
BUILD_DIR
:=
build
RELEASE_OPTIMIZE_FLAGS
?=
-g
-O3
DEBUG_OPTIMIZE_FLAGS
?=
-g
-O0
JS_OPTIMIZE_FLAGS
?=
-O3
...
...
@@ -25,7 +25,6 @@ JS_OBJECTS := $(patsubst src/%,$(BUILD_DIR)/javascript/%,$(patsubst %.c,%.js.bc,
JS_PRE
:=
$(
wildcard
javascript/
*
pre.js
)
JS_POST
:=
$(
wildcard
javascript/
*
post.js
)
CPPFLAGS
+=
-Iinclude
-Ilib
CFLAGS
+=
-Wall
-std
=
c89
-fPIC
CXXFLAGS
+=
-Wall
-std
=
c++11
-fPIC
...
...
@@ -65,6 +64,10 @@ $(JS_TARGET): LDFLAGS += $(JS_OPTIMIZE_FLAGS)
lib
:
$(RELEASE_TARGET)
.PHONY
:
lib
makedirs
:
mkdir
-p
$(BUILD_DIR)
/release
$(BUILD_DIR)
/debug
$(BUILD_DIR)
/javascript
$(BUILD_DIR)
/tests
.PHONY
:
makedirs
$(RELEASE_TARGET)
:
$(RELEASE_OBJECTS)
$(CXX)
$(LDFLAGS)
--shared
-fPIC
\
-Wl
,--version-script,version_script.ver
\
...
...
@@ -112,22 +115,22 @@ all: test js lib debug
.PHONY
:
lib
### rules for building objects
$(BUILD_DIR)/release/%.o
:
src/%.c
$(BUILD_DIR)/release/%.o
:
src/%.c
| makedirs
$(COMPILE.c)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/release/%.o
:
src/%.cpp
$(BUILD_DIR)/release/%.o
:
src/%.cpp
| makedirs
$(COMPILE.cc)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/debug/%.o
:
src/%.c
$(BUILD_DIR)/debug/%.o
:
src/%.c
| makedirs
$(COMPILE.c)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/debug/%.o
:
src/%.cpp
$(BUILD_DIR)/debug/%.o
:
src/%.cpp
| makedirs
$(COMPILE.cc)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/javascript/%.js.bc
:
src/%.c
$(BUILD_DIR)/javascript/%.js.bc
:
src/%.c
| makedirs
$(EMCC.c)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/javascript/%.js.bc
:
src/%.cpp
$(BUILD_DIR)/javascript/%.js.bc
:
src/%.cpp
| makedirs
$(EMCC.cc)
$(OUTPUT_OPTION)
$<
$(BUILD_DIR)/tests/%
:
tests/%.c $(DEBUG_OBJECTS)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment