CC=gcc
CFLAGS = -Wall
# the next two flags are passed to the linker for dynamic loading support
DLFLAGS = -ldl -rdynamic
TARGETS = intptr funcptr typefuncptrs dlcos dlcos-check libhello.so loadhello strtodex

all: $(TARGETS)

dlcos: dlcos.c
	$(CC) $(CFLAGS) -o $@ $< $(DLFLAGS) 

dlcos-check: dlcos-check.c
	$(CC) $(CFLAGS) -o $@ $< $(DLFLAGS)

libhello.so: libhello.c
	$(CC) $(CFLAGS) -shared -Wl,-soname,libhello.so.0 -o $@ $<

loadhello: loadhello.c
	$(CC) $(CFLAGS) -o $@ $< $(DLFLAGS)

clean:
	rm -f $(TARGETS) core
