1b30d1939SAndy Fiddaman# 2b30d1939SAndy Fiddaman# This file and its contents are supplied under the terms of the 3b30d1939SAndy Fiddaman# Common Development and Distribution License ("CDDL"), version 1.0. 4b30d1939SAndy Fiddaman# You may only use this file in accordance with the terms of version 5b30d1939SAndy Fiddaman# 1.0 of the CDDL. 6b30d1939SAndy Fiddaman# 7b30d1939SAndy Fiddaman# A full copy of the text of the CDDL should have accompanied this 8b30d1939SAndy Fiddaman# source. A copy of the CDDL is also available via the Internet at 9b30d1939SAndy Fiddaman# http://www.illumos.org/license/CDDL. 10b30d1939SAndy Fiddaman# 11b30d1939SAndy Fiddaman 12b30d1939SAndy Fiddaman# 13b30d1939SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 14b30d1939SAndy Fiddaman# 15b30d1939SAndy Fiddaman 16475b46feSAndy FiddamanSHELL= /usr/bin/ksh93 17475b46feSAndy Fiddaman 18a8e6450fSAndy FiddamanCTOOLS= proto lcgen 19a8e6450fSAndy FiddamanSHTOOLS= iffe package gentab 20b30d1939SAndy Fiddaman 21b30d1939SAndy FiddamanTOOLS= $(CTOOLS) $(SHTOOLS) probe 22b30d1939SAndy FiddamanOBJS= $(CTOOLS:%=%.o) 23b30d1939SAndy Fiddaman 24b30d1939SAndy Fiddamaninclude $(SRC)/cmd/Makefile.cmd 25b30d1939SAndy Fiddamaninclude ../Makefile.ast 26b30d1939SAndy Fiddaman 27b30d1939SAndy FiddamanCC= $(NATIVECC) 28b30d1939SAndy FiddamanLD= $(NATIVELD) 29b30d1939SAndy FiddamanCFLAGS= $(NATIVE_CFLAGS) 30b30d1939SAndy Fiddaman 31b30d1939SAndy Fiddamanall install install_h: $(TOOLS) 32b30d1939SAndy Fiddaman_msg _feature: 33b30d1939SAndy Fiddaman 34b30d1939SAndy Fiddamanclean clobber: 35b30d1939SAndy Fiddaman $(RM) $(OBJS) $(TOOLS) 36b30d1939SAndy Fiddaman 37475b46feSAndy Fiddamanpackage: 38b30d1939SAndy Fiddaman $(RM) $@ 39b30d1939SAndy Fiddaman # The string returned by 'package' must match the value used by 40b30d1939SAndy Fiddaman # AT&T upstream, which is "i386" or "sun4", regardless of whether 41b30d1939SAndy Fiddaman # building 32- or 64-bit objects. 42b30d1939SAndy Fiddaman { \ 43b30d1939SAndy Fiddaman [[ $(MACH) == i386 ]] && arch=i386 || arch=sun4; \ 44*42757785SAndy Fiddaman print -e "#!/bin/sh\n\necho sol11.$$arch" > $@; \ 45*42757785SAndy Fiddaman } 46b30d1939SAndy Fiddaman $(CHMOD) +x $@ 47b30d1939SAndy Fiddaman 48b30d1939SAndy Fiddaman%.o: $(C_ASTINIT)/%.c 49b30d1939SAndy Fiddaman $(COMPILE.c) -o $@ $< 50b30d1939SAndy Fiddaman $(POST_PROCESS_O) 51b30d1939SAndy Fiddaman 52b30d1939SAndy Fiddaman%.o: $(C_AST)/src/lib/libast/port/%.c 53b30d1939SAndy Fiddaman $(COMPILE.c) -o $@ $< 54b30d1939SAndy Fiddaman $(POST_PROCESS_O) 55b30d1939SAndy Fiddaman 56*42757785SAndy FiddamanAST_SH_ASSEMBLE= \ 57*42757785SAndy Fiddaman { \ 58*42757785SAndy Fiddaman tf=$$(mktemp /tmp/ast.XXXXXXXXXX) && \ 59*42757785SAndy Fiddaman print 'USAGE_LICENSE="[-author?ATT]"' > $$tf && \ 60*42757785SAndy Fiddaman cat $< >> $$tf && \ 61*42757785SAndy Fiddaman mv $$tf $@; \ 62*42757785SAndy Fiddaman } 63*42757785SAndy Fiddaman 64b30d1939SAndy Fiddaman%: $(C_ASTINIT)/%.sh 65b30d1939SAndy Fiddaman $(RM) $@ 66*42757785SAndy Fiddaman $(AST_SH_ASSEMBLE) 67b30d1939SAndy Fiddaman $(CHMOD) +x $@ 68b30d1939SAndy Fiddaman 69b30d1939SAndy Fiddaman%: $(C_AST)/src/lib/libpp/%.sh 70b30d1939SAndy Fiddaman $(RM) $@ 71*42757785SAndy Fiddaman $(AST_SH_ASSEMBLE) 72b30d1939SAndy Fiddaman $(CHMOD) +x $@ 73b30d1939SAndy Fiddaman 74b30d1939SAndy Fiddaman$(CTOOLS): $(OBJS) 75b30d1939SAndy Fiddaman $(LINK.c) $@.o -o $@ $(LDLIBS) 76b30d1939SAndy Fiddaman $(POST_PROCESS) 77b30d1939SAndy Fiddaman 78b30d1939SAndy Fiddamanprobe: $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe 79b30d1939SAndy Fiddaman $(CAT) $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe > $@ 80b30d1939SAndy Fiddaman $(CHMOD) +x $@ 81b30d1939SAndy Fiddaman 82b30d1939SAndy FiddamanSTACKPROTECT= none 83b30d1939SAndy Fiddaman 84b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-parentheses 85b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-implicit-fallthrough 86b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-value 87b30d1939SAndy FiddamanCERRWARN += $(CNOWARN_UNINIT) 88b30d1939SAndy FiddamanSMATCH= off 89b30d1939SAndy Fiddaman 90475b46feSAndy Fiddaman.KEEP_STATE: 91b30d1939SAndy Fiddaman.PARALLEL: $(TOOLS) 92