small weather widget for X11
1#
2# Copyright 2023 joshua stein <jcs@jcs.org>
3#
4# Permission to use, copy, modify, and distribute this software for any
5# purpose with or without fee is hereby granted, provided that the above
6# copyright notice and this permission notice appear in all copies.
7#
8# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15#
16
17PREFIX?= /usr/local
18X11BASE?= /usr/X11R6
19
20PKGLIBS= x11 xpm
21
22CC?= cc
23CFLAGS+= -O2 -Wall -Wunused -Wshadow \
24 -Wmissing-prototypes -Wstrict-prototypes -Wpointer-sign \
25 `pkg-config --cflags ${PKGLIBS}`
26LDFLAGS+= `pkg-config --libs ${PKGLIBS}`
27
28# link with LibreSSL's TLS library for HTTPS API support
29CFLAGS+= -DTLS=1
30LDFLAGS+= -ltls
31
32# uncomment for debugging
33#CFLAGS+= -DDEBUG=1
34
35BINDIR= $(PREFIX)/bin
36MANDIR= $(PREFIX)/man/man1
37
38SRC= xweathericon.c http.c pdjson.c
39
40OBJ= ${SRC:.c=.o}
41ICONS!= echo icons/*
42
43BIN= xweathericon
44MAN= xweathericon.1
45
46all: $(BIN)
47
48$(OBJ): Makefile ${ICONS}
49
50$(BIN): $(OBJ)
51 $(CC) -o $@ $(OBJ) $(LDFLAGS)
52
53install: all
54 mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)
55 install -s $(BIN) $(BINDIR)
56 install -m 644 $(MAN) $(DESTDIR)$(MANDIR)/$(MAN)
57
58clean:
59 rm -f $(BIN) $(OBJ)
60
61.PHONY: all install clean