--- fmio-2.0.8/src/Makefile.dyn 2006-09-06 14:23:31.000000000 +0300 +++ fmio-2.0.8/src/Makefile 2006-09-06 14:37:51.000000000 +0300 @@ -7,6 +7,7 @@ # CC?=cc CFLAGS?=-O2 -Wall +LDFLAGS?= # don't use mixer stuff CFLAGS+= -DNOMIXER @@ -8,7 +9,7 @@ CFLAGS+= -I$(INCRADIODIR) MANPAGE= fmio.1 CATPAGE= fmio.0 -REMOVABLE= $(FMIOOBJ) $(FMIO) $(OBJS) $(DRVS) libradio.a *core +REMOVABLE= $(FMIOOBJ) $(FMIO) $(OBJS) $(DRVS) libradio.so *core PREFIX?= $(DESTDIR)$(prefix) LIBDIR?= $(DESTDIR)$(libdir) @@ -42,7 +43,7 @@ MANDIR?= $(DESTDIR)$(datadir)/man/man1 BINMODE?= 755 MANMODE?= 644 -LIBMODE?= 644 +LIBMODE?= 755 HDRMODE?= 644 INSTALL_PROGRAM_DIR?= install -d @@ -55,9 +56,9 @@ INSTALL_HDR_FILE?= install -c -m $(HDRMO all: lib fmio -lib: libradio.a +lib: libradio.so -fmio: libradio.a $(FMIOOBJ) +fmio: libradio.so $(FMIOOBJ) $(CC) -o $@ $(FMIOOBJ) -L$(LIBRADIODIR) -lradio man: $(CATPAGE) @@ -75,11 +76,11 @@ deinstall: install_lib: lib $(INSTALL_LIB_DIR) $(LIBDIR) $(INSTALL_LIB_DIR) $(INCDIR) - $(INSTALL_LIB_FILE) libradio.a $(LIBDIR)/libradio.a + $(INSTALL_LIB_FILE) libradio.so $(LIBDIR)/libradio.so $(INSTALL_HDR_FILE) $(HDRS) $(INCDIR) deinstall_lib: - rm -f $(LIBDIR)/libradio.a + rm -f $(LIBDIR)/libradio.so @cd $(INCDIR) && rm -f $(HDRS) clean: @@ -88,10 +89,9 @@ clean: distclean: rm -f $(REMOVABLE) $(CATPAGE) -libradio.a: $(ALLHDRS) $(OBJS) $(DRVS) +libradio.so: $(ALLHDRS) $(OBJS) $(DRVS) rm -f $@ - ar cru $@ $(OBJS) $(DRVS) - ranlib $@ + $(CC) -o $@ -shared $(CFLAGS) $(LDFLAGS) $(OBJS) $(DRVS) fmio.0: $(MANPAGE) @echo "groff -Tascii -mandoc $(MANPAGE) > $@" --- fmio-2.0.8/src/radio.c.dyn 2003-05-13 18:08:44.000000000 +0300 +++ fmio-2.0.8/src/radio.c 2006-09-06 14:23:31.000000000 +0300 @@ -80,7 +80,7 @@ EXPORT_FUNC export_db[] = { struct tuner_drv_t **drv_db; -extern char *pn; +char *pn = NULL; static int driver = ERADIO_INVL; static int variant = ERADIO_INVL; static int complain = 1; --- fmio-2.0.8/src/radio.h.dyn 2003-05-13 18:08:44.000000000 +0300 +++ fmio-2.0.8/src/radio.h 2006-09-06 14:23:31.000000000 +0300 @@ -39,6 +39,8 @@ #define MIN_FM_FREQ 8750 #define MAX_FM_FREQ 10800 +extern char *pn; + void radio_init(void); /* Initialize drivers database */ int radio_cleanup(void); --- fmio-2.0.8/src/fmio.c.dyn 2003-05-13 18:08:44.000000000 +0300 +++ fmio-2.0.8/src/fmio.c 2006-09-06 14:23:31.000000000 +0300 @@ -59,8 +59,6 @@ typedef uint32_t u_int32_t; #define MONO 0x0008 #define INFO 0x0010 -char *pn = NULL; - void die(int); void usage(void); void invalid_driver_error(char *); --- fmio-2.0.8/utils/Makefile.dyn 2006-09-06 14:23:31.000000000 +0300 +++ fmio-2.0.8/utils/Makefile 2006-09-06 14:23:31.000000000 +0300 @@ -5,6 +5,7 @@ # CC?=cc CFLAGS?=-O2 -Wall +LDFLAGS?= # bktrctl compile flags #CFLAGS+= -DOPEN_DEVTUNER_RDWR=1 @@ -15,6 +16,7 @@ CURDIR!= pwd LIBRADIO= $(CURDIR)/../src CFLAGS+=-I$(LIBRADIO) +LDFLAGS+=-L$(LIBRADIO) -lradio PREFIX?=/usr/local