1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
ifdef DEBUG
DEB_BUILD_OPTIONS := debug:$(DEB_BUILD_OPTIONS)
endif
CFLAGS := -Wall -I.
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
OBJS := loadkeys.o findfile.o ksyms.o getfd.o
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g -DDEBUG=1
OBJS += xmalloc.o
STRIP= /bin/true
else
CFLAGS += -DNDEBUG=1 -fomit-frame-pointer -Os
STRIPTOOL=strip
STRIP= $(STRIPTOOL) --remove-section=.note --remove-section=.comment
endif
LDOPTS= -ldebconfclient -ldebian-installer
ifeq ($(DEB_HOST_ARCH),alpha)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),i386)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),amd64)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),ia64)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),mips)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),mipsel)
CFLAGS += -DAT_KBD -DUSB_KBD -DDEC_KBD
KEYBOARDS := at usb dec
endif
ifeq ($(DEB_HOST_ARCH),sparc)
CFLAGS += -DAT_KBD -DSPARC_KBD -DUSB_KBD
KEYBOARDS := at usb sparc
endif
ifeq ($(DEB_HOST_ARCH),sparc64)
CFLAGS += -DAT_KBD -DSPARC_KBD -DUSB_KBD
KEYBOARDS := at usb sparc
endif
ifeq ($(DEB_HOST_ARCH),powerpc)
CFLAGS += -DUSB_KBD -DAT_KBD -DAMIGA_KBD -DMAC_KBD
KEYBOARDS := at usb amiga mac
endif
ifeq ($(DEB_HOST_ARCH),arm)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),armel)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),armeb)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),m68k)
CFLAGS += -DAMIGA_KBD -DATARI_KBD -DMAC_KBD -DAT_KBD -DSPARC_KBD -D__m68k__
KEYBOARDS := amiga atari mac at sparc
endif
# For the moment, don't include HIL keyboards
ifeq ($(DEB_HOST_ARCH),hppa)
CFLAGS += -DAT_KBD -DUSB_KBD
KEYBOARDS := at usb
endif
ifeq ($(DEB_HOST_ARCH),sh4)
CFLAGS += -DUSB_KBD
KEYBOARDS := usb
endif
TEMPLATES := debian/kbd-chooser.templates-in $(patsubst %, debian/keyboard-%.templates, $(KEYBOARDS))
OBJS += $(patsubst %, %-kbd.o, $(KEYBOARDS))
all: kbd-chooser kbd-mode debian/kbd-chooser.templates
kbd-chooser: ${OBJS} kbd-chooser.c
$(CC) $(CFLAGS) kbd-chooser.c -o $@ $(OBJS) $(LDOPTS)
$(STRIP) $@
kbd-mode: getfd.o kbd-mode.c
$(CC) $(CFLAGS) kbd-mode.c -o $@ getfd.o $(LDOPTS)
$(STRIP) $@
debian/kbd-chooser.templates: $(TEMPLATES)
cat $(TEMPLATES) > $@
# give the new templates file the same mtime as the input file, so
# that po2debconf doesn't decide that it needs to run
# debconf-updatepo
touch -mr debian/kbd-chooser.templates-in $@
loadkeys.o: loadkeys.c analyze.c
clean:
rm -f *~ *.o kbd-mode kbd-chooser analyze.c loadkeys.c demo demo.templates *#
rm -f debian/kbd-chooser.templates
install:
mkdir -p $(DESTDIR)/usr/bin
cp kbd-chooser $(DESTDIR)/usr/bin/kbd-chooser
cp kbd-mode $(DESTDIR)/usr/bin/kbd-mode
.PHONY: demo
demo.templates: debian/kbd-chooser.templates
po2debconf $< > $@
demo: demo.templates kbd-chooser
rm -f demo
ln -s kbd-chooser demo
DEBCONF_DEBUG=developer /usr/share/debconf/frontend ./demo
rm -f demo.templates demo
|