diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..77f176b --- /dev/null +++ b/Makefile @@ -0,0 +1,78 @@ +NAME=plock +CC = gcc +CFLAGS = -Isrc +LIBS = -lX11 + +PREFIX = /usr/local +MANPREFIX = $(PREFIX)/man + +all: bin/$(NAME) + +debug: CFLAGS += -Wall -DEBUG -g +debug: bin/$(NAME) + +app_sources = $(wildcard src/*.c src/io/*.c src/pattern/*.c src/utils/*.c) +app_objects = $(patsubst src/%.c, bin/%.o, $(app_sources)) + +bin/$(NAME): bin/main.o bin/args.o bin/utils/utilities.o bin/utils/args.o bin/pattern/pattern.o bin/pattern/next.o bin/io/io.o bin/io/text.o bin/io/svg.o # $(app_objects) + $(CC) $(CFLAGS) $^ -o $@ $(LIBS) + +bin/main.o: src/main.c bin + $(CC) $(CFLAGS) -c $< -o $@ + +bin/args.o: src/args.c bin + $(CC) $(CFLAGS) -c $< -o $@ + +bin/utils/utilities.o: src/utils/utilities.c bin bin/utils + $(CC) $(CFLAGS) -c $< -o $@ + +bin/utils/args.o: src/utils/args.c bin bin/utils + $(CC) $(CFLAGS) -c $< -o $@ + +bin/pattern/pattern.o: src/pattern/pattern.c bin bin/pattern + $(CC) $(CFLAGS) -c $< -o $@ + +bin/pattern/next.o: src/pattern/next.c bin bin/pattern + $(CC) $(CFLAGS) -c $< -o $@ + +bin/io/io.o: src/io/io.c bin bin/io + $(CC) $(CFLAGS) -c $< -o $@ + +bin/io/text.o: src/io/text.c bin bin/io + $(CC) $(CFLAGS) -c $< -o $@ + +bin/io/svg.o: src/io/svg.c bin bin/io + $(CC) $(CFLAGS) -c $< -o $@ + +bin: + mkdir -p $@ + +bin/io: + mkdir -p $@ + +bin/pattern: + mkdir -p $@ + +bin/utils: + mkdir -p $@ + +clean: + rm -rf bin/* + +install: bin/$(NAME) + @echo INSTALL execuatble + mkdir -p $(PREFIX)/bin + cp $< $(PREFIX)/bin/$(NAME) + chmod 755 $(PREFIX)/bin/$(NAME) + @echo INSTALL man page + mkdir -p $(MANPREFIX)/man1 + gzip -c doc/$(NAME).1 > $(MANPREFIX)/man1/$(NAME).1.gz + chmod 644 $(MANPREFIX)/man1/$(NAME).1.gz + +uninstall: + @echo REMOVE execuatble + rm -f $(PREFIX)/bin/$(NAME) + @echo REMOVE man page + rm -f $(MANPREFIX)/man1/$(NAME).1.gz + +.PHONY: clean install uninstall |