
#
#  xserver - a native X11 release 4 server for Sun 3/50's
#    Project Lunchmeat
#    May, 1990
#    $Date: 90/07/13 16:22:13 $
#    $Revision: 1.10 $
#
#  Makefile - Makefile for xserver/User
#

#
# $Log:	Makefile,v $
# Revision 1.10  90/07/13  16:22:13  mjk
# added -DMITMISC
# 
# Revision 1.9  90/06/20  20:18:30  petero
# took XDMCP support out of the makefile
# 
# Revision 1.8  90/06/19  16:36:41  sam
# *** empty log message ***
# 
# Revision 1.7  90/06/18  02:11:25  mjk
# added XDMCP and XDBM libraries and directories
# 
# Revision 1.6  90/06/13  16:28:15  mjk
# set up with OPTIMIZE and DEBUG versions to Make
# 
#

HOWTOCOMPILE = DEBUG
HOW = $(HOWTOCOMPILE)

SHELL = /bin/sh

TOP = /brazos/petero/projects/xkernel/xserver/User
CURRENT_DIR = ./User

TOP_INCLUDES = -I$(TOP)

AR = ar cq
CC = cc
GET = co
LN = ln -s
MAKE = /usr/local/gnumake
MV = mv -f
CP = cp
RANLIB = ranlib
RANLIBINSTFLAGS =
RM = rm -f
STD_INCLUDES =
STD_CPP_DEFINES =
STD_DEFINES = -DINCLUDE_ALLOCA_H -DSHAPE -DMITMISC
EXTRA_LOAD_FLAGS =
EXTRA_OBJS = 

OTHEREXTS =
EXTENSIONS = extensions/libext.a
MFB = ddx/mfb/libmfb.a
MI = ddx/mi/libmi.a
DIX = dix/libdix.a
SNF = ddx/snf/libsnf.a
SUN = ddx/sun/libsun.a
XKERNEL = os/xkernel/libos.a
XDBM = xdbm/libxdbm.a
SYSLIBS = -lm

XDIRS = dix ddx/snf ddx/mi ddx/mfb ddx/sun os/xkernel mkfontdir extensions xdbm
XLIBS = $(DIX) $(SUN) $(XKERNEL) $(XDBM) $(SNF) $(MFB) $(MI) $(EXTENSIONS)

RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *%

SUBDIRS = $(XDIRS)

ALL= xserver

# modify OBJ to reflect the files composing the x-kernel user program

SRCS = user.c xdebug.c
HDRS = xdebug.h
OBJS = $(SRCS:%.c=$(HOW)/%.o) mkfontdir/$(HOW)/fontdir.o
LIBS = $(XLIBS) $(EXTRA_OBJS) 

# the rest of this is unchanging boilerplate

DEBUGFLAGS =
OPTIMIZEFLAGS = -O2 -DNDEBUG
CCOPTIONS = 
ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)

CFLAGS = -I.. -I../../share -I../../protocols -I../../sun3 -Iinclude -I/usr/include/X11
 
LIBDIR = ../../lib/sun3

LOAD = $(LIBDIR)/userrt0.o $(OBJS) $(LIBS) $(SYSLIBS) $(LIBDIR)/libxsun3.a

DEBUG/%.o : %.c
	$(RM) $@
	$(CC) -c $(CFLAGS) $(DEBUGFLAGS) $< -o $@

OPTIMIZE/%.o : %.c
	$(RM) $@
	$(CC) -c $(CFLAGS) $(OPTIMIZEFLAGS) $< -o $@

all : user

user : $(HDRS) $(SUBDIRS) $(OBJS)
	-@if [ -f $@ ]; then echo "$(MV) $@ $@.bak"; \
	$(MV) $@ $@.bak; else exit 0; fi
	ld -o $@ -N -T 4000 $(EXTRA_LOAD_FLAGS) $(LOAD) -lc

$(XDIRS): FRC
	@cd $@ ; echo "making $@"; \
	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CC=$(CC)' 'CCOPTIONS=$(CCOPTIONS)' all

clean::
	$(RM_CMD) \#*

FRC:

AllClean::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean); \
	done

$(SRCS) $(HDRS) :
	$(GET) $@

