Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
     5         kx # Modify as you see fit, note this is built into crda,
     5         kx # so if you change it here you will have to change crda.c
     5         kx REG_BIN?=/usr/lib/crda/regulatory.bin
     5         kx REG_GIT?=git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
     5         kx 
     5         kx BUILD_REG_DB_DUMP ?= ./regdbdump
     5         kx DATA_FORMAT ?= le32
     5         kx 
     5         kx PREFIX ?= /usr/
     5         kx MANDIR ?= $(PREFIX)/share/man/
     5         kx INCLUDE_DIR ?= $(PREFIX)/include/reglib/
     5         kx LIBDIR ?= $(PREFIX)/lib
     5         kx 
     5         kx SBINDIR ?= /sbin/
     5         kx 
     5         kx # Use a custom CRDA_UDEV_LEVEL when callling make install to
     5         kx # change your desired level for the udev regulatory.rules
     5         kx CRDA_UDEV_LEVEL?=85
     5         kx UDEV_LEVEL=$(CRDA_UDEV_LEVEL)-
     5         kx # You can customize this if your distributions uses
     5         kx # a different location.
     5         kx UDEV_RULE_DIR?=/lib/udev/rules.d/
     5         kx 
     5         kx # If your distribution requires a custom pubkeys dir
     5         kx # you must update this variable to reflect where the
     5         kx # keys are put when building. For example you can run
     5         kx # with make PUBKEY_DIR=/usr/lib/crda/pubkeys
     5         kx PUBKEY_DIR?=pubkeys
     5         kx RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys
     5         kx 
     5         kx CFLAGS += -O2 -fpic
     5         kx CFLAGS += -std=gnu99 -Wall -Werror -pedantic
     5         kx CFLAGS += -Wall -g
     5         kx LDLIBREG += -lreg
     5         kx LDLIBS += $(LDLIBREG)
     5         kx LDLIBS += -lm
     5         kx LIBREG += libreg.so
     5         kx LDFLAGS += -L ./
     5         kx LIBREG_LDFLAGS += -lm
     5         kx 
     5         kx all: all_noverify verify
     5         kx 
     5         kx all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize
     5         kx 
     5         kx ifeq ($(USE_OPENSSL),1)
     5         kx CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
     5         kx LDCRYPTOLIBS += `pkg-config --libs openssl`
     5         kx 
     5         kx $(LIBREG): | keys-ssl.c
     5         kx 
     5         kx else
     5         kx CFLAGS += -DUSE_GCRYPT
     5         kx LDCRYPTOLIBS += -lgcrypt
     5         kx 
     5         kx $(LIBREG): | keys-gcrypt.c
     5         kx 
     5         kx endif
     5         kx LDLIBS += $(LDCRYPTOLIBS)
     5         kx LIBREG_LDFLAGS += $(LDCRYPTOLIBS)
     5         kx MKDIR ?= mkdir -p
     5         kx INSTALL ?= install
     5         kx 
     5         kx NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y)
     5         kx NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y)
     5         kx NL3FOUND := $(shell pkg-config --atleast-version=3 libnl-3.0 && echo Y)
     5         kx NL32FOUND := $(shell pkg-config --atleast-version=3 libnl-3.2 && echo Y)
     5         kx 
     5         kx ifeq ($(NL32FOUND),Y)
     5         kx CFLAGS += -DCONFIG_LIBNL30
     5         kx NLLIBS += $(shell pkg-config --libs libnl-genl-3.2)
     5         kx NLLIBNAME = libnl-3.2
     5         kx else
     5         kx 	ifeq ($(NL3FOUND),Y)
     5         kx 	CFLAGS += -DCONFIG_LIBNL30
     5         kx 	NLLIBS += $(shell pkg-config --libs libnl-genl-3.0)
     5         kx 	NLLIBNAME = libnl-3.0
     5         kx 	else
     5         kx 		ifeq ($(NL2FOUND),Y)
     5         kx 		CFLAGS += -DCONFIG_LIBNL20
     5         kx 		NLLIBS += -lnl-genl
     5         kx 		NLLIBNAME = libnl-2.0
     5         kx 		else
     5         kx 			ifeq ($(NL1FOUND),Y)
     5         kx 			NLLIBNAME = libnl-1
     5         kx 			endif
     5         kx 		endif
     5         kx 	endif
     5         kx endif
     5         kx 
     5         kx ifeq ($(NLLIBNAME),)
     5         kx $(error Cannot find development files for any supported version of libnl)
     5         kx endif
     5         kx 
     5         kx NLLIBS += `pkg-config --libs $(NLLIBNAME)`
     5         kx CFLAGS += `pkg-config --cflags $(NLLIBNAME)`
     5         kx 
     5         kx ifeq ($(V),1)
     5         kx Q=
     5         kx NQ=@true
     5         kx else
     5         kx Q=@
     5         kx NQ=@echo
     5         kx endif
     5         kx 
     5         kx $(REG_BIN):
     5         kx 	$(NQ) '  EXIST ' $(REG_BIN)
     5         kx 	$(NQ)
     5         kx 	$(NQ) ERROR: The file: $(REG_BIN) is missing. You need this in place in order
     5         kx 	$(NQ) to verify CRDA. You can get it from:
     5         kx 	$(NQ)
     5         kx 	$(NQ) $(REG_GIT)
     5         kx 	$(NQ)
     5         kx 	$(NQ) "Once cloned (no need to build) cp regulatory.bin to $(REG_BIN)"
     5         kx 	$(NQ) "Use \"make noverify\" to disable verification"
     5         kx 	$(NQ)
     5         kx 	$(Q) exit 1
     5         kx 
     5         kx keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
     5         kx 	$(NQ) '  GEN ' $@
     5         kx 	$(NQ) '  Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem)
     5         kx ifneq ($(USE_OPENSSL),1)
     5         kx 	$(Q)$(PYTHON) ./utils/key2pub.py --$* --$(DATA_FORMAT) $(wildcard $(PUBKEY_DIR)/*.pem) $@
     5         kx else
     5         kx 	$(Q)$(PYTHON) ./utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) $@
     5         kx endif
     5         kx 
     5         kx $(LIBREG): regdb.h reglib.h reglib.c
     5         kx 	$(NQ) '  CC  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREG_LDFLAGS)
     5         kx 
     5         kx install-libreg-headers:
     5         kx 	$(NQ) '  INSTALL  libreg-headers'
     5         kx 	$(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR)
     5         kx 	$(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/
     5         kx 
     5         kx install-libreg:
     5         kx 	$(NQ) '  INSTALL  libreg'
     5         kx 	$(Q)mkdir -p $(DESTDIR)/$(LIBDIR)
     5         kx 	$(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/
     5         kx 
     5         kx %.o: %.c regdb.h $(LIBREG)
     5         kx 	$(NQ) '  CC  ' $@
     5         kx 	$(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
     5         kx 
     5         kx crda: crda.o
     5         kx 	$(NQ) '  LD  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(NLLIBS)
     5         kx 
     5         kx regdbdump: regdbdump.o
     5         kx 	$(NQ) '  LD  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
     5         kx 
     5         kx intersect: intersect.o
     5         kx 	$(NQ) '  LD  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
     5         kx 
     5         kx db2rd: db2rd.o
     5         kx 	$(NQ) '  LD  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
     5         kx 
     5         kx optimize: optimize.o
     5         kx 	$(NQ) '  LD  ' $@
     5         kx 	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
     5         kx 
     5         kx verify: $(REG_BIN) regdbdump
     5         kx 	$(NQ) '  CHK  $(REG_BIN)'
     5         kx ifeq ($(BUILD_REG_DB_DUMP),./regdbdump)
     5         kx 	$(Q)\
     5         kx 		LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) \
     5         kx 		./regdbdump $(REG_BIN) >/dev/null
     5         kx else
     5         kx 		$(BUILD_REG_DB_DUMP) $(REG_BIN) >/dev/null
     5         kx endif
     5         kx 
     5         kx %.gz: %
     5         kx 	@$(NQ) ' GZIP' $<
     5         kx 	$(Q)gzip < $< > $@
     5         kx 
     5         kx install: install-libreg install-libreg-headers crda crda.8.gz regdbdump.8.gz
     5         kx 	$(NQ) '  INSTALL  crda'
     5         kx 	$(Q)$(MKDIR) $(DESTDIR)/$(SBINDIR)
     5         kx 	$(Q)$(INSTALL) -m 755 -t $(DESTDIR)/$(SBINDIR) crda
     5         kx 	$(NQ) '  INSTALL  regdbdump'
     5         kx 	$(Q)$(INSTALL) -m 755 -t $(DESTDIR)/$(SBINDIR) regdbdump
     5         kx 	$(NQ) '  INSTALL  $(UDEV_LEVEL)regulatory.rules'
     5         kx 	$(Q)$(MKDIR) $(DESTDIR)/$(UDEV_RULE_DIR)/
     5         kx 	@# This removes the old rule you may have, we were not
     5         kx 	@# putting it in the right place.
     5         kx 	$(Q)rm -f $(DESTDIR)/etc/udev/rules.d/regulatory.rules
     5         kx 	$(Q)sed 's:$$(SBINDIR):$(SBINDIR):' udev/regulatory.rules > udev/regulatory.rules.parsed
     5         kx 	$(Q)ln -sf regulatory.rules.parsed udev/$(UDEV_LEVEL)regulatory.rules
     5         kx 	$(Q)$(INSTALL) -m 644 -t \
     5         kx 		$(DESTDIR)/$(UDEV_RULE_DIR)/ \
     5         kx 		udev/$(UDEV_LEVEL)regulatory.rules
     5         kx 	$(NQ) '  INSTALL  crda.8.gz'
     5         kx 	$(Q)$(MKDIR) $(DESTDIR)$(MANDIR)/man8/
     5         kx 	$(Q)$(INSTALL) -m 644 -t $(DESTDIR)/$(MANDIR)/man8/ crda.8.gz
     5         kx 	$(NQ) '  INSTALL  regdbdump.8.gz'
     5         kx 	$(Q)$(INSTALL) -m 644 -t $(DESTDIR)/$(MANDIR)/man8/ regdbdump.8.gz
     5         kx 
     5         kx clean:
     5         kx 	$(Q)rm -f $(LIBREG) crda regdbdump intersect db2rd optimize \
     5         kx 		*.o *~ *.pyc keys-*.c *.gz \
     5         kx 	udev/$(UDEV_LEVEL)regulatory.rules udev/regulatory.rules.parsed