-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile.posix.mk
More file actions
110 lines (78 loc) · 2.58 KB
/
Makefile.posix.mk
File metadata and controls
110 lines (78 loc) · 2.58 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
OUT = out
SRC = src
OBJS = \
$(OUT)/cio_ofstream.o \
$(OUT)/check_pattern.o \
$(OUT)/clang_ast.o \
$(OUT)/data.o \
$(OUT)/data_embedded.o \
$(OUT)/data_external.o \
$(OUT)/gendlopen.o \
$(OUT)/generate.o \
$(OUT)/help.o \
$(OUT)/lex.yy.o \
$(OUT)/main.o \
$(OUT)/open_file.o \
$(OUT)/options.o \
$(OUT)/parameter_names.o \
$(OUT)/parse.o \
$(OUT)/substitute.o \
$(OUT)/tokenize.o \
$(OUT)/utils.o
CFLAGS = -Wall -O3 -I$(SRC)
CXXFLAGS = -Wall -O3 -I$(SRC) -I$(OUT) -std=c++20
LDFLAGS = -Wl,-O1 -s
COMPILE_C = $(CC) $(CFLAGS) $(CPPFLAGS) -c -o
COMPILE_CXX = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o
all: $(OUT)/gendlopen
clean:
-rm -rf $(OUT)
$(OUT)/gendlopen: $(OBJS)
$(CXX) -o $@ $(OBJS) $(LDFLAGS)
# .dirstamp
$(OUT)/.gitignore:
mkdir -p $(OUT) && echo '*' > $@
$(OBJS): $(OUT)/.gitignore
$(OUT)/template.h: $(OUT)/gen_template_h
$(OUT)/gen_template_h $(SRC)/templates $(OUT)/template.h
$(OUT)/gen_template_h: $(OUT)/.gitignore $(SRC)/gen_template_h.c
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(SRC)/gen_template_h.c $(LDFLAGS)
$(SRC)/data_embedded.cpp: $(OUT)/template.h
$(OUT)/cio_ofstream.o: $(SRC)/cio_ofstream.cpp
$(COMPILE_CXX) $@ $(SRC)/cio_ofstream.cpp
$(OUT)/check_pattern.o: $(SRC)/check_pattern.cpp
$(COMPILE_CXX) $@ $(SRC)/check_pattern.cpp
$(OUT)/clang_ast.o: $(SRC)/clang_ast.cpp
$(COMPILE_CXX) $@ $(SRC)/clang_ast.cpp
$(OUT)/data.o: $(SRC)/data.cpp
$(COMPILE_CXX) $@ $(SRC)/data.cpp
$(OUT)/data_embedded.o: $(SRC)/data_embedded.cpp
$(COMPILE_CXX) $@ $(SRC)/data_embedded.cpp
$(OUT)/data_external.o: $(SRC)/data_external.cpp
$(COMPILE_CXX) $@ $(SRC)/data_external.cpp
$(OUT)/gendlopen.o: $(SRC)/gendlopen.cpp
$(COMPILE_CXX) $@ $(SRC)/gendlopen.cpp
$(OUT)/generate.o: $(SRC)/generate.cpp
$(COMPILE_CXX) $@ $(SRC)/generate.cpp
$(OUT)/get_args.o: $(SRC)/get_args.cpp
$(COMPILE_CXX) $@ $(SRC)/get_args.cpp
$(OUT)/help.o: $(SRC)/help.cpp
$(COMPILE_CXX) $@ $(SRC)/help.cpp
$(OUT)/lex.yy.o: $(SRC)/lex.yy.c
$(COMPILE_C) $@ $(SRC)/lex.yy.c
$(OUT)/main.o: $(SRC)/main.cpp
$(COMPILE_CXX) $@ $(SRC)/main.cpp
$(OUT)/open_file.o: $(SRC)/open_file.cpp
$(COMPILE_CXX) $@ $(SRC)/open_file.cpp
$(OUT)/options.o: $(SRC)/options.cpp
$(COMPILE_CXX) $@ $(SRC)/options.cpp
$(OUT)/parameter_names.o: $(SRC)/parameter_names.cpp
$(COMPILE_CXX) $@ $(SRC)/parameter_names.cpp
$(OUT)/parse.o: $(SRC)/parse.cpp
$(COMPILE_CXX) $@ $(SRC)/parse.cpp
$(OUT)/substitute.o: $(SRC)/substitute.cpp
$(COMPILE_CXX) $@ $(SRC)/substitute.cpp
$(OUT)/tokenize.o: $(SRC)/tokenize.cpp
$(COMPILE_CXX) $@ $(SRC)/tokenize.cpp
$(OUT)/utils.o: $(SRC)/utils.cpp
$(COMPILE_CXX) $@ $(SRC)/utils.cpp