diff --git a/module.mk b/module.mk index f9881a44..b2be0cd2 100644 --- a/module.mk +++ b/module.mk @@ -28,13 +28,24 @@ DRV_ONLY ?= 0 # Flags +ifeq ($(ARCHI),Darwin) +# macOS ships no cups.pc, and the raster API lives in libcups itself. +# jbigkit is searched in Homebrew (Apple Silicon, Intel) and MacPorts. +# Set ARCHFLAGS="-arch arm64 -arch x86_64" for a universal binary. +JBIGDIR ?= $(firstword $(wildcard /opt/homebrew/opt/jbigkit /usr/local/opt/jbigkit /opt/local)) +CXXFLAGS += $(ARCHFLAGS) `cups-config --cflags` -Iinclude -Wall -I$(JBIGDIR)/include +LDFLAGS += $(ARCHFLAGS) -L$(JBIGDIR)/lib +CUPSLIBS := `cups-config --libs` +else CXXFLAGS += `pkg-config --cflags cups` -Iinclude -Wall -I/opt/local/include +CUPSLIBS := `pkg-config --libs cups` -lcupsimage +endif DEBUG_CXXFLAGS += -DDEBUG -DDUMP_CACHE OPTIM_CXXFLAGS += -g rastertoqpdl_LDFLAGS := $(LDFLAGS) -L/opt/local/lib -rastertoqpdl_LIBS := `pkg-config --libs cups` -lcupsimage +rastertoqpdl_LIBS := $(CUPSLIBS) pstoqpdl_LDFLAGS := $(LDFLAGS) -pstoqpdl_LIBS := `pkg-config --libs cups` -lcupsimage +pstoqpdl_LIBS := $(CUPSLIBS) # Update compilation flags with defined options @@ -56,16 +67,23 @@ endif # Get some information +ifeq ($(ARCHI),Darwin) +CUPSFILTER := `cups-config --serverbin`/filter +CUPSPPD ?= `cups-config --datadir`/model +CUPSDRV ?= `cups-config --datadir`/drv +CUPSPROFILE := `cups-config --datadir`/profiles +else CUPSFILTER := `pkg-config --variable=cups_serverbin cups`/filter CUPSPPD ?= `pkg-config --variable=cups_datadir cups`/model CUPSDRV ?= `pkg-config --variable=cups_datadir cups`/drv +CUPSPROFILE := `pkg-config --variable=cups_datadir cups`/profiles +endif ifeq ($(ARCHI),Darwin) PSTORASTER := pstocupsraster else PSTORASTER := pstoraster endif GSTORASTER := gstoraster -CUPSPROFILE := `pkg-config --variable=cups_datadir cups`/profiles export CUPSFILTER CUPSPPD CUPSDRV