# === GNUmakefile ================================================================
# Copyright (c) 1993 Chris Provenzano, proven@athena.mit.edu
#
#	Description: This file is for creating the test programs for libgthreads
#
#	1.00 93/08/03 proven
#		-Initial cut for pthreads.
#

INSTALL_PATH = $${HOME}
      BINDIR = $(INSTALL_PATH)/bin/@sys
      LIBDIR = $(INSTALL_PATH)/lib/@sys
      MANDIR = $(INSTALL_PATH)/man
      INCDIR = ../

        MAKE = make
          AR = ar
          AS = as
          CC = gcc -b elf
         CPP = $(CC) -E -I$(INCDIR)
      CFLAGS = -c -g -O -I$(INCDIR) -I../include
 CDEBUGFLAGS = -g -DDEBUG		# -g, -O, -DDEBUG
       CLIBS = $(LIBDIR)/mylib.a
          LD = ld

        CSRC = test_create.c test_switch.c test_sleep.c bench_read.c bench_pipe.c

     HEADERS = 

        OBJS = test_create.o test_switch.o bench_read.o bench_pipe.o \
			   p_bench_read.o p_bench_semaphore.o p_bench_mutex.o \
               p_bench_yield.o test_sleep.o test_pause.o # dce_bench_read.o

    BINARIES = test_create test_switch test_sleep test_pause
 PBENCHMARKS = p_bench_read p_bench_semaphore p_bench_mutex p_bench_yield
 SBENCHMARKS = bench_read bench_pipe
 DBENCHMARKS = dce_bench_read 

# More flags
ADDITIONALFLAGS = -DPTHREAD_INITIAL_PORT -DPTHREAD_KERNEL
################################################################################
#
# Here starts the nitty grity part of the Makefile.

all: $(LIBRARIES) $(BINARIES) $(PBENCHMARKS) $(SBENCHMARKS) # $(DBENCHMARKS)

clean: 
	rm -f $(OBJS) a.out core maketmp makeout

depend:
	sed '/\#\#\# Dependencies/q' < Makefile > maketmp
	(for i in $(CSRC);do $(CPP) -M $$i;done) >> maketmp
	cp maketmp Makefile

install: all 
	install mylib.a $(LIBDIR)

realclean: clean
	rm -f $(LIBRARIES) $(BINARIES) $(PBENCHMARKS) $(SBENCHMARKS) $(LINKS)

.c.s:
	$(CC) $(CFLAGS) -S $<

.c.o:
	$(CC) $(CFLAGS) -c $<

.s.o:
	$(AS) $<

$(SBENCHMARKS) $(DBENCHMARKS): $(OBJS)
	$(CC) -o $@ $@.o

$(PBENCHMARKS): $(OBJS) ../lib/libgthreads.a ../lib/libmalloc.a
	$(CC) -o $@ $@.o ../lib/libgthreads.a ../lib/libmalloc.a

$(BINARIES): $(OBJS) ../lib/libgthreads.a ../lib/libmalloc.a
	$(CC) -o $@ $@.o ../lib/libgthreads.a ../lib/libmalloc.a

################################################################################
### Do not remove the following line. It is for depend #########################
### Dependencies:
