# Makefile generated by imake - do not edit!
# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
#
# The cpp used on this machine replaces all newlines and multiple tabs and
# spaces in a macro expansion with a single space.  Imake tries to compensate
# for this, but is not always successful.
#

ARCH = $(TARGET_ARCH:-%=%)

OS_RELEASE:sh = uname -r

OS_VERSION_4.1.1 = 4
OS_VERSION_4.1.2 = 4
OS_VERSION_4.1.3 = 4
OS_VERSION_5.0 = 5
OS_VERSION_5.0.1 = 5
OS_VERSION_5.1 = 5
OS_VERSION = $(OS_VERSION_$(OS_RELEASE))

OS5x_5 = OS5x
OS5x = $(OS5x_$(OS_VERSION))

OBJ_FORMAT_4 = sun
OBJ_FORMAT_5 = elf
OBJ_FORMAT = $(OBJ_FORMAT_$(OS_VERSION))

PICCOMPILE.cc = $(CCC) $(CCFLAGS) -pic $(CPPFLAGS) $($(OS5x)TARGET_ARCH) -c

LINKSO_5 = ld -G -z text -h $(LD_LIB_NAME) $(LDFLAGS)
LINKSO_4 = ld -assert pure-text $(LDFLAGS)
LINKSO = $(LINKSO_$(OS_VERSION))

RANLIB_5 = true
RANLIB_4 = ranlib
RANLIB = $(RANLIB_$(OS_VERSION))

INDENT = indent -st -bap

CCC += $(CCC_OPTIONS)

SABER_CPPFLAGS = -I/usr/dist/local/sun4/lang/SC1.0/include/CC

ttdesktop_SOURCES.cc = \
	ttdesktop.cc
ttdesktop_HEADERS = \
	ttdesktop.h

ttdesktop_CPPFLAGS = -I$(OPENWINHOME)/include
ttdesktop_MAJOR_VERSION = 1
ttdesktop_MINOR_VERSION = 1

.KEEP_STATE:

ttdesktopX_5 = .$(ttdesktop_MAJOR_VERSION)
ttdesktopX_4 = .$(ttdesktop_MAJOR_VERSION).$(ttdesktop_MINOR_VERSION)
ttdesktopX = $(ttdesktopX_$(OS_VERSION))

debug:: g.so

optimized:: O

ttdesktop_SOURCES.cc~ = $(ttdesktop_SOURCES.cc:%.cc=%.cc~)
ttdesktop_HEADERS~ = $(ttdesktop_HEADERS:%.h=%.h~)

ttdesktop_c_SOURCES.cc = $(ttdesktop_SOURCES.cc:%.cc=c/%.c)
ttdesktop_i_SOURCES.cc = $(ttdesktop_SOURCES.cc:%.cc=i/%.cc)

ttdesktop_OBJECTS_O = $(ttdesktop_SOURCES.cc:%.cc=$(OBJ_FORMAT)_O/%.o)
ttdesktop_OBJECTS_g = $(ttdesktop_SOURCES.cc:%.cc=$(OBJ_FORMAT)_g/%.o)

ttdesktop_PIC_OBJECTS_O = \
$(ttdesktop_SOURCES.cc:%.cc=$(OBJ_FORMAT)_pic_O/%.o)
ttdesktop_PIC_OBJECTS_g = \
$(ttdesktop_SOURCES.cc:%.cc=$(OBJ_FORMAT)_pic_g/%.o)

ttdesktop_i_PIC_OBJECTS_g = \
$(ttdesktop_SOURCES.cc:%.cc=i_$(OBJ_FORMAT)_pic_g/%.o)

ttdesktop_SOURCES.i = $(ttdesktop_SOURCES.cc:%.cc=%.i) \
	 $(ttdesktop_i_SOURCES.cc)

$(ttdesktop_OBJECTS_O) $(ttdesktop_OBJECTS_g) \
$(ttdesktop_PIC_OBJECTS_O) $(ttdesktop_PIC_OBJECTS_g) \
$(ttdesktop_i_PIC_OBJECTS_g) \
$(ttdesktop_SOURCES.cc:%.cc=%.i) $(ttdesktop_SOURCES.cc:%.cc=%.c) \
$(ttdesktop_SOURCES.cc:%.cc=%.s) $(ttdesktop_SOURCES.cc:%.cc=%.files) \
$(ttdesktop_c_SOURCES.cc) libttdesktop_saber++ \
libttdesktop_i_saber++ $(ttdesktop_SOURCES.cc:%.cc=%.saber++) \
	 := CPPFLAGS += $(ttdesktop_CPPFLAGS)

$(ttdesktop_SOURCES.cc:%.cc=%.saber++) \
	 := CPPFLAGS += $(SABER_CPPFLAGS)

