182 lines
4.6 KiB
Makefile
Executable File
182 lines
4.6 KiB
Makefile
Executable File
##
|
|
## Please check the configurion parameters below
|
|
##
|
|
|
|
## Installation directory. By default, go in /usr/local
|
|
## Distributions should probably use /usr, but they probably know better...
|
|
PREFIX = /usr/local
|
|
|
|
## Compiler to use
|
|
#CC = gcc
|
|
#CONFIG_PC :=n
|
|
#CROSS_COMPILE ?=
|
|
#CROSS_COMPILE=mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-
|
|
|
|
#CROSS_COMPILE=mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-
|
|
#CC = $(CROSS_COMPILE)gcc
|
|
|
|
## Uncomment this to build against this kernel
|
|
# KERNEL_SRC = /usr/src/linux
|
|
|
|
## Uncomment this to force a particular version of wireless extensions.
|
|
## This would use private copy of Wireless Extension definition instead
|
|
## of the system wide one in /usr/include/linux. Use with care.
|
|
## Can be used to create multiple versions of the tools on the same system
|
|
## for multiple kernels or get around broken distributions.
|
|
# FORCE_WEXT_VERSION = 14
|
|
|
|
## Uncomment this to build tools using dynamic version of the library
|
|
# BUILD_SHARED = y
|
|
|
|
## Uncomment this to build without using libm (less efficient)
|
|
## This is mostly useful for embedded platforms
|
|
BUILD_NOLIBM = y
|
|
|
|
# ***************************************************************************
|
|
# ***** Most users should not need to change anything beyond this point *****
|
|
# ***************************************************************************
|
|
|
|
# Targets to build
|
|
STATIC=libiw.a
|
|
DYNAMIC=libiw.so.25
|
|
PROGS= iwconfig iwlist iwpriv iwspy iwgetid iwevent
|
|
MANPAGES8=iwconfig.8 iwlist.8 iwpriv.8 iwspy.8 iwgetid.8 iwevent.8
|
|
MANPAGES7=wireless.7
|
|
|
|
# Composition of the library :
|
|
OBJS = iwlib.o
|
|
|
|
# Select library to link tool with
|
|
ifdef BUILD_SHARED
|
|
IWLIB=$(DYNAMIC)
|
|
else
|
|
IWLIB=$(STATIC)
|
|
endif
|
|
|
|
# Standard name for dynamic library so that the dynamic linker can pick it.
|
|
# We will just create a symbolic link to the real thing.
|
|
DYNAMIC_LINK= libiw.so
|
|
|
|
# Install directories
|
|
INSTALL_DIR= $(PREFIX)/sbin/
|
|
INSTALL_LIB= $(PREFIX)/lib/
|
|
INSTALL_INC= $(PREFIX)/include/
|
|
INSTALL_MAN= $(PREFIX)/man/
|
|
|
|
# Use local header if the version of wireless extensions is specified
|
|
ifdef FORCE_WEXT_VERSION
|
|
WEXT_FLAG = -DWEXT_HEADER=\"wireless.$(FORCE_WEXT_VERSION).h\"
|
|
endif
|
|
|
|
RM = rm -f
|
|
|
|
RM_CMD = $(RM) *.BAK *.bak *.o *.so ,* *~ *.a *.orig *.rej
|
|
|
|
ifdef KERNEL_SRC
|
|
KERNEL_INCLUDES = -I $(KERNEL_SRC)/include
|
|
endif
|
|
|
|
# Do we want to build with or without libm ?
|
|
ifdef BUILD_NOLIBM
|
|
LIBS=
|
|
WELIB_FLAG = -DWE_NOLIBM=y
|
|
else
|
|
LIBS= -lm
|
|
endif
|
|
|
|
#CFLAGS=-O2 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror
|
|
CFLAGS := -Os -W -Wall -Wstrict-prototypes $(CFLAGS)
|
|
CFLAGS += $(EXTRA_CFLAGS)
|
|
ifeq ($(SLINK),1)
|
|
CFLAGS += -ffunction-sections -fdata-sections
|
|
LDFLAGS += --static -s -Wl,--gc-sections
|
|
endif
|
|
|
|
XCFLAGS=$(CFLAGS) $(WARN) $(HEADERS) $(WEXT_FLAG) $(WELIB_FLAG) $(KERNEL_INCLUDES)
|
|
|
|
ifeq ($(CONFIG_PC),y)
|
|
XCFLAGS+=-D__PC__
|
|
endif
|
|
|
|
PICFLAG=-fPIC
|
|
|
|
all:: $(STATIC) $(DYNAMIC) $(PROGS)
|
|
|
|
%: %.o
|
|
$(CC) $(XCFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
|
|
#$(CROSS_COMPILE)strip $@
|
|
$(STRIP) $@
|
|
%.o: %.c
|
|
$(CC) $(XCFLAGS) -c $<
|
|
%.so: %.c
|
|
$(CC) $(XCFLAGS) $(PICFLAG) -c -o $@ $<
|
|
|
|
iwconfig: iwconfig.o $(IWLIB)
|
|
|
|
iwlist: iwlist.o $(IWLIB)
|
|
|
|
iwpriv: iwpriv.o $(IWLIB)
|
|
|
|
iwspy: iwspy.o $(IWLIB)
|
|
|
|
iwgetid: iwgetid.o
|
|
|
|
iwevent: iwevent.o $(IWLIB)
|
|
|
|
macaddr: macaddr.o $(IWLIB)
|
|
|
|
# Compilation of the dynamic library
|
|
$(DYNAMIC): $(OBJS:.o=.so)
|
|
$(CC) -shared -o $@ -Wl,-soname,$@ -lc $^
|
|
|
|
# Compilation of the static library
|
|
$(STATIC): $(OBJS)
|
|
$(RM) $@
|
|
ar cru $@ $^
|
|
ranlib $@
|
|
|
|
# So crude but so effective ;-)
|
|
# Less crude thanks to many contributions ;-)
|
|
install::
|
|
install -m 755 -d $(INSTALL_DIR)
|
|
install -m 755 $(PROGS) $(INSTALL_DIR)
|
|
install -m 755 -d $(INSTALL_LIB)
|
|
install -m 644 $(STATIC) $(INSTALL_LIB)
|
|
install -m 755 $(DYNAMIC) $(INSTALL_LIB)
|
|
ln -sfn $(DYNAMIC) $(INSTALL_LIB)/$(DYNAMIC_LINK)
|
|
echo "Don't forget to add $(INSTALL_LIB) to /etc/ld.so.conf, and run ldconfig."
|
|
install -m 755 -d $(INSTALL_INC)
|
|
install -m 644 iwlib.h $(INSTALL_INC)
|
|
install -m 755 -d $(INSTALL_MAN)/man8/
|
|
install -m 644 $(MANPAGES8) $(INSTALL_MAN)/man8/
|
|
install -m 755 -d $(INSTALL_MAN)/man7/
|
|
install -m 644 $(MANPAGES7) $(INSTALL_MAN)/man7/
|
|
|
|
clean::
|
|
$(RM_CMD) $(STATIC) $(DYNAMIC) $(PROGS)
|
|
|
|
realclean::
|
|
$(RM_CMD)
|
|
$(RM) $(STATIC) $(DYNAMIC) $(PROGS) macaddr
|
|
|
|
uninstall::
|
|
for f in $(PROGS); do \
|
|
$(RM) $(INSTALL_DIR)/$$f; \
|
|
done
|
|
$(RM) $(INSTALL_LIB)/$(STATIC)
|
|
$(RM) $(INSTALL_LIB)/$(DYNAMIC)
|
|
$(RM) $(INSTALL_LIB)/$(DYNAMIC_LINK)
|
|
$(RM) $(INSTALL_INC)/iwlib.h
|
|
for f in $(MANPAGES8); do \
|
|
$(RM) $(INSTALL_MAN)/man8/$$f; \
|
|
for f in $(MANPAGES7); do \
|
|
$(RM) $(INSTALL_MAN)/man7/$$f; \
|
|
done
|
|
|
|
romfs:
|
|
$(ROMFSINST) iwpriv /bin/iwpriv
|
|
|
|
depend::
|
|
makedepend -s "# DO NOT DELETE" -- $(INCLUDES) -- $(SRCS)
|
|
# DO NOT DELETE
|