.DEFAULT_GOAL := all

AUTOIN = sockopt.in
AUTOGEN= autogen sockopt.export sockopt.get sockopt.set
PRE = _socket.h sockopt.rules.h $(AUTOGEN)
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)/*

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


