# aewm - a minimalistic X11 window manager. ------- vim:ft=make
# Copyright (c) 1998-2001 Decklin Foster <decklin@red-bean.com>
# Free software! Please see README for details and license. ---

CC       = gcc
CFLAGS   = -g -O2 -Wall $(DEFINES)

XROOT    = /usr/X11R6
BINDIR   = $(DESTDIR)$(XROOT)/bin
MANDIR   = $(DESTDIR)$(XROOT)/man/man1

X11PATH  = -I$(XROOT)/include
X11LIBS  = -L$(XROOT)/lib -lX11
XAWLIBS  = -L$(XROOT)/lib -lX11 -lXt -lXaw
GTKPATH  = `gtk-config --cflags`
GTKLIBS  = `gtk-config --libs`

# --------------------------------------------------------------------

ETCPROGS = xsession
XAWPROGS = xaw-panel xaw-switch xaw-palette
GTKPROGS = gtk-panel gtk-switch gtk-palette \
           gtk-panel-menu gtk-switch-menu gtk-panel-menu2
MANPAGE  = aewm-goodies.1x

all: $(XAWPROGS) $(GTKPROGS) $(ETCPROGS)

xaw-panel: lib/panel-misc.o
xaw-switch: lib/switch-misc.o
xaw-palette: lib/panel-misc.o lib/switch-misc.o lib/palette-misc.o

gtk-panel: lib/panel-misc.o
gtk-switch: lib/switch-misc.o
gtk-panel-menu: lib/panel-misc.o
gtk-switch-menu: lib/switch-misc.o
gtk-palette: lib/panel-misc.o lib/switch-misc.o lib/palette-misc.o
gtk-panel-menu2: lib/menu-misc.o lib/panel-misc.o

$(XAWPROGS): %: %.o
	$(CC) $^ $(XAWLIBS) -o $@

$(GTKPROGS): %: %.o
	$(CC) $^ $(GTKLIBS) -o $@

$(ETCPROGS): %: %.o
	$(CC) $^ -o $@

# --------------------------------------------------------------------

ETCOBJS = lib/panel-misc.o lib/palette-misc.o
X11OBJS = xsession.o lib/switch-misc.o lib/menu-misc.o
XAWOBJS = xaw-panel.o xaw-switch.o xaw-palette.o
GTKOBJS = gtk-panel.o gtk-switch.o gtk-palette.o \
          gtk-panel-menu.o gtk-switch-menu.o gtk-panel-menu2.o

$(X11OBJS): %.o: %.c
	$(CC) $(CFLAGS) $(X11PATH) -c $< -o $@

$(XAWOBJS): %.o: %.c
	$(CC) $(CFLAGS) $(X11PATH) -c $< -o $@

$(GTKOBJS): %.o: %.c
	$(CC) $(CFLAGS) $(GTKPATH) -c $< -o $@

$(ETCOBJS): %.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

# --------------------------------------------------------------------

install: all
	install -s $(XAWPROGS) $(GTKPROGS) $(ETCPROGS) $(BINDIR)
	install -m 644 $(MANPAGE) $(MANDIR)
	gzip -9vf $(MANDIR)/$(MANPAGE)
	cd $(MANDIR) && \
	    for i in $(XAWPROGS) $(GTKPROGS) $(ETCPROGS); do \
	        ln -sf $(MANPAGE).gz $$i.1x.gz; \
	    done \

clean:
	rm -f $(XAWPROGS) $(GTKPROGS) $(ETCPROGS) \
	$(X11OBJS) $(XAWOBJS) $(GTKOBJS) $(ETCOBJS)

.PHONY: all install clean
