| 1 | PREFIX=/usr/local |
|---|
| 2 | INSTALLBIN=/usr/local/bin |
|---|
| 3 | INSTALLMAN=/usr/local/man |
|---|
| 4 | |
|---|
| 5 | WARNFLAGS+=-pedantic -Wall -W -Wno-missing-field-initializers -Wundef \ |
|---|
| 6 | -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast \ |
|---|
| 7 | -Wcast-align -Wwrite-strings -Wstrict-prototypes \ |
|---|
| 8 | -Wmissing-prototypes -Wnested-externs -Winline \ |
|---|
| 9 | -Wdisabled-optimization |
|---|
| 10 | |
|---|
| 11 | CFLAGS=-pipe -std=c99 $(WARNFLAGS) |
|---|
| 12 | |
|---|
| 13 | DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst |
|---|
| 14 | DEFAULT_INC=-I/usr/X11R6/include -I/usr/local/include |
|---|
| 15 | |
|---|
| 16 | LIBS=`pkg-config --libs x11 xtst 2> /dev/null || echo "$(DEFAULT_LIBS)"` |
|---|
| 17 | INC=`pkg-config --cflags x11 xtst 2> /dev/null || echo "$(DEFAULT_INC)"` |
|---|
| 18 | |
|---|
| 19 | CFLAGS+=$(INC) |
|---|
| 20 | LDFLAGS+=$(LIBS) |
|---|
| 21 | |
|---|
| 22 | all: xdotool xdotool.1 |
|---|
| 23 | |
|---|
| 24 | install: installprog installman |
|---|
| 25 | |
|---|
| 26 | installprog: xdotool |
|---|
| 27 | install -m 755 xdotool $(INSTALLBIN)/ |
|---|
| 28 | |
|---|
| 29 | installman: xdotool.1 |
|---|
| 30 | [ -d $(INSTALLMAN) ] || mkdir $(INSTALLMAN) |
|---|
| 31 | [ -d $(INSTALLMAN)/man1 ] || mkdir $(INSTALLMAN)/man1 |
|---|
| 32 | install -m 644 xdotool.1 $(INSTALLMAN)/man1/ |
|---|
| 33 | |
|---|
| 34 | deinstall: uninstall |
|---|
| 35 | uninstall: |
|---|
| 36 | rm -f $(INSTALLBIN)/xdotool |
|---|
| 37 | rm -f $(INSTALLMAN)/man1/xdotool.1 |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | clean: |
|---|
| 41 | rm -f *.o || true |
|---|
| 42 | |
|---|
| 43 | xdo.o: xdo.c |
|---|
| 44 | gcc $(CFLAGS) -c xdo.c |
|---|
| 45 | |
|---|
| 46 | xdotool.o: xdotool.c |
|---|
| 47 | gcc $(CFLAGS) -c xdotool.c |
|---|
| 48 | |
|---|
| 49 | xdo.c: xdo.h |
|---|
| 50 | xdotool.c: xdo.h |
|---|
| 51 | |
|---|
| 52 | xdotool: xdotool.o xdo.o |
|---|
| 53 | gcc $(CFLAGS) $(LDFLAGS) xdotool.o xdo.o -o $@ |
|---|
| 54 | |
|---|
| 55 | xdotool.1: xdotool.pod |
|---|
| 56 | pod2man -c "" -r "" xdotool.pod > $@ |
|---|
| 57 | |
|---|
| 58 | package: test-package-build create-package |
|---|
| 59 | |
|---|
| 60 | create-package: xdotool.1 |
|---|
| 61 | @NAME=xdotool-`date +%Y%m%d`; \ |
|---|
| 62 | echo "Creating package: $$NAME"; \ |
|---|
| 63 | mkdir $${NAME}; \ |
|---|
| 64 | rsync --exclude .svn -a `ls -d *.1 *.pod COPYRIGHT *.c *.h examples t CHANGELIST README Makefile* 2> /dev/null` $${NAME}/; \ |
|---|
| 65 | tar -zcf $${NAME}.tar.gz $${NAME}/; \ |
|---|
| 66 | rm -rf $${NAME}/ |
|---|
| 67 | |
|---|
| 68 | # Make sure the package we're building compiles. |
|---|
| 69 | test-package-build: create-package |
|---|
| 70 | @NAME=xdotool-`date +%Y%m%d`; \ |
|---|
| 71 | echo "Testing package $$NAME"; \ |
|---|
| 72 | tar -zxf $${NAME}.tar.gz; \ |
|---|
| 73 | make -C $${NAME} xdotool; \ |
|---|
| 74 | rm -rf $${NAME}/ |
|---|
| 75 | rm -f $${NAME}.tar.gz |
|---|
| 76 | |
|---|