Files
metasploit-gs/external/source/meterpreter/workspace/ulibc/Makefile
T
HD Moore d5ffcc1907 fix the posix build (patch from JR)
git-svn-id: file:///home/svn/framework3/trunk@6945 4d416f70-5f16-0410-b530-b9f4589650da
2009-08-09 17:28:44 +00:00

69 lines
1.9 KiB
Makefile

.SUFFIXES: .S .c
SOURCEPATH=../../source/ulibc
SSLPATH=../../source/openssl/include
STDLIBPATH=../../source/ulibc/stdlib
COMMONPATH=../../source/common
CFLAGS= -D_UNIX -I$(SOURCEPATH) -DNO_TLS -DPIC -I$(COMMONPATH) -I$(SSLPATH) -I$(STDLIBPATH)
CFLAGS+= -g -fPIC -Os -D_POSIX_C_SOURCE=200809 -D__BSD_VISIBLE=1 -D__XSI_VISIBLE=1
CPPFLAGS= -I$(SOURCEPATH) -DPIC
CC=gcc
AR=ar
RM=rm
libc_objects = table.o none.o localeconv.o lmonetary.o lnumeric.o \
wcrtomb.o wcsrtombs.o \
findfp.o stdio.o fflush.o printf.o vfprintf.o atexit.o getenv.o \
strtol.o reallocf.o __error.o \
wsetup.o makebuf.o fwalk.o _flock_stub.o fvwrite.o qsort.o \
exit.o bcopy.o memmove.o stpcpy.o memchr.o strchr.o \
strerror.o strlcpy.o strncpy.o strlcat.o strncat.o \
inet_addr.o \
_thread_init.o time.o isatty.o termios.o errlst.o sigsetops.o \
malloc.o syscalls.o ulibc.o
####### check platform
OSNAME= $(shell uname -s)
ARCH= $(shell uname -m)
ifeq ($(OSNAME), FreeBSD)
OS= bsd
libc_objects+= cerror.o
else
CFLAGS+= -fno-stack-protector -D__linux__
CFLAGS+= -D_POSIX_C_SOURCE=200809 -D__BSD_VISIBLE=1 -D__XSI_VISIBLE=1
OS=$(OSNAME)
# requires tls - which we don't have
# libc_objects+= errno.o
endif
BASEVPATH=../../source/ulibc:../../source/ulibc/arch/posix:../../source/ulibc/locale:../../source/ulibc/stdio:../../source/ulibc/stdlib:../../source/ulibc/gen:../../source/ulibc/inet:../../source/ulibc/string:
OSVPATH= ../../source/ulibc/arch/$(OS)
ARCHVPATH= $(OSVPATH)/$(ARCH)
VPATH=$(BASEVPATH):$(OSVPATH):$(ARCHVPATH)
MACHINE_LINK=../../source/ulibc/machine
CFLAGS+= -I$(ARCHVPATH)
CPPFLAGS+= -I$(ARCHVPATH)
all: libuc.so libuc.a
$(MACHINE_LINK):
ln -s $(ARCHVPATH) $(MACHINE_LINK)
libuc.so: $(MACHINE_LINK) $(library_headers) $(libc_objects)
$(LD) -Bshareable -o $@ $(libc_objects)
libuc.a: $(MACHINE_LINK) $(libc_objects)
$(AR) rc $@ $(libc_objects)
clean:
$(RM) -f *.o *.a *.so $(MACHINE_LINK)
.PHONY: clean