include ../VERSION

# Linux
INCSDIR     =
LIBSDIR     = -L/usr/X11R6/lib
# overriden by upper makefile
LIBDIR=../lib
ETCDIR=../lib

#SHAPEDEF = -DSHAPE
#SHAPELIB = -lXext

DEBUG    = -DDEBUG

# executable extenstion
EXEEXT=

DEFINES     = \
	$(SHAPEDEF) $(DEBUG) $(OS2)\
	-DLIBPATH='"$(LIBDIR)"' \
	-DETCPATH='"$(ETCDIR)"' \
	-DVERSION='"$(VERSION)"' \

#OPTIMIZE    = -g
OPTIMIZE   = -O -g
#OPTIMIZE   = -O -g -pg
#OPTIMIE     = -O -s
#OPTIMIZE   = -O2 -s

LIBS        = -lXpm -lX11 $(SHAPELIB)

WARN        = -pedantic -Wall -Wpointer-arith \
              -Wconversion -Wwrite-strings \
              -Wmissing-prototypes -Wmissing-declarations \
              -Winline

CXX         = g++
LD          = gcc 
CXXOPTS     = -pipe $(WARN)
CXXFLAGS    = $(OPTIMIZE) $(CXXOPTS) $(DEFINES) $(INCSDIR)
LFLAGS      = $(OPTIMIZE) $(LIBSDIR)

PROGRAMS = icewm$(EXEEXT) # iconizer$(EXEEXT)

OBJS    = \
	icewm.o misc.o option.o \
	window.o root.o frame.o title.o button.o client.o menu.o \
        status.o switch.o movesize.o taskbar.o decorate.o \
        graphics.o icons.o

ICOOBJS = misc.o iconizer.o

.SUFFIXES:
.SUFFIXES: .cc .o .h

.cc.o:
	$(CXX) $(CXXFLAGS) -c $<

all: $(PROGRAMS)

clean:
	rm -f $(PROGRAMS) *.o *~ 

icewm$(EXEEXT): $(OBJS)
	$(LD) -o icewm$(EXEEXT) $(LFLAGS) $(OBJS) $(LIBS)

iconizer$(EXEEXT): $(ICOOBJS)
	$(LD) -o iconizer$(EXEEXT) $(LFLAGS) $(ICOOBJS) $(LIBS)

depend:
	gccmakedep *.cc

# DO NOT DELETE
button.o: button.cc icewm.h default.h config.h

client.o: client.cc icewm.h default.h config.h

icewm.o: icewm.cc icewm.h default.h config.h

decorate.o: decorate.cc icewm.h default.h config.h

frame.o: frame.cc icewm.h default.h config.h

menu.o: menu.cc icewm.h default.h config.h

misc.o: misc.cc icewm.h default.h config.h

movesize.o: movesize.cc icewm.h default.h config.h

option.o: option.cc icewm.h default.h config.h

root.o: root.cc icewm.h default.h config.h

status.o: status.cc icewm.h default.h config.h

switch.o: switch.cc icewm.h default.h config.h

taskbar.o: taskbar.cc icewm.h default.h config.h

title.o: title.cc icewm.h  default.h config.h

window.o: window.cc icewm.h default.h config.h

graphics.o: window.cc icewm.h default.h config.h

icons.o: window.cc icewm.h default.h config.h
