-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile.in
122 lines (99 loc) · 3.58 KB
/
Makefile.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# -------------------------------
# Standard Autoconf-set variables
# -------------------------------
VPATH=@srcdir@:obj:lib
build_alias=@build_noncanonical@
build_vendor=@build_vendor@
build_os=@build_os@
build=@build@
host_alias=@host_noncanonical@
host_vendor=@host_vendor@
host_os=@host_os@
host=@host@
target_alias=@target_noncanonical@
target_vendor=@target_vendor@
target_os=@target_os@
target=@target@
program_transform_name =@program_transform_name@
prefix =@prefix@
exec_prefix =@exec_prefix@
srcdir =@srcdir@
bindir =@bindir@
sbindir =@sbindir@
libexecdir =@libexecdir@
datadir =@datadir@
sysconfdir =@sysconfdir@
sharedstatedir =@sharedstatedir@
localstatedir =@localstatedir@
libdir =@libdir@
includedir =@includedir@
oldincludedir =@oldincludedir@
infodir =@infodir@
datarootdir =@datarootdir@
docdir =@docdir@
pdfdir =@pdfdir@
htmldir =@htmldir@
mandir =@mandir@
man1dir =$(mandir)/man1
man2dir =$(mandir)/man2
man3dir =$(mandir)/man3
man4dir =$(mandir)/man4
man5dir =$(mandir)/man5
man6dir =$(mandir)/man6
man7dir =$(mandir)/man7
man8dir =$(mandir)/man8
man9dir =$(mandir)/man9
# -------------------------------------------------
# Miscellaneous non-standard autoconf-set variables
# -------------------------------------------------
# The gcc driver likes to know the arguments it was configured with.
TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
tooldir =@tooldir@
build_tooldir =@build_tooldir@
# This is the name of the environment variable used for the path to
# the libraries.
RPATH_ENVVAR =@RPATH_ENVVAR@
# -------------------------------------------------
# autoconf-set variables for making library
# -------------------------------------------------
CC=@CC@
DEFS=@DEFS@
DEFAULT_INCLUDES=-I@srcdir@/include
INCLUDES=$(notdir null/)
CPPFLAGS=@CPPFLAGS@
CFLAGS=@CFLAGS@
AR=@AR@
ARFLAGS=r
COPY=@COPY@
OBJEXT=@OBJEXT@
SOURCES =@SOURCES@
OBJECTS =$(wildcard $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES))))) $(filter-out $(addprefix obj/, $(wildcard $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES)))))), $(addprefix obj/, $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES))))))
INCLUDE_DIRECTORIES =@INCLUDE_DIRECTORIES@
INCLUDE_FILES =@INCLUDE_FILES@
mkdir_p =@mkdir_p@
# -------------------------------------------------
# make file code
# -------------------------------------------------
all: compile_objects compile_library compile_include
compile_objects: obj $(OBJECTS)
$(wildcard $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES))))): %.$(OBJEXT): source/%.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
$(filter-out $(addprefix obj/, $(wildcard $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES)))))), $(addprefix obj/, $(addsuffix .$(OBJEXT),$(basename $(notdir $(SOURCES)))))): obj/%.$(OBJEXT): source/%.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
obj:
$(mkdir_p) obj
compile_library: lib lib/libmingw32_extended.a
lib/libmingw32_extended.a: $(OBJECTS)
$(AR) $(ARFLAGS) lib/libmingw32_extended.a $?
lib:
$(mkdir_p) lib
compile_include: $(addprefix $(CURDIR)/, $(INCLUDE_DIRECTORIES)) $(addprefix $(CURDIR)/, $(INCLUDE_FILES))
$(addprefix $(CURDIR)/, $(INCLUDE_DIRECTORIES)):
$(mkdir_p) $@
$(addprefix $(CURDIR)/, $(INCLUDE_FILES)): $(CURDIR)/%: %
$(COPY) $< $(@:$(CURDIR)/%=%)
install:
test -z "$(prefix)/lib" || $(mkdir_p) "$(prefix)/lib"
$(COPY) lib/* $(prefix)/lib
test -z "$(prefix)/include" || $(mkdir_p) "$(prefix)/include"
$(COPY) include/* $(prefix)/include