.DEFAULT_GOAL := all

MZSCHEME = /usr/local/plt/bin/mzscheme
AUTOIN = sockopt.in
AUTOGEN= autogen sockopt.export sockopt.get sockopt.set
PRE = _socket.h _scm.h sockopt.rules.h $(AUTOGEN)
BYTECODE = compiled
#SOURCES = _constants.c _socket.c
#XSOURCES = $(SOURCES:.c=.3m.c)
#OBJECTS = $(SOURCES:.c=.o)
#LIBS = $(SOURCES:.c=.so)

$(shell test -e Makefile.rules || $(MZSCHEME) -qr Makefile.rules.ss)

include Makefile.rules

all: 
	($(MAKE) -s autogen)
	($(MAKE) -s libs)

autogen: autogen.ss $(AUTOIN)
	($(MZSCHEME) -qr autogen.ss && touch autogen)

libdir:
	(test -e $(LIBDIR) || mkdir -p $(LIBDIR))

clean:
	rm -f $(XSOURCES) $(OBJECTS) $(AUTOGEN) Makefile.rules
	rm -f $(LIBDIR)/*
	rm -f $(BYTECODE)/*.zo $(BYTECODE)/*.dep

mostlyclean:
	rm -f $(XSOURCES) $(OBJECTS)


