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 is installed onto the target system and is used as part 185bb525f4SRobert Mustacchi# of the running tests. It is not used as part of the build. 195bb525f4SRobert Mustacchi# 205bb525f4SRobert Mustacchi# This makefile could be simplified substantially. However, it does 215bb525f4SRobert Mustacchi# everything explicitly to try and work with a wide variety of different 225bb525f4SRobert Mustacchi# makes. 235bb525f4SRobert Mustacchi# 245bb525f4SRobert Mustacchi# The following values should be passed in by the invoker of the 255bb525f4SRobert Mustacchi# Makefile: 265bb525f4SRobert Mustacchi# 275bb525f4SRobert Mustacchi# CC C Compiler to use 285bb525f4SRobert Mustacchi# CFLAGS32 32-bit CFLAGS 295bb525f4SRobert Mustacchi# CFLAGS64 64-bit CFLAGS 305bb525f4SRobert Mustacchi# CTFCONVERT Path to ctfconvert 315bb525f4SRobert Mustacchi# CTFMERGE Path to ctfmerge 325bb525f4SRobert Mustacchi# DEBUGFLAGS The set of debug flags to use 335bb525f4SRobert Mustacchi# BUILDDIR Directory things should be built in 345bb525f4SRobert Mustacchi# CHECK32 Program to check 32-bit output 355bb525f4SRobert Mustacchi# CHECK64 Program to check 64-bit output 365bb525f4SRobert Mustacchi# 375bb525f4SRobert Mustacchi# The following values should be set before building this: 385bb525f4SRobert Mustacchi# 395bb525f4SRobert Mustacchi# TEST The name of the test program 405bb525f4SRobert Mustacchi# OBJS_C_32 32-bit convert objects 415bb525f4SRobert Mustacchi# OBJS_C_64 64-bit convert objects 425bb525f4SRobert Mustacchi# OBJS_M_32 32-bit merge objects 435bb525f4SRobert Mustacchi# OBJS_M_64 64-bit merge objects 445bb525f4SRobert Mustacchi# 455bb525f4SRobert Mustacchi 465bb525f4SRobert MustacchiCONV32 = $(BUILDDIR)/$(TEST)-32c 475bb525f4SRobert MustacchiCONV64 = $(BUILDDIR)/$(TEST)-64c 485bb525f4SRobert MustacchiMERGE32 = $(BUILDDIR)/$(TEST)-32m 495bb525f4SRobert MustacchiMERGE64 = $(BUILDDIR)/$(TEST)-64m 505bb525f4SRobert Mustacchi 515bb525f4SRobert MustacchiBINS = $(CONV32) \ 525bb525f4SRobert Mustacchi $(CONV64) \ 535bb525f4SRobert Mustacchi $(MERGE32) \ 545bb525f4SRobert Mustacchi $(MERGE64) 555bb525f4SRobert Mustacchi 565bb525f4SRobert Mustacchibuild: $(BINS) 575bb525f4SRobert Mustacchi 585bb525f4SRobert Mustacchi$(BUILDDIR)/%.32.c.o: %.c 59*3cec9822SRobert Mustacchi $(CC) $(CFLAGS32) $(TEST_CFLAGS32) $(DEBUGFLAGS) -o $@ -c $< 605bb525f4SRobert Mustacchi 615bb525f4SRobert Mustacchi$(BUILDDIR)/%.64.c.o: %.c 62*3cec9822SRobert Mustacchi $(CC) $(CFLAGS64) $(TEST_CFLAGS64) $(DEBUGFLAGS) -o $@ -c $< 635bb525f4SRobert Mustacchi 645bb525f4SRobert Mustacchi$(BUILDDIR)/%.32.m.o: %.c 65*3cec9822SRobert Mustacchi $(CC) $(CFLAGS32) $(TEST_CFLAGS32) $(DEBUGFLAGS) -o $@ -c $< 665bb525f4SRobert Mustacchi $(CTFCONVERT) $@ 675bb525f4SRobert Mustacchi 685bb525f4SRobert Mustacchi$(BUILDDIR)/%.64.m.o: %.c 69*3cec9822SRobert Mustacchi $(CC) $(CFLAGS64) $(TEST_CFLAGS64) $(DEBUGFLAGS) -o $@ -c $< 705bb525f4SRobert Mustacchi $(CTFCONVERT) $@ 715bb525f4SRobert Mustacchi 725bb525f4SRobert Mustacchi$(CONV32): $(OBJS_C_32) 73*3cec9822SRobert Mustacchi $(CC) $(CFLAGS32) $(TEST_CFLAGS32) $(DEBUGFLAGS) -o $@ $(OBJS_C_32) 745bb525f4SRobert Mustacchi $(CTFCONVERT) $@ 755bb525f4SRobert Mustacchi 765bb525f4SRobert Mustacchi$(CONV64): $(OBJS_C_64) 77*3cec9822SRobert Mustacchi $(CC) $(CFLAGS64) $(TEST_CFLAGS64) $(DEBUGFLAGS) -o $@ $(OBJS_C_64) 785bb525f4SRobert Mustacchi $(CTFCONVERT) $@ 795bb525f4SRobert Mustacchi 805bb525f4SRobert Mustacchi$(MERGE32): $(OBJS_M_32) 81*3cec9822SRobert Mustacchi $(CC) $(CFLAGS32) $(TEST_CFLAGS32) $(DEBUGFLAGS) -o $@ $(OBJS_M_32) 825bb525f4SRobert Mustacchi $(CTFMERGE) -t -o $@ $(OBJS_M_32) 835bb525f4SRobert Mustacchi 845bb525f4SRobert Mustacchi$(MERGE64): $(OBJS_M_64) 85*3cec9822SRobert Mustacchi $(CC) $(CFLAGS64) $(TEST_CFLAGS64) $(DEBUGFLAGS) -o $@ $(OBJS_M_64) 865bb525f4SRobert Mustacchi $(CTFMERGE) -t -o $@ $(OBJS_M_64) 875bb525f4SRobert Mustacchi 885bb525f4SRobert Mustacchirun-test: 895bb525f4SRobert Mustacchi $(CHECK32) $(CONV32) 905bb525f4SRobert Mustacchi $(CHECK64) $(CONV64) 915bb525f4SRobert Mustacchi $(CHECK32) $(MERGE32) 925bb525f4SRobert Mustacchi $(CHECK64) $(MERGE64) 93