SUBDIRS = demos plugins TARGETS = locker lockerctl PREFIX = /usr/local DESTDIR = BINDIR = $(PREFIX)/bin CC ?= cc CPPFLAGSF= -I ../include CPPFLAGS?= CFLAGSF = -W `pkg-config --cflags libSystem gtk+-2.0 xscrnsaver` CFLAGS = -Wall -g -O2 -pedantic LDFLAGSF= `pkg-config --libs libSystem gtk+-2.0 xscrnsaver` LDFLAGS = RM ?= rm -f LN ?= ln -f MKDIR ?= mkdir -p INSTALL ?= install all: subdirs $(TARGETS) subdirs: @for i in $(SUBDIRS); do (cd $$i && $(MAKE)) || exit; done locker_OBJS = locker.o main.o locker_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) locker_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) locker: $(locker_OBJS) $(CC) -o locker $(locker_OBJS) $(locker_LDFLAGS) lockerctl_OBJS = lockerctl.o lockerctl_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) lockerctl_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) lockerctl: $(lockerctl_OBJS) $(CC) -o lockerctl $(lockerctl_OBJS) $(lockerctl_LDFLAGS) locker.o: locker.c locker.h ../include/Locker.h ../config.h $(CC) -D PREFIX=\"$(PREFIX)\" $(locker_CFLAGS) -c locker.c main.o: main.c locker.h ../include/Locker.h ../config.h $(CC) -D PREFIX=\"$(PREFIX)\" $(locker_CFLAGS) -c main.c lockerctl.o: lockerctl.c ../include/Locker.h $(CC) $(lockerctl_CFLAGS) -c lockerctl.c clean: @for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean) || exit; done $(RM) -- $(locker_OBJS) $(lockerctl_OBJS) distclean: @for i in $(SUBDIRS); do (cd $$i && $(MAKE) distclean) || exit; done $(RM) -- $(locker_OBJS) $(lockerctl_OBJS) $(RM) -- $(TARGETS) install: $(TARGETS) @for i in $(SUBDIRS); do (cd $$i && $(MAKE) install) || exit; done $(MKDIR) $(DESTDIR)$(BINDIR) $(INSTALL) -m 0755 -- locker $(DESTDIR)$(BINDIR)/locker $(MKDIR) $(DESTDIR)$(BINDIR) $(INSTALL) -m 0755 -- lockerctl $(DESTDIR)$(BINDIR)/lockerctl uninstall: @for i in $(SUBDIRS); do (cd $$i && $(MAKE) uninstall) || exit; done $(RM) -- $(DESTDIR)$(BINDIR)/locker $(RM) -- $(DESTDIR)$(BINDIR)/lockerctl .PHONY: all subdirs clean distclean install uninstall