-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
93 lines (64 loc) · 2.19 KB
/
Makefile
File metadata and controls
93 lines (64 loc) · 2.19 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
CC = gcc
CXX = g++
#CFLAGS = -pipe -O2 -fsanitize=address,undefined -std=c++17 -Wextra -Wno-unused-parameter -Wsign-conversion -Wswitch-default -Wswitch-enum -Werror -Wall -W -D_REENTRANT
#CXXFLAGS = -pipe -O2 -fsanitize=address,undefined -std=c++17 -Wextra -Wno-unused-parameter -Wsign-conversion -Wswitch-default -Wswitch-enum -Werror -Wall -W -D_REENTRANT
CFLAGS = -fPIC -pipe -O2 -Wextra -Wno-unused-parameter -Wsign-conversion -Wswitch-default -Wswitch-enum -Werror -Wall -W -D_REENTRANT
CXXFLAGS = -fPIC -pipe -O2 -Wextra -Wno-unused-parameter -Wsign-conversion -Wswitch-default -Wswitch-enum -Werror -Wall -W -D_REENTRANT
INCPATH = -Iinclude -I.
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -lrt
#LIBS = $(SUBLIBS) -lasan -lubsan -lrt
AR = ar cqs
RANLIB =
TAR = tar -cf
COMPRESS = gzip -9f
COPY = cp -f
SED = sed
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
STRIP = strip
INSTALL_FILE = install -m 644 -p
INSTALL_DIR = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
####### Output directory
OBJECTS_DIR = ./
####### Files
SOURCES = SpellChecker.cpp \
FileParser.cpp \
main.cpp
OBJECTS = SpellChecker.o \
FileParser.o \
main.o
DESTDIR = bin/
TARGET = $(DESTDIR)spellchecker
first: all
all: Makefile $(TARGET)
$(TARGET): $(OBJECTS)
@$(CHK_DIR_EXISTS) $(DESTDIR) || $(MKDIR) $(DESTDIR)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
clean:compiler_clean
-$(DEL_FILE) $(OBJECTS)
####### Sub-libraries
distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) Makefile
check: first
compiler_clean:
####### Compile
SpellChecker.o: SpellChecker.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -c -o SpellChecker.o SpellChecker.cpp
FileParser.o: FileParser.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -c -o FileParser.o FileParser.cpp
main.o: main.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -c -o main.o main.cpp
####### Install
install: FORCE
uninstall: FORCE
FORCE: