# Manually created makefile

CC = gcc
CFLAGS = -g -Wall -DDBUG
CPPFLAGS = -I.. -I/usr/gnu/include -DFREE=dealloc 

LDFLAGS = -L..
CLIBS = -lccatch -liberty
OBJCLIBS = -lobjccatch -liberty -lobjects -lobjc

SRC = ccatch_test.c Catch_test.m Exception_test.m values.m

.SUFFIXES = .m .c .d

all: ccatch_test Catch_test Exception_test values

clean:
	rm -f *.o core ccatch_test Catch_test Exception_test values

ccatch_test: ccatch_test.o ../libccatch.a
	$(CC) $(LDFLAGS)  -o $@ $^ $(CLIBS)

Catch_test: Catch_test.o ../libobjccatch.a
	$(CC) $(LDFLAGS)  -o $@ $^ $(OBJCLIBS)

Exception_test: Exception_test.o ../libobjccatch.a
	$(CC) $(LDFLAGS)  -o $@ $^ $(OBJCLIBS)

# Fix NSProcessInfo to use #include <sys/systeminfo.h>,
# char buf[257]; sysinfo(SI_HOSTNAME, buf, sizeof(buf))
# instead of gethostname, if its not available

values: values.o ../libobjccatch.a
	$(CC) $(LDFLAGS)  -o $@ $^  $(OBJCLIBS) -lnsl -lm

%.o : %.c
	$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

%.d : %.c
	$(SHELL) -ec '$(CC) -M $(CPPFLAGS) $< \
	| sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'

%.o : %.m
	$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

%.d : %.m
	$(SHELL) -ec '$(CC) -M $(CPPFLAGS) $< \
	| sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'

include $(patsubst %.c, %.d, $(filter %.c, $(SRC)) )
include $(patsubst %.m, %.d, $(filter %.m, $(SRC)) )
