47 lines
		
	
	
		
			790 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			790 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| BIN := $(shell basename $$(pwd))
 | |
| 
 | |
| SRCS := $(wildcard *.cpp)
 | |
| OBJS := $(subst .cpp,.o,$(SRCS))
 | |
| DEPS := $(subst .cpp,.d,$(SRCS))
 | |
| 
 | |
| CXX ?= g++
 | |
| PKG_CONFIG ?= pkg-config
 | |
| 
 | |
| PREFIX ?= /usr/local
 | |
| BINDIR ?= $(PREFIX)/bin
 | |
| DATADIR ?= $(PREFIX)/share
 | |
| MANDIR ?= $(DATADIR)/man
 | |
| 
 | |
| RM := /bin/rm -f
 | |
| INSTALL := /usr/bin/install -c
 | |
| 
 | |
| CXXFLAGS += -Wshadow -Wall -Wpedantic -Wextra -g -std=c++17
 | |
| ifeq ($(DEBUG),1)
 | |
| 	CXXFLAGS += -D DEBUG -O0
 | |
| else
 | |
| 	CXXFLAGS += -O3
 | |
| endif
 | |
| 
 | |
| LDLIBS := -lm -lpthread -lscstring
 | |
| LDFLAGS :=
 | |
| 
 | |
| all: $(BIN)
 | |
| 
 | |
| $(BIN): $(OBJS) $(DEPS)
 | |
| 	$(CXX) $(OBJS) $(LDFLAGS) -o $(BIN) $(LDLIBS)
 | |
| 
 | |
| %.o: %.cpp %.d Makefile
 | |
| 	$(CXX) $(CXXFLAGS) -MMD -MP -MT $@ -MF $*.d -c $<
 | |
| 
 | |
| -include *.d
 | |
| 
 | |
| %.d: ;
 | |
| 
 | |
| .PHONY: clean install
 | |
| 
 | |
| clean:
 | |
| 	$(RM) $(OBJS) $(DEPS) $(BIN)
 | |
| 
 | |
| install: $(BIN)
 | |
| 	$(INSTALL) $(BIN) $(DESTDIR)$(BINDIR)
 |