#
# pxk Makefile
#
# x-kernel v3.2
#
# Copyright (c) 1991  Arizona Board of Regents
#
#
# The following variables must be defined (either defined in a
# previous makefile, set on the command line, or passed in through
# environment variables):
#
# HOW	(e.g., "DEBUGsparc")
# LIB   (relative path to library in which to archive object files)
# REALCC (system C compiler (*not* gcc))

XRT = ../..
DIRS = msg event idmap
INCLUDES = -I$(XRT)/include -I$(XRT)/etc -I$(XRT)/sunos/include
MAKEFILE=Makefile

SRC = \
	debug.c \
	init.c \
	machine.c \
	ocsum.c \
	process.c \
	redefines.c \
	time.c \
	upi.c \
	utils.c \

OBJ =	\
	$(LIB)(debug.o) \
	$(LIB)(init.o) \
	$(LIB)(ocsum.o) \
	$(LIB)(redefines.o) \
	$(LIB)(time.o) \
	$(LIB)(upi.o) \
	$(LIB)(utils.o) \
	$(LIB)(machine.o) \
	$(LIB)(process.o) \


.PHONY : pxk depend clean

pxk:	$(OBJ)
	@make LOOP TARGET=

depend clean dotodirs: %: local%
	@make LOOP TARGET=$@

include $(XRT)/bin/Makefile.local

# generic loop target called by other targets
LOOP:
	@for dir in $(DIRS) ; do \
		echo $$dir ; \
		cd $$dir ; \
		$(MAKE) $(TARGET)  XRT:=../$(XRT) LIB:=../$(LIB); \
		cd .. ; \
	 done

SRCLIST HDRLIST: 
	@make local$@ >> ./.files$$$$ ; \
	for dir in $(DIRS) ; do \
 		cd $$dir ; \
		`$(MAKE) $@ | fixRelPaths $$dir >> ../.files$$$$` ; \
 		cd .. ; \
 	done ; \
	cat .files$$$$ | sort | uniq ; \
	rm .files$$$$

# files which must be compiled with cc instead of gcc
$(HOW)/machine.o $(HOW)/process.o : $(HOW)/%.o : %.c
	$(REALCC) -E $(CFLAGS) $(INCLUDES) $< -o $*.cpp.i
	egrep -v '(^$$|^ $$|^# )' $*.cpp.i > $*.prot.c
	rm -f $*.cpp.i
	unprotoize -q $*.prot.c
	$(REALCC) -c $(CFLAGS) $(INCLUDES) -o $@ $*.prot.c && \
		rm -f $*.prot.c $*.prot.c.save


# DO NOT DELETE THIS LINE -- make depend uses it.
./${HOW}/debug.o : debug.c ../../include/debug.h ../../sunos/include/platform.h \
  /usr/include/sys/types.h /usr/include/sys/stdtypes.h \
  /usr/include/sys/sysmacros.h /usr/include/netinet/in.h \
  ../../sunos/include/process.h /usr/include/lwp/lwp.h \
  /usr/include/sys/time.h ../../include/time.h /usr/include/stdio.h 
./${HOW}/init.o : init.c /usr/include/stdio.h ../../sunos/include/process.h \
  /usr/include/lwp/lwp.h /usr/include/sys/types.h /usr/include/sys/stdtypes.h \
  /usr/include/sys/sysmacros.h /usr/include/sys/time.h ../../include/time.h \
  ../../include/upi.h ../../include/idmap.h ../../include/msg.h \
  ../../sunos/include/platform.h /usr/include/netinet/in.h \
  ../../include/debug.h ../../sunos/include/event_i.h 
./${HOW}/machine.o : machine.c ../../include/debug.h /usr/include/sys/types.h \
  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
  /usr/include/sys/file.h /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h \
  /usr/include/sys/time.h ../../include/time.h /usr/include/sys/wait.h \
  /usr/include/sys/ioctl.h /usr/local/gnu-1.39/lib/gcc-include/sys/ttychars.h \
  /usr/include/sys/ttydev.h /usr/local/gnu-1.39/lib/gcc-include/sys/ttold.h \
  /usr/local/gnu-1.39/lib/gcc-include/sys/ioccom.h \
  /usr/local/gnu-1.39/lib/gcc-include/sys/ttycom.h \
  /usr/local/gnu-1.39/lib/gcc-include/sys/filio.h \
  /usr/local/gnu-1.39/lib/gcc-include/sys/sockio.h /usr/include/sys/socket.h \
  /usr/include/netinet/in.h /usr/include/netdb.h /usr/include/stdio.h \
  /usr/include/syslog.h /usr/include/errno.h /usr/include/sys/errno.h \
  /usr/include/signal.h /usr/include/sys/signal.h /usr/include/vm/faultcode.h \
  /usr/include/lwp/lwp.h /usr/include/lwp/stackdep.h \
  /usr/include/lwp/sparc_stackdep.h ../../sunos/include/process.h \
  ../../sunos/include/assert.h 
./${HOW}/ocsum.o : ocsum.c ../../sunos/include/platform.h /usr/include/sys/types.h \
  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
  /usr/include/netinet/in.h ../../sunos/include/process.h \
  /usr/include/lwp/lwp.h /usr/include/sys/time.h ../../include/time.h \
  ../../sunos/include/assert.h /usr/include/stdio.h 
./${HOW}/process.o : process.c /usr/include/lwp/lwp.h /usr/include/sys/types.h \
  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
  /usr/include/sys/time.h ../../include/time.h /usr/include/lwp/stackdep.h \
  /usr/include/lwp/sparc_stackdep.h /usr/include/lwp/lwperror.h \
  /usr/local/gnu-1.39/lib/gcc-include/varargs.h \
  /usr/local/gnu-1.39/lib/gcc-include/va-sparc.h ../../include/xkernel.h \
  ../../sunos/include/platform.h /usr/include/netinet/in.h \
  ../../sunos/include/process.h ../../include/upi.h ../../include/idmap.h \
  ../../include/msg.h ../../include/event.h ../../include/debug.h \
  ../../sunos/include/assert.h /usr/include/stdio.h ../../etc/site.h 
./${HOW}/redefines.o : redefines.c /usr/include/stdio.h /usr/include/sys/types.h \
  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
  /usr/include/netinet/in.h /usr/local/gnu-1.39/lib/gcc-include/varargs.h \
  /usr/local/gnu-1.39/lib/gcc-include/va-sparc.h 
./${HOW}/time.o : time.c 
./${HOW}/upi.o : upi.c /usr/local/gnu-1.39/lib/gcc-include/varargs.h \
  /usr/local/gnu-1.39/lib/gcc-include/va-sparc.h ../../include/upi.h \
  ../../include/idmap.h ../../include/msg.h ../../sunos/include/platform.h \
  /usr/include/sys/types.h /usr/include/sys/stdtypes.h \
  /usr/include/sys/sysmacros.h /usr/include/netinet/in.h \
  ../../sunos/include/process.h /usr/include/lwp/lwp.h \
  /usr/include/sys/time.h ../../include/time.h ../../include/debug.h \
  ../../sunos/include/assert.h /usr/include/stdio.h 
./${HOW}/utils.o : utils.c /usr/include/stdio.h 
