-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (30 loc) · 686 Bytes
/
Copy pathMakefile
File metadata and controls
39 lines (30 loc) · 686 Bytes
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
# project root
PROJECT_ROOT = ../..
# paths
INSTALL = $(PROJECT_ROOT)/lib
INCLUDE = $(PROJECT_ROOT)/include
# files
FILE = PracticalSocket
LIBFILE = $(FILE).a
SOURCEFILE = $(FILE).cpp
HEADERFILE = $(FILE).h
OBJECTFILE = $(FILE).o
# compiler
CXX = g++
CXXFLAGS = -std=c++11 -Wall -g
# archive
ARC = ar
ARCFLAGS = rcs
all: $(LIBFILE)
cp $(LIBFILE) $(INSTALL)
cp $(HEADERFILE) $(INCLUDE)
$(OBJECTFILE): $(SOURCEFILE)
$(CXX) $(CXXFLAGS) $(INC) -c $(SOURCEFILE) $(LIB)
$(LIBFILE): $(OBJECTFILE)
$(ARC) $(ARCFLAGS) $(LIBFILE) $(OBJECTFILE)
clean:
rm -f *.o *.so *.a
clean_all:
rm -f *.o *.so *.a
rm -f $(INSTALL)/$(LIBFILE)
rm -f $(INCLUDE)/$(HEADERFILE)