CC	=	gcc
CFLAGS	=	-Wall -Werror -pedantic -I../include -ggdb -Os -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions -falign-jumps -falign-loops -finline-functions

AR	=	ar rcv

OBJ	=	ul_exec.o clean.o load.o save.o
LIB	=	libulexec.so
STATIC	=	libulexec.a
DIET	=	/opt/diet

all: $(LIB)

$(LIB): $(OBJ)
	ld -O2 -Bshareable -Bsymbolic -o $@ $^ -L$(DIET)/lib-i386/ -lc

static: $(OBJ)
	$(AR) $(STATIC) $(OBJ)

.c.o:
	$(DIET)/bin/diet $(CC) $(CFLAGS) -c -o $@ $<

clean:
	rm -f $(OBJ) *~ core

distclean: clean
	rm -f test a.out *.so
