makefile.qnx 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. #
  2. # For conditions of distribution and use, see copyright notice in libmng.h
  3. #
  4. # makefile for libmng - THE MNG library
  5. # this makefile is suitable for QNX Neutrino
  6. # Configuration options are now in libmng_conf.h
  7. # The architecture of your target
  8. # one of arm, mips, ppc, sh, x86
  9. ARCH = mips
  10. # The name of the library
  11. LIBNAME = libmng
  12. ARNAME = $(LIBNAME).a
  13. SONAME = $(LIBNAME).so
  14. # current version numbers
  15. MNGMAJ = 1
  16. MNGMIN = 0.9
  17. MNGVER = $(MNGMAJ).$(MNGMIN)
  18. # The artefact output folder
  19. OBJDIR = bin
  20. # Location of jpeg header files
  21. JPEG_INC = $(QNX_TARGET)/usr/include/jpeg
  22. # Location of zlib header files
  23. ZLIB_INC = $(QNX_TARGET)/usr/include
  24. # Location of lcms header files
  25. # (switch on MNG_FULL_CMS in libmng_conf.h if you want to use this)
  26. LCMS_INC = $(QNX_TARGET)/usr/include/lcms
  27. # default build defines
  28. DEF =
  29. DEF_SO = -DMNG_BUILD_SO
  30. # compiler options:
  31. CFLAGS = -O2 -funroll-loops
  32. # include paths
  33. INC = -I$(ZLIB_INC) -I$(JPEG_INC)
  34. # The name of your C compiler:
  35. CC = nto$(ARCH)-gcc
  36. # source files
  37. SRC= \
  38. libmng_callback_xs.c \
  39. libmng_chunk_io.c \
  40. libmng_chunk_descr.c \
  41. libmng_chunk_prc.c \
  42. libmng_chunk_xs.c \
  43. libmng_cms.c \
  44. libmng_display.c \
  45. libmng_dither.c \
  46. libmng_error.c \
  47. libmng_filter.c \
  48. libmng_hlapi.c \
  49. libmng_jpeg.c \
  50. libmng_object_prc.c \
  51. libmng_pixels.c \
  52. libmng_prop_xs.c \
  53. libmng_read.c \
  54. libmng_trace.c \
  55. libmng_write.c \
  56. libmng_zlib.c
  57. # object files
  58. OBJ=$(addprefix $(OBJDIR)/$(ARCH)/, $(SRC:%.c=%.o))
  59. # object files for shared object
  60. OBJ_SO=$(addprefix $(OBJDIR)/$(ARCH)/, $(SRC:%.c=%.pic.o))
  61. # type dependancies
  62. $(OBJDIR)/$(ARCH)/%.o: %.c
  63. $(CC) $(CFLAGS) $(INC) $(DEF) -o $@ -c $<
  64. $(OBJDIR)/$(ARCH)/%.pic.o: %.c
  65. $(CC) $(CFLAGS) $(INC) $(DEF_SO) -fPIC -o $@ -c $<
  66. all: init $(ARNAME) $(SONAME)
  67. init:
  68. if [ ! -d $(OBJDIR)/$(ARCH) ]; then mkdir -p $(OBJDIR)/$(ARCH); fi
  69. $(ARNAME): $(OBJ)
  70. ar r $(OBJDIR)/$(ARCH)/$(ARNAME) $(OBJ)
  71. $(SONAME): $(SONAME).$(MNGMAJ)
  72. ln -sf $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGMAJ) $(OBJDIR)/$(ARCH)/$(SONAME)
  73. $(SONAME).$(MNGMAJ): $(SONAME).$(MNGVER)
  74. ln -sf $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGVER) $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGMAJ)
  75. $(SONAME).$(MNGVER): $(OBJ_SO)
  76. $(CC) -shared -Wl,-soname,$(SONAME).$(MNGMAJ) -o $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGVER) $(OBJ_SO) \
  77. -lz -lm -ljpeg
  78. # -lz -lm -ljpeg -llcms
  79. clean:
  80. rm -f $(OBJ) $(OBJ_SO)
  81. rm -f $(OBJDIR)/$(ARCH)/$(ARNAME) $(OBJDIR)/$(ARCH)/$(SONAME)*
  82. # DO NOT DELETE THIS LINE -- make depend depends on it.
  83. libmng_hlapi.o libmng_hlapi.pic.o: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
  84. libmng_data.h libmng_objects.h libmng_object_prc.h \
  85. libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
  86. libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
  87. libmng_callback_xs.o libmng_callback_xs.pic.o: libmng_callback_xs.c libmng.h \
  88. libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
  89. libmng_prop_xs.o libmng_prop_xs.pic.o: libmng_prop_xs.c libmng.h libmng_conf.h \
  90. libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
  91. libmng_chunk_xs.o libmng_chunk_xs.pic.o: libmng_chunk_xs.c libmng.h libmng_conf.h \
  92. libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
  93. libmng_error.h libmng_trace.h
  94. libmng_read.o libmng_read.pic.o: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
  95. libmng_data.h libmng_objects.h libmng_object_prc.h \
  96. libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
  97. libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
  98. libmng_write.o libmng_write.pic.o: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
  99. libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
  100. libmng_display.o libmng_display.pic.o: libmng_display.c libmng.h libmng_conf.h \
  101. libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
  102. libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
  103. libmng_display.h
  104. libmng_object_prc.o libmng_object_prc.pic.o: libmng_object_prc.c libmng.h libmng_conf.h \
  105. libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
  106. libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
  107. libmng_chunk_descr.o libmng_chunk_descr.pic.o: libmng_chunk_descr.c libmng.h libmng_conf.h \
  108. libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h libmng_memory.h \
  109. libmng_chunk_prc.h libmng_error.h libmng_trace.h
  110. libmng_chunk_prc.o libmng_chunk_prc.pic.o: libmng_chunk_prc.c libmng.h libmng_conf.h \
  111. libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
  112. libmng_error.h libmng_trace.h
  113. libmng_chunk_io.o libmng_chunk_io.pic.o: libmng_chunk_io.c libmng.h libmng_conf.h \
  114. libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
  115. libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
  116. libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
  117. libmng_error.o libmng_error.pic.o: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
  118. libmng_data.h libmng_error.h libmng_trace.h
  119. libmng_trace.o libmng_trace.pic.o: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
  120. libmng_data.h libmng_error.h libmng_trace.h
  121. libmng_pixels.o libmng_pixels.pic.o: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
  122. libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
  123. libmng_cms.h libmng_filter.h libmng_pixels.h
  124. libmng_filter.o libmng_filter.pic.o: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
  125. libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
  126. libmng_dither.o libmng_dither.pic.o: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
  127. libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
  128. libmng_zlib.o libmng_zlib.pic.o: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
  129. libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
  130. libmng_filter.h libmng_zlib.h
  131. libmng_jpeg.o libmng_jpeg.pic.o: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
  132. libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
  133. libmng_cms.o libmng_cms.pic.o: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
  134. libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h