Makefile.unix 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Simple unix makefile
  2. default: all
  3. prefix ?= /usr/local
  4. CFLAGS := -Wall -Wextra -Wno-unused-parameter -g -O2
  5. LIB_SRCS := \
  6. jbig2_arith.c jbig2_arith_int.c jbig2_arith_iaid.c \
  7. jbig2_huffman.c jbig2_hufftab.c jbig2_segment.c jbig2_page.c \
  8. jbig2_symbol_dict.c jbig2_text.c jbig2_halftone.c jbig2_generic.c \
  9. jbig2_refinement.c jbig2_mmr.c jbig2_image.c jbig2.c
  10. LIB_OBJS := $(LIB_SRCS:%.c=%.o)
  11. LIB_HDRS := \
  12. jbig2.h jbig2_arith.h jbig2_arith_iaid.h jbig2_arith_int.h \
  13. jbig2_generic.h jbig2_huffman.h jbig2_hufftab.h jbig2_image.h \
  14. jbig2_mmr.h jbig2_priv.h jbig2_symbol_dict.h jbig2_text.h os_types.h
  15. APP_SRCS := jbig2_image_pbm.c jbig2_image_png.c jbig2dec.c sha1.c
  16. APP_OBJS := $(APP_SRCS:%.c=%.o)
  17. APP_HDRS := sha1.h
  18. $(LIB_OBJS): $(LIB_HDRS)
  19. $(APP_OBJS): $(LIB_HDRS) $(APP_HDRS)
  20. libjbig2dec.a: $(LIB_OBJS)
  21. ar cru $@ $^
  22. jbig2dec: $(APP_OBJS) libjbig2dec.a
  23. $(CC) -o $@ $^ -lpng -lz
  24. all: jbig2dec libjbig2dec.a
  25. install: jbig2dec libjbig2dec.a
  26. install -d $(prefix)/bin $(prefix)/lib $(prefix)/include $(prefix)/man/man1
  27. install jbig2dec $(prefix)/bin
  28. install jbig2dec.1 $(prefix)/man/man1
  29. install jbig2.h $(prefix)/include
  30. install libjbig2dec.a $(prefix)/lib
  31. clean:
  32. rm -f *.o jbig2dec libjbig2dec.a