ifndef _MK_LIBWRAP _MK_LIBWRAP := # defined LIBWRAP_DIR := $(dir $(lastword $(MAKEFILE_LIST))) LIBWRAP_DIR := $(LIBWRAP_DIR:/=) LIBWRAP_SRCS := \ stdlib/malloc.c \ sys/open.c \ sys/lseek.c \ sys/read.c \ sys/fstat.c \ sys/stat.c \ sys/close.c \ sys/link.c \ sys/unlink.c \ sys/execve.c \ sys/fork.c \ sys/getpid.c \ sys/kill.c \ sys/wait.c \ sys/isatty.c \ sys/times.c \ sys/sbrk.c \ sys/_exit.c \ sys/puts.c \ misc/write_hex.c \ sys/printf.c LIBWRAP_SRCS := $(foreach f,$(LIBWRAP_SRCS),$(LIBWRAP_DIR)/$(f)) LIBWRAP_OBJS := $(LIBWRAP_SRCS:.c=.o) LIBWRAP_SYMS := \ malloc \ open \ lseek _lseek\ read _read\ write _write\ fstat _fstat\ stat \ close _close\ link \ unlink \ execve \ fork \ getpid \ kill \ wait \ isatty \ times \ sbrk _sbrk\ exit _exit \ puts _puts\ printf \ sprintf LIBWRAP := libwrap.a LINK_DEPS += $(LIBWRAP) LIBWRAP_LDFLAGS += $(foreach s,$(LIBWRAP_SYMS),-Wl,--wrap=$(s)) #LIBWRAP_LDFLAGS += $(foreach s,$(LIBWRAP_SYMS),-Wl,--wrap=_$(s)) LIBWRAP_LDFLAGS += -L. -Wl,--start-group -lwrap -lc -Wl,--end-group CLEAN_OBJS += $(LIBWRAP_OBJS) $(LIBWRAP_OBJS): %.o: %.c $(HEADERS) $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< $(LIBWRAP): $(LIBWRAP_OBJS) $(AR) rcs $@ $^ endif # _MK_LIBWRAP