blob: 14d08c164756efec614355b6faeeed1a360931fc [file] [log] [blame]
Theodore Ts'o1bbfec62004-03-20 14:02:24 -05001# Makefile for the UUID library
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00002#
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00003
4srcdir = @srcdir@
5top_srcdir = @top_srcdir@
6VPATH = @srcdir@
7top_builddir = ../..
8my_dir = lib/uuid
9INSTALL = @INSTALL@
10
11@MCONFIG@
12
13all::
14
Theodore Ts'o6d493492004-05-04 22:05:05 -040015SMANPAGES= uuid.3 uuid_clear.3 uuid_compare.3 uuid_copy.3 \
Theodore Ts'o4eca93b1999-03-16 20:31:56 +000016 uuid_generate.3 uuid_is_null.3 uuid_parse.3 \
17 uuid_time.3 uuid_unparse.3
18
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000019OBJS= clear.o \
20 compare.o \
21 copy.o \
22 gen_uuid.o \
23 isnull.o \
24 pack.o \
25 parse.o \
26 unpack.o \
Theodore Ts'o1e0a2211998-12-04 08:13:52 +000027 unparse.o \
28 uuid_time.o
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000029
30SRCS= $(srcdir)/clear.c \
31 $(srcdir)/compare.c \
32 $(srcdir)/copy.c \
33 $(srcdir)/gen_uuid.c \
34 $(srcdir)/isnull.c \
35 $(srcdir)/pack.c \
36 $(srcdir)/parse.c \
37 $(srcdir)/unpack.c \
Theodore Ts'o1e0a2211998-12-04 08:13:52 +000038 $(srcdir)/unparse.c \
39 $(srcdir)/uuid_time.c
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000040
41LIBRARY= libuuid
42LIBDIR= uuid
43
Theodore Ts'o1e0a2211998-12-04 08:13:52 +000044ELF_VERSION = 1.2
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000045ELF_SO_VERSION = 1
46ELF_IMAGE = libuuid
47ELF_MYDIR = uuid
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000048ELF_INSTALL_DIR = $(root_libdir)
Theodore Ts'ob2420d42000-07-04 18:51:20 +000049ELF_OTHER_LIBS =
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000050
Theodore Ts'o1e0a2211998-12-04 08:13:52 +000051BSDLIB_VERSION = 1.1
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000052BSDLIB_IMAGE = libuuid
53BSDLIB_MYDIR = uuid
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000054BSDLIB_INSTALL_DIR = $(root_libdir)
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000055
56@MAKEFILE_LIBRARY@
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000057@MAKEFILE_ELF@
58@MAKEFILE_BSDLIB@
59@MAKEFILE_PROFILE@
60@MAKEFILE_CHECKER@
61
62.c.o:
Theodore Ts'oc13351f2009-07-02 00:11:17 -040063 $(E) " CC $<"
64 $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@
Darrick J. Wong832cb612013-10-11 23:02:12 -040065 $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
Theodore Ts'oc13351f2009-07-02 00:11:17 -040066@PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
67@CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $<
68@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $<
69@BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $<
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000070
Theodore Ts'oe6441862005-01-26 12:59:25 -050071all:: tst_uuid uuid_time $(SMANPAGES) uuid.pc
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000072
Theodore Ts'oe1f08502009-10-04 14:45:08 -040073uuid.h: $(srcdir)/uuid.h.in
74 $(E) " CP $@"
75 $(Q) cp $(srcdir)/uuid.h.in uuid.h
76
Theodore Ts'o94ba8c72003-03-02 02:07:14 -050077$(top_builddir)/lib/uuid/uuid_types.h: $(srcdir)/uuid_types.h.in $(top_builddir)/config.status
78 cd $(top_builddir); CONFIG_FILES=$(my_dir)/uuid_types.h ./config.status
79
Matthias Andree58b3d8d2012-05-11 19:14:30 -040080tst_uuid.o: $(srcdir)/tst_uuid.c uuid.h
Theodore Ts'oc13351f2009-07-02 00:11:17 -040081 $(E) " CC $@"
82 $(Q) $(CC) $(ALL_CFLAGS) -c $(srcdir)/tst_uuid.c -o tst_uuid.o
Theodore Ts'o19c78dc1997-04-29 16:17:09 +000083
Theodore Ts'oed78c022003-03-06 11:09:18 -050084tst_uuid: tst_uuid.o $(DEPSTATIC_LIBUUID)
Theodore Ts'oc13351f2009-07-02 00:11:17 -040085 $(E) " LD $@"
86 $(Q) $(CC) $(ALL_LDFLAGS) -o tst_uuid tst_uuid.o $(STATIC_LIBUUID)
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000087
Theodore Ts'o77200f42000-01-18 17:53:27 +000088uuid_time: $(srcdir)/uuid_time.c $(DEPLIBUUID)
Theodore Ts'oc13351f2009-07-02 00:11:17 -040089 $(E) " LD $@"
Theodore Ts'oc1986ec2012-06-13 15:29:13 -040090 $(Q) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -DDEBUG -o uuid_time \
91 $(srcdir)/uuid_time.c $(LIBUUID)
Theodore Ts'o1e0a2211998-12-04 08:13:52 +000092
Theodore Ts'o6d493492004-05-04 22:05:05 -040093uuid.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -040094 $(E) " SUBST $@"
95 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid.3.in uuid.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +000096
97uuid_clear.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_clear.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -040098 $(E) " SUBST $@"
99 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_clear.3.in uuid_clear.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000100
101uuid_compare.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_compare.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400102 $(E) " SUBST $@"
103 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_compare.3.in uuid_compare.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000104
105uuid_copy.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_copy.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400106 $(E) " SUBST $@"
107 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_copy.3.in uuid_copy.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000108
109uuid_generate.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_generate.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400110 $(E) " SUBST $@"
111 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_generate.3.in uuid_generate.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000112
113uuid_is_null.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_is_null.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400114 $(E) " SUBST $@"
115 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_is_null.3.in uuid_is_null.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000116
117uuid_parse.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_parse.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400118 $(E) " SUBST $@"
119 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_parse.3.in uuid_parse.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000120
121uuid_time.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_time.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400122 $(E) " SUBST $@"
123 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_time.3.in uuid_time.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000124
125uuid_unparse.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid_unparse.3.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400126 $(E) " SUBST $@"
127 $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuid_unparse.3.in uuid_unparse.3
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000128
Theodore Ts'oe6441862005-01-26 12:59:25 -0500129uuid.pc: $(srcdir)/uuid.pc.in $(top_builddir)/config.status
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400130 $(E) " CONFIG.STATUS $@"
131 $(Q) cd $(top_builddir); CONFIG_FILES=lib/uuid/uuid.pc ./config.status
Theodore Ts'oe6441862005-01-26 12:59:25 -0500132
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000133installdirs::
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400134 $(E) " MKINSTALLDIRS $(libdir) $(includedir)/uuid $(man3dir)"
135 $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
Theodore Ts'oe6441862005-01-26 12:59:25 -0500136 $(DESTDIR)$(includedir)/uuid $(DESTDIR)$(man3dir) \
137 $(DESTDIR)$(libdir)/pkgconfig
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000138
139install:: all installdirs
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400140 $(E) " INSTALL_DATA $(libdir)/libuuid.a"
141 $(Q) $(INSTALL_DATA) libuuid.a $(DESTDIR)$(libdir)/libuuid.a
142 -$(Q) $(RANLIB) $(DESTDIR)$(libdir)/libuuid.a
143 $(Q) $(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libuuid.a
144 $(E) " INSTALL_DATA $(includedir)/uuid/uuid.h"
Theodore Ts'oe1f08502009-10-04 14:45:08 -0400145 $(Q) $(INSTALL_DATA) uuid.h $(DESTDIR)$(includedir)/uuid/uuid.h
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400146 $(Q) for i in $(SMANPAGES); do \
Theodore Ts'ob9f40922002-02-24 03:08:57 -0500147 $(RM) -f $(DESTDIR)$(man3dir)/$$i.gz; \
Theodore Ts'o522798d2004-12-15 11:28:55 -0500148 echo " INSTALL_DATA $(man3dir)/$$i"; \
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000149 $(INSTALL_DATA) $$i $(DESTDIR)$(man3dir)/$$i; \
150 done
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400151 $(Q) $(RM) -f $(DESTDIR)$(man3dir)/uuid_generate_random.3.gz \
Theodore Ts'ob9f40922002-02-24 03:08:57 -0500152 $(DESTDIR)$(man3dir)/uuid_generate_time.3.gz
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400153 $(E) " LINK $(man3dir)/uuid_generate_random.3"
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400154 $(Q) (cd $(DESTDIR)$(man3dir); \
155 $(LN) $(LINK_INSTALL_FLAGS) uuid_generate.3 uuid_generate_random.3)
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400156 $(E) " LINK $(man3dir)/uuid_generate_time.3"
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400157 $(Q) (cd $(DESTDIR)$(man3dir); \
158 $(LN) $(LINK_INSTALL_FLAGS) uuid_generate.3 uuid_generate_time.3)
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400159 $(E) " INSTALL_DATA $(libdir)/pkgconfig/uuid.pc"
160 $(Q) $(INSTALL_DATA) uuid.pc $(DESTDIR)$(libdir)/pkgconfig/uuid.pc
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000161
162uninstall::
Theodore Ts'oe6441862005-01-26 12:59:25 -0500163 $(RM) -f $(DESTDIR)$(libdir)/libuuid.a \
164 $(DESTDIR)$(libdir)/pkgconfig/uuid.pc
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000165 for i in $(SMANPAGES); do \
166 $(RM) -f $(DESTDIR)$(man3dir)/$$i; \
167 done
Theodore Ts'ob9f40922002-02-24 03:08:57 -0500168 $(RM) -f $(DESTDIR)$(man3dir)/uuid_generate_random.3 $(DESTDIR)$(man3dir)/uuid_generate_time.3
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000169
170clean::
Theodore Ts'oe1f08502009-10-04 14:45:08 -0400171 $(RM) -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/* uuid.h
Theodore Ts'o4eca93b1999-03-16 20:31:56 +0000172 $(RM) -f ../libuuid.a ../libuuid_p.a tst_uuid uuid_time $(SMANPAGES)
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000173
Theodore Ts'ob19d1a91999-06-18 00:32:03 +0000174check:: tst_uuid
Theodore Ts'oafb6d702003-04-21 16:12:34 -0400175 LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_uuid
Theodore Ts'ob19d1a91999-06-18 00:32:03 +0000176
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000177mostlyclean:: clean
178distclean:: clean
Theodore Ts'ob7aa0d62005-02-05 15:48:49 -0500179 $(RM) -f .depend Makefile uuid.pc \
180 $(srcdir)/TAGS $(srcdir)/Makefile.in.old
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000181
Theodore Ts'of0f4acb2000-05-25 23:22:11 +0000182#
183# Hack to parallel makes recognize dependencies correctly.
184#
185../../lib/libuuid.a: libuuid.a
Theodore Ts'od61f6172000-05-27 16:04:00 +0000186../../lib/libuuid.so: image
Theodore Ts'oe71d8732003-03-14 02:13:48 -0500187../../lib/libuuid.dylib: image
Theodore Ts'of0f4acb2000-05-25 23:22:11 +0000188
Theodore Ts'oe1f08502009-10-04 14:45:08 -0400189$(OBJS): subdirs uuid.h
Theodore Ts'o3ded50b2005-12-10 22:23:01 -0500190
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000191# +++ Dependency line eater +++
192#
193# Makefile dependencies follow. This must be the last section in
194# the Makefile.in file
195#
Theodore Ts'o499d5ec2011-11-29 16:06:58 -0500196clear.o: $(srcdir)/clear.c $(top_builddir)/lib/config.h \
197 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
198compare.o: $(srcdir)/compare.c $(top_builddir)/lib/config.h \
199 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
200copy.o: $(srcdir)/copy.c $(top_builddir)/lib/config.h \
201 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
202gen_uuid.o: $(srcdir)/gen_uuid.c $(top_builddir)/lib/config.h \
203 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h $(srcdir)/uuidd.h
204isnull.o: $(srcdir)/isnull.c $(top_builddir)/lib/config.h \
205 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
206pack.o: $(srcdir)/pack.c $(top_builddir)/lib/config.h \
207 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
208parse.o: $(srcdir)/parse.c $(top_builddir)/lib/config.h \
209 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
210unpack.o: $(srcdir)/unpack.c $(top_builddir)/lib/config.h \
211 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
212unparse.o: $(srcdir)/unparse.c $(top_builddir)/lib/config.h \
213 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
214uuid_time.o: $(srcdir)/uuid_time.c $(top_builddir)/lib/config.h \
215 $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h