# config srcdir = . VPATH = $(srcdir) -include Make.config include $(srcdir)/mk/Variables.mk resdir = $(DESTDIR)$(RESDIR) # fixup flags CFLAGS += -DVERSION='"$(VERSION)"' -DUSE_X11 LDLIBS += -lm # for X11 + Motif CFLAGS += -I$(X11BASE)/include LDFLAGS += -L$(X11BASE)/$(LIB) LDLIBS += -lXm -lXpm -lXt -lXext -lX11 # RegEdit.c is good old K&R ... RegEdit.o : CFLAGS += -Wno-missing-prototypes -Wno-strict-prototypes # build TARGETS := ida exiftran OBJS_IDA := \ ida.o man.o hex.o x11.o viewer.o dither.o icons.o \ parseconfig.o idaconfig.o fileops.o \ RegEdit.o selections.o xdnd.o jpeg/transupp.o \ filebutton.o filelist.o browser.o jpegtools.o \ op.o filter.o lut.o color.o loader.o \ ppm.o xwd.o ps.o xpm.o bmp.o OBJS_EXIFTRAN := \ exiftran.o jpegtools.o jpeg/transupp.o # default target all: build ################################################################# # poor man's autoconf ;-) include $(srcdir)/mk/Autoconf.mk define make-config LIB := $(LIB) RESDIR := $(call ac_resdir) HAVE_ENDIAN_H := $(call ac_header,endian.h) HAVE_GLIBC := $(call ac_func,fopencookie) HAVE_LIBPCD := $(call ac_lib,pcd_open,pcd) HAVE_LIBJPEG := $(call ac_lib,jpeg_start_compress,jpeg) HAVE_LIBUNGIF := $(call ac_lib,DGifOpenFileName,ungif) HAVE_LIBPNG := $(call ac_lib,png_read_info,png,-lz) HAVE_LIBTIFF := $(call ac_lib,TIFFOpen,tiff) #HAVE_LIBMAGICK := $(call ac_binary,Magick-config) HAVE_LIBSANE := $(call ac_lib,sane_init,sane) HAVE_LIBEXIF := $(call ac_lib,exif_data_new_from_file,exif,-lm) HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl) endef # transparent http/ftp access using curl depends on fopencookie (glibc) ifneq ($(HAVE_GLIBC),yes) HAVE_LIBCURL := no endif ######################################################################## # conditional stuff includes = ENDIAN_H libraries = PCD JPEG UNGIF PNG TIFF MAGICK SANE EXIF CURL MAGICK_CFLAGS = $(shell Magick-config --cflags) MAGICK_LDFLAGS = $(shell Magick-config --ldflags) PCD_LDLIBS = -lpcd JPEG_LDLIBS = -ljpeg UNGIF_LDLIBS = -lungif PNG_LDLIBS = -lpng -lz TIFF_LDLIBS = -ltiff MAGICK_LDLIBS = $(shell Magick-config --libs) SANE_LDLIBS = -lsane EXIF_LDLIBS = -lexif -lm CURL_LDLIBS = -lcurl PCD_OBJS = pcd.o JPEG_OBJS = jpeg.o UNGIF_OBJS = gif.o PNG_OBJS = png.o TIFF_OBJS = tiff.o MAGICK_OBJS = magick.o SANE_OBJS = sane.o CURL_OBJS = curl.o # update various variables depending on HAVE_* inc_cflags := $(call ac_inc_cflags,$(includes)) lib_cflags := $(call ac_lib_cflags,$(libraries)) lib_cflags += $(call ac_lib_mkvar,$(libraries),CFLAGS) CFLAGS += $(inc_cflags) $(lib_cflags) LDFLAGS += $(call ac_lib_mkvar,$(libraries),LDFLAGS) OBJS_IDA += $(call ac_lib_mkvar,$(libraries),OBJS) OBJS_EXIFTRAN += $(call ac_lib_mkvar,CURL,OBJS) ida : LDLIBS += $(call ac_lib_mkvar,$(libraries),LDLIBS) exiftran : LDLIBS += $(call ac_lib_mkvar,JPEG EXIF CURL,LDLIBS) # catch fopen calls for transparent ftp/http access ifeq ($(HAVE_LIBCURL),yes) CFLAGS += -D_GNU_SOURCE LDFLAGS += -Wl,--wrap=fopen endif ######################################################################## # rules .PHONY: build install clean distclean realclean build: $(TARGETS) ida: $(OBJS_IDA) exiftran: $(OBJS_EXIFTRAN) logo.h: logo.jpg hexdump -v -e '1/1 "0x%02x,"' < $< > $@ echo >> $@ # make gcc 3.x happy Ida.ad.h: Ida.ad $(srcdir)/fallback.pl perl $(srcdir)/fallback.pl < $< > $@ install: build $(INSTALL_DIR) $(bindir) $(INSTALL_BINARY) ida $(bindir) $(INSTALL_DIR) $(mandir)/man1 $(INSTALL_DATA) $(srcdir)/ida.man $(mandir)/man1/ida.1 $(INSTALL_DIR) $(resdir)/app-defaults $(INSTALL_DATA) $(srcdir)/Ida.ad $(resdir)/app-defaults/Ida clean: -rm -f *.o jpeg/*.o $(depfiles) core core.* realclean distclean: clean -rm -f Make.config -rm -f $(TARGETS) *~ xpm/*~ *.bak Ida.ad.h logo.h ida.o: Ida.ad.h logo.h include $(srcdir)/mk/Compile.mk -include $(depfiles) ######################################################################## # maintainer stuff include $(srcdir)/mk/Maintainer.mk sync:: cp $(srcdir)/../xawtv-4*/common/parseconfig.[ch] $(srcdir)