#
# Makefile for libgltrace.so and trace executable
#
# Kekoa Proudfoot
# 5/6/98
#

ROOT = ..
include $(ROOT)/make/shared.mk

INCS   = -I../lib
CFLAGS = -mips2 -DIRIX $(O32CFLAGS)
LFLAGS = -mips2

# Library 

LPERLHSRC =
LPERLCSRC = glimpl.c.pl
LHEADERS  = $(LPERLHSRC:.pl=)
LSOURCES  = $(LPERLCSRC:.pl=)
LOBJECTS  = $(LSOURCES:.c=.o)
LTARGETS  = libgltrace.so

# Shared (among executables)

CSOURCES  = clparse.c
COBJECTS  = $(CSOURCES:.c=.o)

# Executables

PSOURCES  = $(PTARGETS:=.c)
POBJECTS  = $(PTARGETS:=.o)
PTARGETS  = trace

# Everything

HEADERS   = $(LHEADERS)
SOURCES   = $(LSOURCES) $(CSOURCES) $(PSOURCES)
OBJECTS   = $(LOBJECTS) $(COBJECTS) $(POBJECTS)
TARGETS   = $(LTARGETS) $(PTARGETS)

DEPEND    = Depend

all: $(HEADERS) $(TARGETS)

LFLAGS_libgltrace = -Wld,-init,__glt_init,-fini,__glt_fini
LIBS_libgltrace = -L../lib -lglt
libgltrace.so: $(LOBJECTS) ../lib/libglt.a

trace: $(COBJECTS)

depend: $(HEADERS) $(SOURCES)
	$(CC) $(CFLAGS) $(INCS) -M $(SOURCES) > Depend
	@echo glimpl.c.pl:
	@echo glimpl.c: ../perl/shared/flags >> Depend
	@echo glimpl.c: ../perl/shared/opcodes >> Depend
	@echo glimpl.c: ../perl/shared/headers >> Depend
	@echo glimpl.c: ../perl/shared/glheaders >> Depend
	@echo glimpl.c: glimpl.c.sp >> Depend

clean:
	rm -f *~ $(OBJECTS) $(TARGETS) core so_locations

noperl:
	rm -f $(LPERLCSRC:.pl=) $(LPERLHSRC:.pl=)

nolinks:

nodepend:
	rm -f $(DEPEND)

install: libgltrace.so trace
	mkdir -p $(INSTROOT)/lib
	cp libgltrace.so $(INSTROOT)/lib
	mkdir -p $(INSTROOT)/tools
	cp trace $(INSTROOT)/tools

veryclean: clean noperl nodepend

ifeq ($(wildcard $(DEPEND)),$(DEPEND))
include $(DEPEND)
endif
