Makefile.mingw 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # Linux makefile for libzint
  2. #
  3. # make compiles with QR Code support
  4. # make install copies to /usr/lib
  5. # make uninstall removes library
  6. # make clean cleans up a previous compilation and any object or editor files
  7. #
  8. ZINT_VERSION:=-DZINT_VERSION=\"2.13.0.9\"
  9. CC:= gcc
  10. AR:= ar rc
  11. RANLIB:= ranlib
  12. INCLUDE:= -I/mingw/include
  13. CFLAGS:= -D_WIN32 -O2 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -Wall
  14. prefix := /mingw
  15. includedir := $(prefix)/include
  16. libdir := $(prefix)/lib
  17. bindir := $(prefix)/bin
  18. DESTDIR :=
  19. APP:=zint
  20. DLL:=$(APP).dll
  21. STATLIB:=lib$(APP).a
  22. 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
  23. ONEDIM_OBJ:= code.o code128.o 2of5.o upcean.o telepen.o medical.o plessey.o rss.o
  24. POSTAL_OBJ:= postal.o auspost.o imail.o mailmark.o
  25. 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
  26. OUTPUT_OBJ:= vector.o ps.o svg.o emf.o bmp.o pcx.o gif.o png.o tif.o raster.o output.o
  27. LIB_OBJ:= $(COMMON_OBJ) $(ONEDIM_OBJ) $(TWODIM_OBJ) $(POSTAL_OBJ) $(OUTPUT_OBJ)
  28. DLL_OBJ:= $(LIB_OBJ:.o=.lo) dllversion.lo
  29. ifeq ($(ZINT_NO_PNG),true)
  30. DEFINES+= -DZINT_NO_PNG
  31. else
  32. DEFINES_DLL+= -DPNG_DLL -DZLIB_DLL
  33. LIBS+= -lpng -lz
  34. endif
  35. LIBS+= -lm
  36. all: $(DLL) $(STATLIB)
  37. %.lo:%.c
  38. @echo Compiling $< ...
  39. $(CC) $(CFLAGS) $(DEFINES) $(DEFINES_DLL) -DDLL_EXPORT -DPIC $(ZINT_VERSION) -c -o $@ $<
  40. %.o:%.c
  41. @echo Compiling $< ...
  42. $(CC) $(CFLAGS) $(DEFINES) $(ZINT_VERSION) -c -o $@ $<
  43. $(DLL):$(DLL_OBJ)
  44. @echo Linking $@...
  45. o2dll.sh -o $@ $(DLL_OBJ) $(LIBS)
  46. $(STATLIB): $(LIB_OBJ)
  47. @echo Linking $@...
  48. $(AR) $@ $(LIB_OBJ)
  49. -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
  50. .PHONY: install uninstall clean dist
  51. install:
  52. cp -fp libzint.* $(DESTDIR)$(libdir)
  53. cp -fp zint.h $(DESTDIR)$(includedir)/zint.h
  54. cp -fp zint.dll $(DESTDIR)$(bindir)
  55. uninstall:
  56. rm $(DESTDIR)$(libdir)/libzint.*
  57. rm $(DESTDIR)$(includedir)/zint.h
  58. rm $(DESTDIR)$(bindir)/zint.dll
  59. clean:
  60. rm -f *.lib *.dll *.o *.a *~ *.res *.exe *.def *.lo *.bak