summaryrefslogtreecommitdiff
path: root/tools/knarc/Makefile
blob: 5c4a469a45ab593873ef2e42744c9472670e4ac1 (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
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
else
LDFLAGS  += -lstdc++fs -lstdc++ -lc++ -lc
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)

knarc: $(OBJS)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^

%.o: %.c $(HEADERS)
	$(CC) $(CFLAGS) -c -o $@ $<

%.o: %.cpp $(HEADERS)
	$(CXX) $(CXXFLAGS) -c -o $@ $<