Files
openflow/datapath/linux-2.4/Makefile.main.in
T
Ben Pfaff fac543387f Fix "make dist" in datapath/linux-2.4 when --with-l24 not used.
This makes the linux-2.4 Makefile.main.in structure much more
similar to the linux-2.6 Makefile.main.in.
2008-06-04 16:14:23 -07:00

70 lines
1.7 KiB
Makefile

# -*- makefile -*-
builddir = @abs_builddir@
srcdir = @abs_srcdir@
top_srcdir = @abs_top_srcdir@
KSRC = @KSRC24@
VERSION = @VERSION@
AC_CC = @CC@
KARCH = @KARCH@
# File Lists
include $(srcdir)/../Modules.mk
include $(srcdir)/Modules.mk
include @HW_TABLES@
default: $(all_links)
$(foreach m,$(all_modules), \
$(foreach s,$($(m)_sources), \
$(eval $(notdir $(s)): ; ln -s $(srcdir)/../$(s) .)))
distclean: clean
distdir: clean
install:
all: default
check: all
clean:
rm -f *.o *_mod.o .*.o.flags
for d in $(all_links); do if test -h $$d; then rm $$d; fi; done
ifneq (,$(KSRC))
ifneq ($(shell grep -c 'PATCHLEVEL = 4' $(KSRC)/Makefile),1)
$(error Linux kernel source in $(KSRC) not 2.4)
endif
ifeq (/lib/modules/$(shell uname -r)/source, $(KSRC))
KOBJ := /lib/modules/$(shell uname -r)/build
else
KOBJ := $(KSRC)
endif
VERSION_FILE := $(KOBJ)/include/linux/version.h
ifeq (,$(wildcard $(VERSION_FILE)))
$(error Linux kernel source not configured - missing version.h)
endif
CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
ifeq (,$(wildcard $(CONFIG_FILE)))
$(error Linux kernel source not configured - missing autoconf.h)
endif
# Determine the Cross-compile string for the kernel, which should just be the
# c compiler with 'gcc' removed from the end. We're obviously assuming gcc
# here.
CROSS_COMPILE = $(shell echo $(AC_CC) | perl -p -e 's/(.*)gcc.*/$$1/')
# Determine if we want to override the ARCH for the kernel
ifneq (,$(KARCH))
ARCH_OVERRIDE := ARCH=$(KARCH)
else
ARCH_OVERRIDE :=
endif
.PHONY: all distclean distdir clean check
# Invoke the kernel build system
all:
$(MAKE) -C $(KSRC) $(ARCH_OVERRIDE) CROSS_COMPILE=$(CROSS_COMPILE) SUBDIRS=$(PWD) modules
endif # (,$(KSRC))