xref: /illumos-gate/usr/src/test/util-tests/tests/ctf/test-merge-reduction/Makefile.ctftest (revision 3cec98229bf077e97e442c942c2bd8768e277449)
15bb525f4SRobert Mustacchi#
25bb525f4SRobert Mustacchi# This file and its contents are supplied under the terms of the
35bb525f4SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
45bb525f4SRobert Mustacchi# You may only use this file in accordance with the terms of version
55bb525f4SRobert Mustacchi# 1.0 of the CDDL.
65bb525f4SRobert Mustacchi#
75bb525f4SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
85bb525f4SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
95bb525f4SRobert Mustacchi# http://www.illumos.org/license/CDDL.
105bb525f4SRobert Mustacchi#
115bb525f4SRobert Mustacchi
125bb525f4SRobert Mustacchi#
135bb525f4SRobert Mustacchi# Copyright 2019 Joyent, Inc.
145bb525f4SRobert Mustacchi#
155bb525f4SRobert Mustacchi
165bb525f4SRobert Mustacchi#
175bb525f4SRobert Mustacchi# This makefile could be simplified substantially. However, it does
185bb525f4SRobert Mustacchi# everything explicitly to try and work with a wide variety of different
195bb525f4SRobert Mustacchi# makes.
205bb525f4SRobert Mustacchi#
215bb525f4SRobert Mustacchi# The following values should be passed in by the invoker of the
225bb525f4SRobert Mustacchi# Makefile:
235bb525f4SRobert Mustacchi#
245bb525f4SRobert Mustacchi#	CC		C Compiler to use
255bb525f4SRobert Mustacchi#	CFLAGS32	32-bit CFLAGS
265bb525f4SRobert Mustacchi#	CFLAGS64	64-bit CFLAGS
275bb525f4SRobert Mustacchi#	CTFCONVERT	Path to ctfconvert
285bb525f4SRobert Mustacchi#	CTFMERGE	Path to ctfmerge
295bb525f4SRobert Mustacchi#	DEBUGFLAGS	The set of debug flags to use
305bb525f4SRobert Mustacchi#	BUILDDIR	Directory things should be built in
315bb525f4SRobert Mustacchi#	CHECK32		Program to check 32-bit output
325bb525f4SRobert Mustacchi#	CHECK64		Program to check 64-bit output
335bb525f4SRobert Mustacchi#
345bb525f4SRobert Mustacchi
355bb525f4SRobert MustacchiOBJS_C_32 =	$(BUILDDIR)/test-global.32.c.o \
365bb525f4SRobert Mustacchi		$(BUILDDIR)/test-scoped.32.c.o
375bb525f4SRobert Mustacchi
385bb525f4SRobert MustacchiOBJS_C_64 =	$(BUILDDIR)/test-global.64.c.o \
395bb525f4SRobert Mustacchi		$(BUILDDIR)/test-scoped.64.c.o
405bb525f4SRobert Mustacchi
415bb525f4SRobert MustacchiOBJS_M_32 =	$(BUILDDIR)/test-global.32.m.o \
425bb525f4SRobert Mustacchi		$(BUILDDIR)/test-scoped.32.m.o
435bb525f4SRobert Mustacchi
445bb525f4SRobert MustacchiOBJS_M_64 =	$(BUILDDIR)/test-global.64.m.o \
455bb525f4SRobert Mustacchi		$(BUILDDIR)/test-scoped.64.m.o
465bb525f4SRobert Mustacchi
475bb525f4SRobert MustacchiBINS =		$(BUILDDIR)/test-merge-reduction-32c.so.1 \
485bb525f4SRobert Mustacchi		$(BUILDDIR)/test-merge-reduction-32m.so.1 \
495bb525f4SRobert Mustacchi		$(BUILDDIR)/test-merge-reduction-64c.so.1 \
505bb525f4SRobert Mustacchi		$(BUILDDIR)/test-merge-reduction-64m.so.1 \
515bb525f4SRobert Mustacchi
525bb525f4SRobert MustacchiCFLAGS = -fPIC
535bb525f4SRobert MustacchiLDFLAGS = -shared -Wl,-Mmapfile-vers -Wl,-ztext -Wl,-zdefs \
54*3cec9822SRobert Mustacchi	  -Wl,-htest-merge-reduction.so.1 -lc
555bb525f4SRobert Mustacchi
565bb525f4SRobert Mustacchibuild: $(BINS)
575bb525f4SRobert Mustacchi
585bb525f4SRobert Mustacchi$(BUILDDIR)/%.32.c.o: %.c
595bb525f4SRobert Mustacchi	$(CC) $(CFLAGS) $(CFLAGS32) $(DEBUGFLAGS) -o $@ -c $<
605bb525f4SRobert Mustacchi
615bb525f4SRobert Mustacchi$(BUILDDIR)/%.64.c.o: %.c
625bb525f4SRobert Mustacchi	$(CC) $(CFLAGS) $(CFLAGS64) $(DEBUGFLAGS) -o $@ -c $<
635bb525f4SRobert Mustacchi
645bb525f4SRobert Mustacchi$(BUILDDIR)/%.32.m.o: %.c
655bb525f4SRobert Mustacchi	$(CC) $(CFLAGS) $(CFLAGS32) $(DEBUGFLAGS) -o $@ -c $<
665bb525f4SRobert Mustacchi	$(CTFCONVERT) $@
675bb525f4SRobert Mustacchi
685bb525f4SRobert Mustacchi$(BUILDDIR)/%.64.m.o: %.c
695bb525f4SRobert Mustacchi	$(CC) $(CFLAGS) $(CFLAGS64) $(DEBUGFLAGS) -o $@ -c $<
705bb525f4SRobert Mustacchi	$(CTFCONVERT) $@
715bb525f4SRobert Mustacchi
725bb525f4SRobert Mustacchi$(BUILDDIR)/test-merge-reduction-32c.so.1: $(OBJS_C_32)
735bb525f4SRobert Mustacchi	$(CC) $(CFLAGS32) $(CFLAGS) $(LDFLAGS) $(DEBUGFLAGS) -o $@ $(OBJS_C_32)
745bb525f4SRobert Mustacchi	$(CTFCONVERT) $@
755bb525f4SRobert Mustacchi
765bb525f4SRobert Mustacchi$(BUILDDIR)/test-merge-reduction-64c.so.1: $(OBJS_C_64)
775bb525f4SRobert Mustacchi	$(CC) $(CFLAGS64) $(CFLAGS) $(LDFLAGS) $(DEBUGFLAGS) -o $@ $(OBJS_C_64)
785bb525f4SRobert Mustacchi	$(CTFCONVERT) $@
795bb525f4SRobert Mustacchi
805bb525f4SRobert Mustacchi$(BUILDDIR)/test-merge-reduction-32m.so.1: $(OBJS_M_32)
815bb525f4SRobert Mustacchi	$(CC) $(CFLAGS32) $(CFLAGS) $(LDFLAGS) $(DEBUGFLAGS) -o $@ $(OBJS_M_32)
825bb525f4SRobert Mustacchi	$(CTFMERGE) -t -o $@ $(OBJS_M_32)
835bb525f4SRobert Mustacchi
845bb525f4SRobert Mustacchi$(BUILDDIR)/test-merge-reduction-64m.so.1: $(OBJS_M_64)
855bb525f4SRobert Mustacchi	$(CC) $(CFLAGS64) $(CFLAGS) $(LDFLAGS) $(DEBUGFLAGS) -o $@ $(OBJS_M_64)
865bb525f4SRobert Mustacchi	$(CTFMERGE) -t -o $@ $(OBJS_M_64)
875bb525f4SRobert Mustacchi
885bb525f4SRobert Mustacchirun-test:
895bb525f4SRobert Mustacchi	$(CHECK32) $(BUILDDIR)/test-merge-reduction-32c.so.1
905bb525f4SRobert Mustacchi	$(CHECK64) $(BUILDDIR)/test-merge-reduction-64c.so.1
915bb525f4SRobert Mustacchi	$(CHECK32) $(BUILDDIR)/test-merge-reduction-32m.so.1
925bb525f4SRobert Mustacchi	$(CHECK64) $(BUILDDIR)/test-merge-reduction-64m.so.1
93