2010-03-01 22:34:35 +00:00
# Linux makefile for libzint
#
# make compiles with QR Code support
# make install copies to /usr/lib
# make uninstall removes library
# make clean cleans up a previous compilation and any object or editor files
#
2023-12-18 10:28:14 +00:00
ZINT_VERSION := -DZINT_VERSION= \" 2.13.0.9\"
2010-03-01 22:34:35 +00:00
CC := gcc
AR := ar rc
RANLIB := ranlib
INCLUDE := -I/mingw/include
CFLAGS := -D_WIN32 -O2 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -Wall
prefix := /mingw
includedir := $( prefix) /include
libdir := $( prefix) /lib
bindir := $( prefix) /bin
DESTDIR :=
APP := zint
DLL := $( APP) .dll
STATLIB := lib$( APP) .a
2023-12-27 19:20:19 +00:00
COMMON_OBJ := common.o library.o large.o reedsol.o gs1.o eci.o filemem.o general_field.o sjis.o gb2312.o gb18030.o
2010-03-01 22:34:35 +00:00
ONEDIM_OBJ := code.o code128.o 2of5.o upcean.o telepen.o medical.o plessey.o rss.o
2020-09-04 16:38:11 +01:00
POSTAL_OBJ := postal.o auspost.o imail.o mailmark.o
TWODIM_OBJ := code16k.o codablock.o dmatrix.o pdf417.o qr.o maxicode.o composite.o aztec.o code49.o code1.o gridmtx.o hanxin.o dotcode.o ultra.o
OUTPUT_OBJ := vector.o ps.o svg.o emf.o bmp.o pcx.o gif.o png.o tif.o raster.o output.o
2010-03-01 22:34:35 +00:00
2020-09-04 16:38:11 +01:00
LIB_OBJ := $( COMMON_OBJ) $( ONEDIM_OBJ) $( TWODIM_OBJ) $( POSTAL_OBJ) $( OUTPUT_OBJ)
2010-03-01 22:34:35 +00:00
DLL_OBJ := $( LIB_OBJ:.o= .lo) dllversion.lo
2022-11-24 14:18:31 +00:00
i f e q ( $( ZINT_NO_PNG ) , t r u e )
DEFINES += -DZINT_NO_PNG
2010-03-01 22:34:35 +00:00
e l s e
DEFINES_DLL += -DPNG_DLL -DZLIB_DLL
LIBS += -lpng -lz
e n d i f
LIBS += -lm
all : $( DLL ) $( STATLIB )
%.lo : %.c
@echo Compiling $< ...
$( CC) $( CFLAGS) $( DEFINES) $( DEFINES_DLL) -DDLL_EXPORT -DPIC $( ZINT_VERSION) -c -o $@ $<
%.o : %.c
@echo Compiling $< ...
$( CC) $( CFLAGS) $( DEFINES) $( ZINT_VERSION) -c -o $@ $<
2021-09-26 23:55:16 +01:00
2010-03-01 22:34:35 +00:00
$(DLL) : $( DLL_OBJ )
@echo Linking $@ ...
o2dll.sh -o $@ $( DLL_OBJ) $( LIBS)
$(STATLIB) : $( LIB_OBJ )
@echo Linking $@ ...
$( AR) $@ $( LIB_OBJ)
-@ ( $( RANLIB) $@ || true ) >/dev/null 2>& 1
.PHONY : install uninstall clean dist
install :
cp -fp libzint.* $( DESTDIR) $( libdir)
cp -fp zint.h $( DESTDIR) $( includedir) /zint.h
cp -fp zint.dll $( DESTDIR) $( bindir)
uninstall :
rm $( DESTDIR) $( libdir) /libzint.*
rm $( DESTDIR) $( includedir) /zint.h
rm $( DESTDIR) $( bindir) /zint.dll
clean :
rm -f *.lib *.dll *.o *.a *~ *.res *.exe *.def *.lo *.bak