$(ttdesktop_OBJECTS_O) $(ttdesktop_PIC_OBJECTS_O) := CCFLAGS += -O
$(ttdesktop_OBJECTS_g) $(ttdesktop_PIC_OBJECTS_g) \
$(ttdesktop_i_PIC_OBJECTS_g) \
	 := CCFLAGS += -g

$(OBJ_FORMAT)_pic_O/libttdesktop.so$(ttdesktopX) \
$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX) \
i_$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX) := \
	LD_LIB_NAME = libttdesktop.so$(ttdesktopX)

$(OBJ_FORMAT)_pic_O/libttdesktop.so$(ttdesktopX): \
	$(ttdesktop_PIC_OBJECTS_O)
	$(LINKSO) -o $@ $(ttdesktop_PIC_OBJECTS_O)

$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX): \
	$(ttdesktop_PIC_OBJECTS_g)
	$(LINKSO) -o $@ $(ttdesktop_PIC_OBJECTS_g)

i_$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX): \
	$(ttdesktop_i_PIC_OBJECTS_g)
	$(LINKSO) -o $@ $(ttdesktop_i_PIC_OBJECTS_g)

$(OBJ_FORMAT)_O/libttdesktop.a: $(ttdesktop_OBJECTS_O)
	$(RM) $@; $(AR) $(ARFLAGS) $@ $(ttdesktop_OBJECTS_O); \
	$(RANLIB) $@

$(OBJ_FORMAT)_g/libttdesktop.a: $(ttdesktop_OBJECTS_g)
	$(RM) $@; $(AR) $(ARFLAGS) $@ $(ttdesktop_OBJECTS_g); \
	$(RANLIB) $@

libttdesktop.tar: Makefile $(ttdesktop_SOURCES.cc) $(ttdesktop_HEADERS)
	tar cf $@ Makefile $(ttdesktop_SOURCES.cc) $(ttdesktop_HEADERS)

libttdesktop_saber++: $(ttdesktop_SOURCES.cc)
	#load $(SABER_CPPFLAGS) $(CPPFLAGS) $(ttdesktop_SOURCES.cc)

libttdesktop_i_saber++: $(ttdesktop_i_SOURCES.cc)
	#load $(SABER_CPPFLAGS) $(CPPFLAGS) $(ttdesktop_i_SOURCES.cc)

libttdesktop_saber: $(ttdesktop_c_SOURCES.cc)
	#load $(CPPFLAGS) $(ttdesktop_c_SOURCES.cc)

all:: $(OBJ_FORMAT)_pic_O/libttdesktop.so$(ttdesktopX) \
	$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX) \
	$(OBJ_FORMAT)_O/libttdesktop.a \
	$(OBJ_FORMAT)_g/libttdesktop.a
All:: i_$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX)
g.so:: $(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX)
O.a:: $(OBJ_FORMAT)_O/libttdesktop.a
g.a:: $(OBJ_FORMAT)_g/libttdesktop.a
ig:: i_$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX)
O:: $(OBJ_FORMAT)_pic_O/libttdesktop.so$(ttdesktopX)

clean::
	$(RM) $(OBJ_FORMAT)_pic_O/libttdesktop.so$(ttdesktopX) \
	 $(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX) \
	 $(OBJ_FORMAT)_O/libttdesktop.a \
	 $(OBJ_FORMAT)_g/libttdesktop.a \
	 i_$(OBJ_FORMAT)_pic_g/libttdesktop.so$(ttdesktopX) \
	 libttdesktop.tar

clean.o.O::
	$(RM) $(ttdesktop_OBJECTS_O) $(ttdesktop_PIC_OBJECTS_O)

clean.o.g::
	$(RM) $(ttdesktop_OBJECTS_g) $(ttdesktop_PIC_OBJECTS_g)

clean.o.pic::
	$(RM) $(ttdesktop_PIC_OBJECTS_O) $(ttdesktop_PIC_OBJECTS_g)

clean.o.a::
	$(RM) $(ttdesktop_OBJECTS_O) $(ttdesktop_OBJECTS_g)

clean.i::
	$(RM) $(ttdesktop_SOURCES.i) \
	$(ttdesktop_SOURCES.cc:%.cc=%.c) \
	$(ttdesktop_SOURCES.cc:%.cc=%.c++) \
	$(ttdesktop_SOURCES.cc:%.cc=%.s) \
	$(ttdesktop_SOURCES.cc:%.cc=%.s++) \
	$(ttdesktop_SOURCES.cc:%.cc=%.files)

clean.i.o::
	$(RM) $(ttdesktop_i_PIC_OBJECTS_g)

