75 lines
1.2 KiB
Makefile
75 lines
1.2 KiB
Makefile
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/write.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)
|
|
|
|
LDFLAGS += $(foreach s,$(LIBWRAP_SYMS),-Wl,--wrap=$(s))
|
|
#LDFLAGS += $(foreach s,$(LIBWRAP_SYMS),-Wl,--wrap=_$(s))
|
|
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
|