Rev 7621 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7621 | Rev 7624 | ||
---|---|---|---|
1 | # GNU Makefile |
1 | # GNU Makefile |
2 | 2 | ||
3 | OUT := build |
3 | OUT := build |
4 | GEN := generated |
4 | GEN := generated |
5 | 5 | ||
6 | # --- Variables, Commands, etc... --- |
6 | # --- Variables, Commands, etc... --- |
7 | 7 | ||
8 | default: all |
8 | default: all |
9 | LDFLAGS = -Tinclude/scripts/menuetos_app_v01.ld -nostdlib -L include/lib |
9 | LDFLAGS = -Tinclude/scripts/menuetos_app_v01.ld -nostdlib -L include/lib |
10 | CFLAGS += -Ifitz -Ipdf -Iscripts -fno-stack-protector -nostdinc -fno-builtin -m32 -I include -fno-pic -w |
10 | CFLAGS += -Ifitz -Ipdf -Iscripts -fno-stack-protector -nostdinc -fno-builtin -m32 -I include -fno-pic -w |
11 | LIBS += -lfreetype2 -lpng -ljbig2dec -ljpeg -lopenjpeg -lz -lm -lc |
11 | LIBS += -lfreetype2 -lpng -ljbig2dec -ljpeg -lopenjpeg -lz -lm -lc |
12 | - | ||
13 | #include Makerules |
- | |
14 | #include Makethird |
- | |
15 | 12 | ||
16 | THIRD_LIBS := $(FREETYPE_LIB) |
- | |
17 | THIRD_LIBS += $(JBIG2DEC_LIB) |
- | |
18 | THIRD_LIBS += $(JPEG_LIB) |
- | |
19 | THIRD_LIBS += $(OPENJPEG_LIB) |
- | |
20 | THIRD_LIBS += $(ZLIB_LIB) |
13 | THIRD_LIBS := $(FREETYPE_LIB) $(JBIG2DEC_LIB) $(JPEG_LIB) $(OPENJPEG_LIB) $(ZLIB_LIB) |
21 | 14 | ||
22 | ifeq "$(verbose)" "" |
15 | ifeq "$(verbose)" "" |
23 | QUIET_AR = @ echo ' ' ' ' AR $@ ; |
16 | QUIET_AR = @ echo ' ' ' ' AR $@ ; |
24 | QUIET_CC = @ echo ' ' ' ' CC $@ ; |
17 | QUIET_CC = @ echo ' ' ' ' CC $@ ; |
25 | QUIET_GEN = @ echo ' ' ' ' GEN $@ ; |
18 | QUIET_GEN = @ echo ' ' ' ' GEN $@ ; |
26 | QUIET_LINK = @ echo ' ' ' ' LINK $@ ; |
19 | QUIET_LINK = @ echo ' ' ' ' LINK $@ ; |
27 | QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ; |
20 | QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ; |
28 | endif |
21 | endif |
29 | 22 | ||
30 | CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< |
23 | CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< |
31 | AR_CMD = $(QUIET_AR) $(AR) cru $@ $^ |
24 | AR_CMD = $(QUIET_AR) $(AR) cru $@ $^ |
32 | LINK_CMD = $(QUIET_LINK) ld $(LDFLAGS) -o $@ include/stub/crt0.o $^ build/snprintf.o $(LIBS) |
25 | LINK_CMD = $(QUIET_LINK) ld $(LDFLAGS) -o $@ include/stub/crt0.o $^ build/snprintf.o $(LIBS) |
33 | MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ |
26 | MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ |
34 | 27 | ||
35 | # --- Rules --- |
28 | # --- Rules --- |
36 | 29 | ||
37 | $(OUT) $(GEN) : |
30 | $(OUT) $(GEN) : |
38 | $(MKDIR_CMD) |
31 | $(MKDIR_CMD) |
39 | 32 | ||
40 | $(OUT)/%.a : |
33 | $(OUT)/%.a : |
41 | $(AR_CMD) |
34 | $(AR_CMD) |
42 | 35 | ||
43 | $(OUT)/% : $(OUT)/%.o |
36 | $(OUT)/% : $(OUT)/%.o |
44 | $(LINK_CMD) |
37 | $(LINK_CMD) |
45 | 38 | ||
46 | $(OUT)/%.o : fitz/%.c fitz/fitz.h | $(OUT) |
39 | $(OUT)/%.o : fitz/%.c fitz/fitz.h | $(OUT) |
47 | $(CC_CMD) |
40 | $(CC_CMD) |
48 | $(OUT)/%.o : draw/%.c fitz/fitz.h | $(OUT) |
41 | $(OUT)/%.o : draw/%.c fitz/fitz.h | $(OUT) |
49 | $(CC_CMD) |
42 | $(CC_CMD) |
50 | $(OUT)/%.o : pdf/%.c fitz/fitz.h pdf/mupdf.h | $(OUT) |
43 | $(OUT)/%.o : pdf/%.c fitz/fitz.h pdf/mupdf.h | $(OUT) |
51 | $(CC_CMD) |
44 | $(CC_CMD) |
52 | $(OUT)/%.o : apps/%.c fitz/fitz.h pdf/mupdf.h | $(OUT) |
45 | $(OUT)/%.o : apps/%.c fitz/fitz.h pdf/mupdf.h | $(OUT) |
53 | $(CC_CMD) |
46 | $(CC_CMD) |
54 | $(OUT)/%.o : scripts/%.c | $(OUT) |
47 | $(OUT)/%.o : scripts/%.c | $(OUT) |
55 | $(CC_CMD) |
48 | $(CC_CMD) |
56 | - | ||
57 | .PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules |
- | |
58 | 49 | ||
59 | # --- Fitz and MuPDF libraries --- |
50 | # --- Fitz and MuPDF libraries --- |
60 | 51 | ||
61 | FITZ_LIB := $(OUT)/libfitz.a |
52 | FITZ_LIB := $(OUT)/libfitz.a |
62 | MUPDF_LIB := $(OUT)/libmupdf.a |
53 | MUPDF_LIB := $(OUT)/libmupdf.a |
63 | 54 | ||
64 | FITZ_SRC := $(notdir $(wildcard fitz/*.c draw/*.c)) |
55 | FITZ_SRC := $(notdir $(wildcard fitz/*.c draw/*.c)) |
65 | MUPDF_SRC := $(notdir $(wildcard pdf/*.c)) |
56 | MUPDF_SRC := $(notdir $(wildcard pdf/*.c)) |
66 | 57 | ||
67 | $(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o)) |
58 | $(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o)) |
68 | $(MUPDF_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o)) |
59 | $(MUPDF_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o)) |
69 | 60 | ||
70 | libs: $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS) |
61 | libs: $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS) |
71 | @ echo MuPDF and underlying libraries built |
- | |
72 | 62 | ||
73 | # --- Generated CMAP and FONT files --- |
63 | # --- Generated CMAP and FONT files --- |
74 | 64 | ||
75 | CMAPDUMP := scripts/cmapdump |
65 | CMAPDUMP := scripts/cmapdump |
76 | # FONTDUMP := scripts/fontdump |
- | |
77 | 66 | ||
78 | CMAP_CNS_SRC := $(wildcard cmaps/cns/*) |
67 | CMAP_CNS_SRC := $(wildcard cmaps/cns/*) |
79 | CMAP_GB_SRC := $(wildcard cmaps/gb/*) |
68 | CMAP_GB_SRC := $(wildcard cmaps/gb/*) |
80 | CMAP_JAPAN_SRC := $(wildcard cmaps/japan/*) |
69 | CMAP_JAPAN_SRC := $(wildcard cmaps/japan/*) |
81 | CMAP_KOREA_SRC := $(wildcard cmaps/korea/*) |
70 | CMAP_KOREA_SRC := $(wildcard cmaps/korea/*) |
82 | FONT_BASE14_SRC := $(wildcard fonts/*.cff) |
71 | FONT_BASE14_SRC := $(wildcard fonts/*.cff) |
83 | FONT_DROID_SRC := fonts/droid/DroidSans.ttf fonts/droid/DroidSansMono.ttf |
72 | FONT_DROID_SRC := fonts/droid/DroidSans.ttf fonts/droid/DroidSansMono.ttf |
84 | FONT_CJK_SRC := fonts/droid/DroidSansFallback.ttf |
73 | FONT_CJK_SRC := fonts/droid/DroidSansFallback.ttf |
85 | 74 | ||
86 | $(GEN)/cmap_cns.h : $(CMAP_CNS_SRC) |
75 | $(GEN)/cmap_cns.h : $(CMAP_CNS_SRC) |
87 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_CNS_SRC) |
76 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_CNS_SRC) |
88 | $(GEN)/cmap_gb.h : $(CMAP_GB_SRC) |
77 | $(GEN)/cmap_gb.h : $(CMAP_GB_SRC) |
89 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_GB_SRC) |
78 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_GB_SRC) |
90 | $(GEN)/cmap_japan.h : $(CMAP_JAPAN_SRC) |
79 | $(GEN)/cmap_japan.h : $(CMAP_JAPAN_SRC) |
91 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_JAPAN_SRC) |
80 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_JAPAN_SRC) |
92 | $(GEN)/cmap_korea.h : $(CMAP_KOREA_SRC) |
81 | $(GEN)/cmap_korea.h : $(CMAP_KOREA_SRC) |
93 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_KOREA_SRC) |
82 | $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_KOREA_SRC) |
94 | 83 | ||
95 | $(GEN)/font_base14.h : $(FONT_BASE14_SRC) |
84 | $(GEN)/font_base14.h : $(FONT_BASE14_SRC) |
96 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_BASE14_SRC) |
85 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_BASE14_SRC) |
97 | $(GEN)/font_droid.h : $(FONT_DROID_SRC) |
86 | $(GEN)/font_droid.h : $(FONT_DROID_SRC) |
98 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_DROID_SRC) |
87 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_DROID_SRC) |
99 | $(GEN)/font_cjk.h : $(FONT_CJK_SRC) |
88 | $(GEN)/font_cjk.h : $(FONT_CJK_SRC) |
100 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_CJK_SRC) |
89 | $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_CJK_SRC) |
101 | 90 | ||
102 | CMAP_HDR := $(addprefix $(GEN)/, cmap_cns.h cmap_gb.h cmap_japan.h cmap_korea.h) |
91 | CMAP_HDR := $(addprefix $(GEN)/, cmap_cns.h cmap_gb.h cmap_japan.h cmap_korea.h) |
103 | FONT_HDR := $(GEN)/font_base14.h $(GEN)/font_droid.h $(GEN)/font_cjk.h |
92 | FONT_HDR := $(GEN)/font_base14.h $(GEN)/font_droid.h $(GEN)/font_cjk.h |
104 | 93 | ||
105 | ifeq "$(CROSSCOMPILE)" "" |
94 | ifeq "$(CROSSCOMPILE)" "" |
106 | $(CMAP_HDR) : $(CMAPDUMP) | $(GEN) |
95 | $(CMAP_HDR) : $(CMAPDUMP) | $(GEN) |
107 | $(FONT_HDR) : $(FONTDUMP) | $(GEN) |
96 | $(FONT_HDR) : $(FONTDUMP) | $(GEN) |
108 | endif |
97 | endif |
109 | 98 | ||
110 | generate: $(CMAP_HDR) $(FONT_HDR) |
99 | generate: $(CMAP_HDR) $(FONT_HDR) |
111 | 100 | ||
112 | $(OUT)/pdf_cmap_table.o : $(CMAP_HDR) |
101 | $(OUT)/pdf_cmap_table.o : $(CMAP_HDR) |
113 | $(OUT)/pdf_fontfile.o : $(FONT_HDR) |
102 | $(OUT)/pdf_fontfile.o : $(FONT_HDR) |
114 | $(OUT)/cmapdump.o : pdf/pdf_cmap.c pdf/pdf_cmap_parse.c |
103 | $(OUT)/cmapdump.o : pdf/pdf_cmap.c pdf/pdf_cmap_parse.c |
115 | 104 | ||
116 | # --- Tools and Apps --- |
105 | # --- Tools and Apps --- |
117 | - | ||
118 | PDF_APPS := $(addprefix $(OUT)/, pdfdraw pdfclean pdfextract pdfinfo pdfshow) |
- | |
119 | - | ||
120 | $(PDF_APPS) : $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS) |
- | |
121 | 106 | ||
122 | MUPDF := $(OUT)/mupdf |
107 | MUPDF := $(OUT)/mupdf |
123 | $(MUPDF) : $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS) |
108 | $(MUPDF) : $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS) |
124 | ifeq "$(NOX11)" "" |
109 | ifeq "$(NOX11)" "" |
125 | $(MUPDF) : $(addprefix $(OUT)/, kos_main.o pdfapp.o) |
110 | $(MUPDF) : $(addprefix $(OUT)/, kos_main.o pdfapp.o) |
126 | $(LINK_CMD) |
111 | $(LINK_CMD) |
127 | endif |
112 | endif |
128 | 113 | ||
129 | all: $(THIRD_LIBS) $(FITZ_LIB) $(PDF_APPS) $(MUPDF) |
114 | all: $(THIRD_LIBS) $(FITZ_LIB) $(PDF_APPS) $(MUPDF) |
130 | AR_CMD> |
115 | AR_CMD> |