mirror of https://github.com/fairyglade/ly
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.7 KiB
Makefile
72 lines
1.7 KiB
Makefile
NAME=ly
|
|
CC=gcc
|
|
#CC=gcc -O3
|
|
#CC=tcc
|
|
FLAGS=-std=c99 -pedantic -Wall -Werror=vla -Werror -g
|
|
|
|
BIND=bin
|
|
SRCD=src
|
|
SUBD=sub
|
|
OBJD=obj
|
|
RESD=res
|
|
LANG=$(RESD)/lang
|
|
INCL=-I$(SRCD) -I$(SUBD)/termbox-next/src -I$(SUBD)/inih
|
|
LINK=-lm -lpam -lpam_misc
|
|
|
|
SRCS=$(SRCD)/main.c
|
|
SRCS+=$(SRCD)/draw.c
|
|
SRCS+=$(SRCD)/util.c
|
|
SRCS+=$(SRCD)/config.c
|
|
SRCS+=$(SRCD)/widgets.c
|
|
SRCS+=$(SRCD)/desktop.c
|
|
SRCS+=$(SRCD)/inputs.c
|
|
SRCS+=$(SRCD)/login.c
|
|
SRCS+=$(SUBD)/inih/ini.c
|
|
|
|
OBJS:=$(patsubst $(SRCD)/%.c,$(OBJD)/$(SRCD)/%.o,$(SRCS))
|
|
OBJS+=$(SUBD)/termbox-next/bin/termbox.a
|
|
|
|
.PHONY:all
|
|
all:$(BIND)/$(NAME)
|
|
|
|
$(OBJD)/%.o:%.c
|
|
@echo "building source object $@"
|
|
@mkdir -p $(@D)
|
|
@$(CC) $(INCL) $(FLAGS) -c -o $@ $<
|
|
|
|
$(SUBD)/termbox-next/bin/termbox.a:
|
|
@echo "building static object $@"
|
|
@cd $(SUBD)/termbox-next && make
|
|
|
|
$(BIND)/$(NAME):$(OBJS)
|
|
@echo "compiling $@"
|
|
@mkdir -p $(BIND)
|
|
@$(CC) $(INCL) $(FLAGS) $(LINK) -o $(BIND)/$(NAME) $(OBJS)
|
|
@cp -r $(LANG) $(BIND)/lang
|
|
@cp $(RESD)/config.ini $(BIND)
|
|
|
|
run:$(BIND)/$(NAME)
|
|
@cd ./$(BIND) && ./$(NAME)
|
|
|
|
valgrind:$(BIND)/$(NAME)
|
|
@cd ./$(BIND) && valgrind --show-leak-kinds=all --track-origins=yes --leak-check=full --suppressions=../res/valgrind.supp 2> ../valgrind.log ./ly
|
|
|
|
install:$(BIND)/$(NAME)
|
|
install -dZ ${DESTDIR}/etc/ly
|
|
install -DZ $(BIND)/$(NAME) -t ${DESTDIR}/usr/bin
|
|
install -DZ xsetup.sh -t ${DESTDIR}/etc/ly
|
|
install -DZ $(RESD)/config.ini -t ${DESTDIR}/etc/ly
|
|
install -dZ ${DESTDIR}/etc/ly/lang
|
|
install -DZ $(RESD)/lang/* -t ${DESTDIR}/etc/ly/lang
|
|
install -DZ ly.service -t ${DESTDIR}/usr/lib/systemd/system
|
|
|
|
uninstall:
|
|
rm -rf ${DESTDIR}/etc/ly
|
|
rm -f ${DESTDIR}/usr/bin/ly
|
|
rm -f ${DESTDIR}/usr/lib/systemd/system/ly.service
|
|
|
|
clean:
|
|
@echo "cleaning workspace"
|
|
@rm -rf $(BIND)
|
|
@rm -rf $(OBJD)
|