|
|
1.1 root 1: # Master makefile
2: # Use of GCC for compilations of DDI/DKI drivers caused by this makefile is
3: # strongly recommended. Comment out the following lines if you cannot use gcc
4: # for some reason. The default compiler is fine for the Space.c and conf.c
5: # files, though.
6:
7: CC=cc
8: #CC=gcc
9: #CFLAGS=-O2 -Wall -ansi -pedantic
10: CONFDIR=.
11:
12: all: drivers $(CONFDIR)/drvbld.mak configure
13:
14: # Update binaries of drivers and the 'devadm' program
15:
16: drivers:
17: j=$$CWD; for i in */src/[Mm]akefile; do \
18: if [ -f $$i ]; then \
19: DEVDIR=`expr $$i : '\(.*\)/.*'`; \
20: echo "$$DEVDIR"; \
21: cd $$DEVDIR; \
22: make CC="$(CC)" CFLAGS="$(CFLAGS)" || exit 1; \
23: cd $$j; \
24: fi; \
25: done
26:
27: # As a detail, we check to see that a device for major number 4 is installed,
28: # otherwise the kernel will be built without a console and will fail to be
29: # very useful.
30:
31: $(CONFDIR)/drvbld.mak: $(CONFDIR)/mdevice $(CONFDIR)/sdevice \
32: $(CONFDIR)/template.mak
33: bin/idcheck -i $(CONFDIR) -B -l 4; if [ $$? -gt 0 -a $$? -lt 100 ]; \
34: then exit 0; \
35: else echo "No console device configured"; exit 1;\
36: fi
37: CONFPATH=$$CWD bin/devadm -d -I $(CONFDIR)
38:
39: configure:
40: export CONFPATH=$$CWD; cd $(CONFDIR); \
41: make K386LIB=$(K386LIB) TARGET=$(TARGET) -f drvbld.mak
42:
43: clean: newconf
44: j=$$CWD; for i in */src/[Mm]akefile; do \
45: cd `expr $$i : '\(.*\)/.*'`; \
46: make clean || exit 1; \
47: cd $$j; \
48: done
49:
50: newconf:
51: rm -f $(CONFDIR)/drvbld.mak $(CONFDIR)/conf.c $(CONFDIR)/conf.h \
52: $(CONFDIR)/obj/*
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.