6 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
7 else if [ -x /bin/bash ]; then echo /bin/bash; \
9 TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
11 HPATH = $(TOPDIR)/include
15 HOSTCFLAGS =-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
18 # Include the make variables (CC, etc...)
21 #AS = $(CROSS_COMPILE)as
22 #LD = $(CROSS_COMPILE)ld
23 #CC = $(CROSS_COMPILE)gcc
25 AR = $(CROSS_COMPILE)ar
26 NM = $(CROSS_COMPILE)nm
27 STRIP = $(CROSS_COMPILE)strip
28 OBJCOPY = $(CROSS_COMPILE)objcopy
29 OBJDUMP = $(CROSS_COMPILE)objdump
30 MAKEFILES = $(TOPDIR)/.config
31 GENKSYMS = /sbin/genksyms
35 export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
36 CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
37 CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL
39 MODLIB := $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
44 CFLAGS := -I $(TOPDIR)/include $(CFLAGS)
46 CFLAGS += -nostdinc -I $(shell $(CC) -print-search-dirs|grep ^install:|sed 's/^install: //')include
48 PROJECTRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
50 -include $(LINUXDIR)/.config
52 ifeq (.config,$(wildcard .config))
54 ifeq (.depend,$(wildcard .depend))
65 env -i PATH=$(PATH) $(CONFIG_SHELL) ./configure --old
67 #configure is called through env -i to prevent loading of variables from stale LINUXDIR
69 env -i PATH=$(PATH) $(CONFIG_SHELL) ./configure --linuxdir $(LINUXDIR)
71 modules_install: $(patsubst %, _modinst_%, $(SUBDIRS))
72 ifeq ($(INSTALL_MOD_PATH),)
73 ifeq ($(KERNELRELEASE),$(shell uname -r))
79 $(MAKE) -C $(patsubst _modinst_%, %, $@) modules_install
82 ifeq ($(CONFIG_MODVERSIONS),y)
83 MODFLAGS += -DMODVERSIONS -include $(LINUXDIR)/include/linux/modversions.h
87 modules: $(patsubst %, _mod_%, $(SUBDIRS))
89 $(patsubst %, _mod_%, $(SUBDIRS)) : dummy
90 $(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS)" MAKING_MODULES=1 modules
92 include/version.h: Makefile
93 @echo \#define $(PROJECT)_RELEASE \"$(PROJECTRELEASE)\" >.ver
94 @echo \#define $(PROJECT)_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver
95 @echo '#define $(PROJECT)_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' >>.ver
100 dep-files: scripts/mkdep include/version.h new-genksyms
101 # scripts/mkdep `find $(FINDHPATH) -follow -name \*.h ! -name modversions.h -print` > .hdepend
102 # let this be made through the fastdep rule in Rules.make
103 $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)"
109 rm -f core `find . -name '*.[oas]'`
110 rm -f core `find . -name '.*.flags' -print`
113 rm -f .depend `find . -name .depend -print`
115 rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
116 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
117 -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -print` TAGS
118 rm -f `find comedi -name Makefile -print`
120 rm -f .config .config.old
121 rm -f include/config.h include/version.h
125 include $(TOPDIR)/Rules.make
131 # This generates dependencies for the .h files.
134 scripts/mkdep: scripts/mkdep.c
135 $(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c
137 scripts/split-include: scripts/split-include.c
138 $(HOSTCC) $(HOSTCFLAGS) -o scripts/split-include scripts/split-include.c