CC       = gcc
CFLAGS   = -g -O2 -Wall

PREFIX	 = /usr/local
XROOT    = $(DESTDIR)/usr/X11R6
X11PATH  = -I$(XROOT)/include
X11LIBS  = -L$(XROOT)/lib -lX11
XAWLIBS  = -L$(XROOT)/lib -lX11 -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

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

$(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
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

$(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: 
	install $(XAWPROGS) $(GTKPROGS) $(ETCPROGS) $(PREFIX)/bin

uninstall: 
	rm -rf $(PREFIX)/bin/$(XAWPROGS) $(TARGET)/bin/$(GTKPROGS) $(TARGET)/bin/$(ETCPROGS)

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

.PHONY: all install clean
