summaryrefslogtreecommitdiff
path: root/kernel/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/GNUmakefile')
-rw-r--r--kernel/GNUmakefile160
1 files changed, 160 insertions, 0 deletions
diff --git a/kernel/GNUmakefile b/kernel/GNUmakefile
new file mode 100644
index 0000000..3ec8aa6
--- /dev/null
+++ b/kernel/GNUmakefile
@@ -0,0 +1,160 @@
+#
+# Zaptel kernel 2.4 makefile
+#
+# Copyright (C) 2008 Digium, Inc.
+#
+
+CFLAGS+=-DSTANDALONE_ZAPATA
+
+ifeq ($(MAKELEVEL),0)
+PWD:=$(shell pwd)
+endif
+
+KINCLUDES:=$(KSRC)/include
+
+BUILDVER:=linux24
+
+HOTPLUG_FIRMWARE:=no
+
+ifeq ($(HOTPLUG_FIRMWARE),yes)
+ CFLAGS+=-DHOTPLUG_FIRMWARE
+endif
+
+ifeq ($(ARCH),i386)
+ifneq ($(wildcard $(PWD)/hpec/hpec_x86_32.o_shipped),)
+HPEC_PRESENT=yes
+endif
+endif
+
+ifeq ($(ARCH),x86_64)
+ifneq ($(wildcard $(PWD)/hpec/hpec_x86_64.o_shipped),)
+HPEC_PRESENT=yes
+endif
+endif
+
+BUILD_MODULES:=$(BUILD_TOPDIR_MODULES) $(BUILD_SUBDIR_MODULES)
+ALL_MODULES := $(BUILD_TOPDIR_MODULES:%=%.o) \
+ $(join $(BUILD_SUBDIR_MODULES:%=%/), $(BUILD_SUBDIR_MODULES:%=%.o))
+
+OPTFLAG=-O2
+CFLAGS+=-I. $(OPTFLAGS) -g -fPIC -Wall -DBUILDING_TONEZONE #-DTONEZONE_DRIVER
+ifneq (,$(findstring ppc,$(UNAME_M)))
+CFLAGS_PPC:=-fsigned-char
+endif
+ifneq (,$(findstring x86_64,$(UNAME_M)))
+CFLAGS_x86_64:=-m64
+endif
+CFLAGS+=$(CFLAGS_PPC) $(CFLAGS_x86_64)
+KFLAGS=-I$(KINCLUDES) -O6
+KFLAGS+=-DMODULE -D__KERNEL__ -DEXPORT_SYMTAB -I$(KSRC)/drivers/net \
+ -Wall -I. -Wstrict-prototypes -fomit-frame-pointer -I$(KSRC)/drivers/net/wan -I$(KINCLUDES)/net
+ifneq (,$(wildcard $(KINCLUDES)/linux/modversions.h))
+ KFLAGS+=-DMODVERSIONS -include $(KINCLUDES)/linux/modversions.h
+endif
+ifneq (,$(findstring ppc,$(UNAME_M)))
+KFLAGS_PPC:=-msoft-float -fsigned-char
+endif
+KFLAGS+=$(KFLAGS_PPC)
+ ifneq (,$(findstring x86_64,$(UNAME_M)))
+ KFLAGS+=-mcmodel=kernel
+ endif
+
+#
+# Features are now configured in zconfig.h
+#
+
+MODULE_ALIASES=wcfxs wctdm8xxp wct2xxp
+
+KFLAGS+=-DSTANDALONE_ZAPATA
+
+MOD_DIR:=$(DESTDIR)/lib/modules/$(KVERS)/misc
+
+all: modules
+
+ifeq ($(HPEC_PRESENT),yes)
+ifeq ($(ARCH),i386)
+ZAPTEL_HPEC:=hpec/hpec_x86_32.o_shipped
+endif
+
+ifeq ($(ARCH),x86_64)
+ZAPTEL_HPEC:=hpec/hpec_x86_64.o_shipped
+endif
+
+KFLAGS+=-DECHO_CAN_HPEC -I$(PWD)/hpec
+zaptel-base.o: hpec/hpec_zaptel.h hpec/hpec_user.h
+endif
+
+prereq: tor2fw.h radfw.h version.h
+
+tor2fw.h: tormenta2.rbt makefw
+ ./makefw $< tor2fw > $@
+
+radfw.h: pciradio.rbt makefw
+ ./makefw $< radfw > $@
+
+makefw: makefw.c
+ $(HOSTCC) -o $@ $^
+
+
+modules: $(ALL_MODULES)
+
+wct4xxp/wct4xxp.o:
+ $(MAKE) -C wct4xxp KFLAGS="$(KFLAGS) -I.." CFLAGS="$(CFLAGS) -I.."
+
+tor2.o: tor2-hw.h tor2fw.h
+
+zaptel-base.o: digits.h arith.h sec.h sec-2.h kb1ec.h mg2ec.h zconfig.h
+
+wcusb.o: wcusb.h
+
+wctdm.o: wctdm.h
+
+wctdm24xxp/wctdm24xxp.o:
+ $(MAKE) -C wctdm24xxp KFLAGS="$(KFLAGS) -I.." CFLAGS="$(CFLAGS) -I.."
+
+wcte12xp/wcte12xp.o:
+ $(MAKE) -C wcte12xp KFLAGS="$(KFLAGS) -I.." CFLAGS="$(CFLAGS) -I.."
+
+pciradio.o: radfw.h
+
+ztdummy.o: ztdummy.h
+
+zaptel.o: zaptel-base.o $(ZAPTEL_HPEC)
+ $(LD) -r -o $@ $< $(ZAPTEL_HPEC)
+
+$(filter-out zaptel.o,$(BUILD_TOPDIR_MODULES:%=%.o)) zaptel-base.o: %.o: %.c zaptel.h
+ $(CC) $(KFLAGS) -o $@ -c $<
+
+install: all devices install-modules install-programs install-firmware
+ @echo "###################################################"
+ @echo "###"
+ @echo "### Zaptel installed successfully."
+ @echo "### If you have not done so before, install init scripts with:"
+ @echo "###"
+ @echo "### make config"
+ @echo "###"
+ @echo "###################################################"
+
+BASENAMES=$(sort $(shell for x in $(ALL_MODULES); do basename $x; done))
+uninstall-modules:
+
+BASENAMES=$(sort $(shell for mod in $(ALL_MODULES); do basename $$mod; done))
+
+install-modules: $(INSTALL_MODULES) uninstall-modules
+ $(INSTALL) -d $(DESTDIR)$(MOD_DIR)
+ $(INSTALL) -m 644 $(INSTALL_MODULES) $(DESTDIR)$(MOD_DIR)
+ [ `id -u` = 0 ] && /sbin/depmod -a $(KVERS) || :
+
+clean:
+ rm -f makefw tor2fw.h radfw.h
+ rm -f *.o
+ $(MAKE) -C wct4xxp clean
+ rm -rf .tmp_versions
+ rm -f core
+
+distclean: dist-clean
+
+dist-clean: clean
+
+.PHONY: menuselect distclean dist-clean clean all _all install modules config install-modules uninstall-modules
+