# These can be overridden if needed # DESTDIR is completely respected CC := gcc AR := ar CFLAGS := -Wall $(CFLAGS) XLDFLAGS := $(LDFLAGS) LDFLAGS := -L. -lossp $(LDFLAGS) prefix := /usr/local DESTDIR := UDEVDIR := /etc/udev/rules.d ifeq "$(origin OSSPD_CFLAGS)" "undefined" OSSPD_CFLAGS := $(shell pkg-config --cflags fuse) endif ifeq "$(origin OSSPD_LDFLAGS)" "undefined" OSSPD_LDFLAGS := $(shell pkg-config --libs fuse) endif ifeq "$(origin OSSP_PADSP_CFLAGS)" "undefined" OSSP_PADSP_CFLAGS := $(shell pkg-config --cflags libpulse) endif ifeq "$(origin OSSP_PADSP_LDFLAGS)" "undefined" OSSP_PADSP_LDFLAGS := $(shell pkg-config --libs libpulse) endif ifeq "$(origin OSSP_ALSAP_CFLAGS)" "undefined" OSSP_ALSAP_CFLAGS := $(shell pkg-config --libs alsa) endif ifeq "$(origin OSSP_ALSAP_LDFLAGS)" "undefined" OSSP_ALSAP_LDFLAGS := $(shell pkg-config --libs alsa) endif headers := ossp.h ossp-util.h ossp-slave.h all: osspd ossp-padsp ossp-alsap install: mkdir -p $(DESTDIR)$(prefix)/sbin install -m755 osspd ossp-padsp ossp-alsap $(DESTDIR)$(prefix)/sbin mkdir -p $(DESTDIR)$(UDEVDIR) install -m644 98-osscuse.rules $(DESTDIR)$(UDEVDIR) libossp.a: ossp.c ossp.h ossp-util.c ossp-util.h ossp-slave.c ossp-slave.h $(CC) $(CFLAGS) -c -o ossp.o ossp.c $(CC) $(CFLAGS) -c -o ossp-util.o ossp-util.c $(CC) $(CFLAGS) -c -o ossp-slave.o ossp-slave.c $(AR) rc $@ ossp.o ossp-util.o ossp-slave.o osspd: osspd.c libossp.a $(headers) $(CC) $(CFLAGS) $(OSSPD_CFLAGS) -o $@ $< $(OSSPD_LDFLAGS) $(LDFLAGS) ossp-padsp: ossp-padsp.c libossp.a $(headers) $(CC) $(CFLAGS) $(OSSP_PADSP_CFLAGS) -o $@ $< $(OSSP_PADSP_LDFLAGS) $(LDFLAGS) ossp-alsap: ossp-alsap.c libossp.a $(headers) $(CC) $(CFLAGS) $(OSSP_ALSAP_CFLAGS) -o $@ $< $(OSSP_ALSAP_LDFLAGS) $(LDFLAGS) osstest: osstest.c $(CC) $(CFLAGS) -o $@ $< $(XLDFLAGS) test: osstest @./osstest clean: rm -f *.o *.a osspd ossp-padsp ossp-alsap osstest