menu-helper/Makefile

60 lines
1.6 KiB
Makefile
Raw Permalink Normal View History

2024-09-05 18:59:41 +00:00
# Copyright (C) 2020 Ortega Froysa, Nicolás <nicolas@ortegas.org>
# Author: Ortega Froysa, Nicolás <nicolas@ortegas.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DEBUG=0
INCFLAGS=
LDFLAGS=-lsqlite3
DEFS=
2024-10-09 19:12:16 +00:00
CFLAGS=$(INCFLAGS) -std=c++20 -Wall -Wextra -Wfatal-errors -Werror
HDRS=src/util.hpp src/arg_parse.hpp src/db.hpp src/cmd.hpp
OBJS=src/main.o src/util.o src/arg_parse.o src/db.o src/cmd.o
2024-11-02 10:44:50 +00:00
DOCS=menu-helper.1
2024-09-05 18:59:41 +00:00
VERSION=1.0
ifeq ($(PREFIX),)
PREFIX := /usr/local
endif
ifeq ($(DEBUG),1)
CFLAGS+=-g -O0
else
CFLAGS+=-O2 -DNDEBUG
endif
2024-10-09 17:50:53 +00:00
%.o:%.cpp $(HDRS)
$(CXX) -c -o $@ $< $(CFLAGS) -DVERSION=\"$(VERSION)\"
2024-09-05 18:59:41 +00:00
menu-helper: $(OBJS)
2024-10-09 17:50:53 +00:00
$(CXX) -o $@ $^ $(LDFLAGS)
2024-09-05 18:59:41 +00:00
2024-11-02 10:44:50 +00:00
menu-helper.1.gz: $(DOCS)
gzip -c $< > $@
2024-09-05 18:59:41 +00:00
.PHONY: clean distclean install
clean:
$(RM) $(OBJS)
distclean: clean
$(RM) menu-helper.1.gz
2024-09-05 18:59:41 +00:00
$(RM) menu-helper
2024-11-02 10:44:50 +00:00
install: menu-helper menu-helper.1.gz
install -d $(PREFIX)/bin
2024-09-05 18:59:41 +00:00
install -m 755 menu-helper $(PREFIX)/bin/
install -d $(PREFIX)/share/man/man1
2024-11-02 10:44:50 +00:00
install -m 644 menu-helper.1.gz $(PREFIX)/share/man/man1/