diff options
Diffstat (limited to 'tools/knarc/Makefile')
-rw-r--r-- | tools/knarc/Makefile | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/tools/knarc/Makefile b/tools/knarc/Makefile index ef75789b..07c518a4 100644 --- a/tools/knarc/Makefile +++ b/tools/knarc/Makefile @@ -1,15 +1,37 @@ -CXXFLAGS := -std=c++17 -O2 -Wall -Wno-switch -lstdc++fs +CXXFLAGS := -std=c++17 -O2 -Wall -Wno-switch +CFLAGS := -O2 -Wall -Wno-switch -SRCS := Source.cpp Narc.cpp fnmatch.c -HEADERS := Narc.h fnmatch.h +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 +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 @: -knarc: $(SRCS) $(HEADERS) - $(CXX) $(SRCS) -o $@ $(LDFLAGS) $(CXXFLAGS) - clean: - $(RM) knarc knarc.exe + $(RM) knarc knarc.exe $(OBJS) + +knarc: $(OBJS) + $(LD) $(LDFLAGS) -o $@ $^ + +%.o: %.c $(HEADERS) + $(CC) $(CFLAGS) -c -o $@ $< + +%.o: %.cpp $(HEADERS) + $(CXX) $(CXXFLAGS) -c -o $@ $< |