Make the kernel dir overridable.
[v86d.git] / Makefile
blobcca9eebb7193aa0a8357fb1fddd8f413cbc517a6
1 config_opt = $(shell if [ -e config.h -a -n "`egrep '^\#define[[:space:]]+$(1)([[:space:]]+|$$)' config.h 2>/dev/null`" ]; then echo true ; fi)
3 .PHONY: clean install x86emu lrmi
5 INSTALL = install
6 KDIR ?= /lib/modules/$(shell uname -r)/source
8 ifeq ($(call config_opt,CONFIG_KLIBC),true)
9 export CC = klcc
10 endif
12 CFLAGS += -I$(KDIR)/include
14 ifeq ($(call config_opt,CONFIG_X86EMU),true)
15 CFLAGS += -Ilibs/x86emu
16 LDFLAGS += -Llibs/x86emu
17 LDLIBS += -lx86emu
18 V86OBJS = v86_x86emu.o v86_mem.o
19 V86LIB = x86emu
20 else
21 CFLAGS += -Ilibs/lrmi-0.10
22 LDFLAGS += -Llibs/lrmi-0.10 -static
23 LDLIBS += -llrmi
24 V86OBJS = v86_lrmi.o
25 V86LIB = lrmi
26 endif
28 all: $(V86LIB) v86d
30 %.o: %.c v86.h
31 $(CC) $(CFLAGS) -c -o $@ $<
33 v86d: v86.o v86_common.o $(V86OBJS)
34 $(CC) $(LDFLAGS) $+ $(LDLIBS) -o $@
36 testvbe: testvbe.o v86_common.o $(V86OBJS)
37 $(CC) $(LDFLAGS) $+ $(LDLIBS) -o $@
39 x86emu:
40 make -w -C libs/x86emu
42 lrmi:
43 make -e -w -C libs/lrmi-0.10 liblrmi.a
45 clean:
46 rm -rf *.o v86d testvbe
47 $(MAKE) -w -C libs/lrmi-0.10 clean
48 $(MAKE) -w -C libs/x86emu clean
50 distclean: clean
51 rm -rf config.h
53 install:
54 $(INSTALL) -D v86d $(DESTDIR)/sbin/v86d