$(OBJ_FORMAT)_O/.dir		\
$(OBJ_FORMAT)_g/.dir		\
$(OBJ_FORMAT)_pic_O/.dir	\
$(OBJ_FORMAT)_pic_g/.dir	\
i_$(OBJ_FORMAT)_g/.dir		\
i_$(OBJ_FORMAT)_pic_g/.dir	\
m_$(OBJ_FORMAT)_O/.dir		\
m_$(OBJ_FORMAT)_g/.dir		\
c/.dir				\
c_$(OBJ_FORMAT)_O/.dir		\
c_$(OBJ_FORMAT)_pic_O/.dir:
	if [ ! -d $@ ]; then mkdir -p $@; fi

$(OBJ_FORMAT)_O/%.o: %.cc $(OBJ_FORMAT)_O/.dir
	$(COMPILE.cc) $(OUTPUT_OPTION) $< -o $@
$(OBJ_FORMAT)_g/%.o: %.cc $(OBJ_FORMAT)_g/.dir
	$(COMPILE.cc) $(OUTPUT_OPTION) $< -o $@
$(OBJ_FORMAT)_pic_O/%.o: %.cc $(OBJ_FORMAT)_pic_O/.dir
	$(PICCOMPILE.cc) $(OUTPUT_OPTION) $< -o $@
$(OBJ_FORMAT)_pic_g/%.o: %.cc $(OBJ_FORMAT)_pic_g/.dir
	$(PICCOMPILE.cc) $(OUTPUT_OPTION) $< -o $@
m_$(OBJ_FORMAT)_O/%.o: %.cc m_$(OBJ_FORMAT)_O/.dir
	$(COMPILE.cc) $(OUTPUT_OPTION) $< -o $@
m_$(OBJ_FORMAT)_g/%.o: %.cc m_$(OBJ_FORMAT)_g/.dir
	$(COMPILE.cc) $(OUTPUT_OPTION) $< -o $@

i/%.cc: i %.cc
	$(CCC) -E -Qoption acpp -P $(CPPFLAGS) $*.cc | \
		sed -e '/^[ 	]*\/\//D' | \
		$(INDENT) | sed -e 's/: :/::/' -e '/^#/d' > $@
i_$(OBJ_FORMAT)_g/%.o: i/%.cc i_$(OBJ_FORMAT)_g
	$(COMPILE.cc) $(OUTPUT_OPTION) $< -o $@
i_$(OBJ_FORMAT)_pic_g/%.o: i/%.cc i_$(OBJ_FORMAT)_pic_g
	$(PICCOMPILE.cc) $(OUTPUT_OPTION) $< -o $@

c/%.c: c %.cc
	$(CCC) -F $(CPPFLAGS) $*.cc | $(INDENT) | sed '/^#/d' > $@

.SUFFIXES:
.SUFFIXES: .files .c++ .c .i .s++ .s .saber++ $(SUFFIXES)

.cc.files:
	$(CCC) -E -H $(CPPFLAGS) $< 1> /dev/null 2> $*.files

.cc.i:
	$(CCC) -E $(CPPFLAGS) $< > $*.i

.cc.c:
	$(CCC) -F $(CPPFLAGS) $< | \
		sed -e '/^#/d' -e '/^\/\* the end \*\/$$/d' | \
		$(INDENT) > $*.c

.c.c++:
	c++filt < $*.c > $*.c++

.cc.s:
	$(CCC) $(CFLAGS) $(CPPFLAGS) -Qproduce .s $(OUTPUT_OPTION) $<

.s.s++:
	c++filt < $< > $*.s++

.cc.saber++:
	#load $(CPPFLAGS) $<

All:: all

g:: g.so g.a

clean.o:: clean.o.O clean.o.g clean.o.pic clean.o.a clean.i.o clean_m.o
	if test -d $(OBJ_FORMAT)_O;	then $(RM) -rf $(OBJ_FORMAT)_O;	fi
	if test -d $(OBJ_FORMAT)_g;	then $(RM) -rf $(OBJ_FORMAT)_g;	fi
	if test -d $(OBJ_FORMAT)_pic_O;	then $(RM) -rf $(OBJ_FORMAT)_pic_O;	fi
	if test -d $(OBJ_FORMAT)_pic_g;	then $(RM) -rf $(OBJ_FORMAT)_pic_g;	fi

clean.i.o::
	if test -d i_$(OBJ_FORMAT)_g;	  then $(RM) -rf i_$(OBJ_FORMAT)_g; fi
	if test -d i_$(OBJ_FORMAT)_pic_g; then $(RM) -rf i_$(OBJ_FORMAT)_pic_g; fi

clean.i:: clean.i.o
	if test -d i;			then rmdir i;			fi

clean_m:: clean_m.o
	$(RM) mallomar.out

clean_m.o::
	if test -d m_$(OBJ_FORMAT)_O;	then $(RM) -rf m_$(OBJ_FORMAT)_O;	fi
	if test -d m_$(OBJ_FORMAT)_g;	then $(RM) -rf m_$(OBJ_FORMAT)_g;	fi

clean:: clean.o clean.i clean_m
