Skip to content

Commit eceb60d

Browse files
committed
Feature: add Makefile for section0-3
- a common.mk rules makefile for section0-3 Signed-off-by: Ji Bin <[email protected]>
1 parent 7bb4021 commit eceb60d

File tree

7 files changed

+61
-0
lines changed

7 files changed

+61
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@
3535
a.out
3636
*.swp
3737
*.pb.*
38+
example_*_cpp*

Makefile

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
sub_dirs=$(wildcard section[0-3])
2+
3+
sub_builds=$(addprefix build_,$(sub_dirs))
4+
sub_cleans=$(addprefix clean_,$(sub_dirs))
5+
6+
all: $(sub_builds)
7+
8+
clean: $(sub_cleans)
9+
10+
build_%: %
11+
make -C $^
12+
13+
clean_%: %
14+
make -C $^ clean

common.mk

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CXX_FLAGS=-Wall
2+
3+
all: examples
4+
5+
example_%_cpp14: %.cpp
6+
g++ -std=c++14 -o $@ $^ $(CXX_FLAGS) $($@_cxx_flags) $($@_ld_flags)
7+
8+
example_%_cpp11: %.cpp
9+
g++ -std=c++14 -o $@ $^ $(CXX_FLAGS) $($@_cxx_flags) $($@_ld_flags)
10+
11+
example_%_cpp98: %.cpp
12+
g++ -std=c++98 -o $@ $^ $(CXX_FLAGS) $($@_cxx_flags) $($@_ld_flags)
13+
14+
clean:
15+
rm -fr example_*

section0/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include ../common.mk
2+
3+
examples: example_test_cpp14 example_test_cpp11

section1/Makefile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include ../common.mk
2+
3+
examples: \
4+
example_codestyle_cpp14 example_codestyle_cpp11 \
5+
example_compile_cpp14 example_compile_cpp11 \
6+
example_oop_cpp14 example_oop_cpp11 \
7+
example_preprocess_cpp14 example_preprocess_cpp11
8+
9+
# example_preprocess_cpp98 is showing version check with compile failed.
10+
# please explicit using `make example_preprocess_cpp98` under section1 folder

section2/Makefile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include ../common.mk
2+
3+
examples: \
4+
example_auto_cpp14 example_auto_cpp11 \
5+
example_const_cpp14 example_const_cpp11 \
6+
example_exception_cpp14 example_exception_cpp11 \
7+
example_lambda_cpp14 example_lambda_cpp11 \
8+
example_smart_ptr_cpp14 example_smart_ptr_cpp11

section3/Makefile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include ../common.mk
2+
3+
example_thread_cpp14_ld_flags=-lpthread
4+
example_thread_cpp11_ld_flags=-lpthread
5+
6+
examples: \
7+
example_algo_cpp14 example_algo_cpp11 \
8+
example_container_cpp14 example_container_cpp11 \
9+
example_string_cpp14 example_string_cpp11 \
10+
example_thread_cpp14 example_thread_cpp11

0 commit comments

Comments
 (0)