pmd-sky/tools/knarc/Makefile
AnonymousRandomPerson 608e361e57 Initialized base repo
2023-06-28 23:35:19 -04:00

43 lines
857 B
Makefile

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