blob: 24e0de7d8f633d8dad87421e8bfb92ed482f26c2 (
plain)
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
|
CXXFLAGS := -std=c++17 -O2 -Wall -Wno-switch
CFLAGS := -O2 -Wall -Wno-switch
ifeq ($(OS),Windows_NT)
C_SRCS := fnmatch.c
LDFLAGS += -lstdc++fs
else
C_SRCS :=
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
LDFLAGS += -lstdc++ -lc++ -lc -D_LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM
else
LDFLAGS += -lstdc++fs
endif
endif
CXX_SRCS := Source.cpp Narc.cpp
C_OBJS := $(C_SRCS:%.c=%.o)
CXX_OBJS := $(CXX_SRCS:%.cpp=%.o)
OBJS := $(C_OBJS) $(CXX_OBJS)
HEADERS := Narc.h fnmatch.h
.PHONY: all clean
all: knarc
@:
clean:
$(RM) knarc knarc.exe $(OBJS)
ifeq ($(OS),Windows_NT)
knarc: $(OBJS)
$(CXX) $^ -o $@ $(LDFLAGS) $(CXXFLAGS)
%.o: %.c $(HEADERS)
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.cpp $(HEADERS)
$(CXX) $(CXXFLAGS) -c -o $@ $<
else
knarc: $(CXX_SRCS) $(HEADERS)
$(CXX) $(CXX_SRCS) -o $@ $(LDFLAGS) $(CXXFLAGS)
endif
|