45 lines
1.1 KiB
Makefile
45 lines
1.1 KiB
Makefile
SRCDIR = src
|
|
BUILDDIR = build
|
|
OUTPUTEXE = login
|
|
|
|
CXX = g++
|
|
CXXFLAGS = -m64 -fno-strict-aliasing -Wno-deprecated-declarations -pedantic -Wall -Wextra -pthread --std=c++11
|
|
LFLAGS = -Wl,-t -lcrypto
|
|
|
|
DEBUG ?= 0
|
|
ifneq ($(DEBUG), 0)
|
|
CXXFLAGS += -g -Og -DENABLE_ASSERTIONS=1
|
|
else
|
|
CXXFLAGS += -O2
|
|
endif
|
|
|
|
$(BUILDDIR)/$(OUTPUTEXE): $(BUILDDIR)/crypto.obj $(BUILDDIR)/connections.obj $(BUILDDIR)/main.obj $(BUILDDIR)/query.obj $(BUILDDIR)/status.obj
|
|
@mkdir -p $(@D)
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(LFLAGS)
|
|
|
|
$(BUILDDIR)/crypto.obj: $(SRCDIR)/crypto.cc $(SRCDIR)/common.hh
|
|
@mkdir -p $(@D)
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
$(BUILDDIR)/connections.obj: $(SRCDIR)/connections.cc $(SRCDIR)/common.hh
|
|
@mkdir -p $(@D)
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
$(BUILDDIR)/main.obj: $(SRCDIR)/main.cc $(SRCDIR)/common.hh
|
|
@mkdir -p $(@D)
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
$(BUILDDIR)/status.obj: $(SRCDIR)/status.cc $(SRCDIR)/common.hh
|
|
@mkdir -p $(@D)
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
$(BUILDDIR)/query.obj: $(SRCDIR)/query.cc $(SRCDIR)/common.hh
|
|
@mkdir -p $(@D)
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
@rm -rf $(BUILDDIR)
|
|
|