The unpac monorepo manager self-hosting as a monorepo using unpac
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Sprinkle some meta-programming on the install target

+30 -47
+30 -47
Makefile
··· 2751 2751 2752 2752 INSTALL_LIBDIR_DYNLINK = $(INSTALL_LIBDIR)/dynlink 2753 2753 2754 + # COMPILER_ARTEFACT_DIRS adds the common compiler-libs directories as prefixes 2755 + # to a sequence of patterns in the first argument, e.g. 2756 + # $(call COMPILER_ARTEFACT_DIRS, *.cmi) expands to utils/*.cmi, parsing/*.cmi, 2757 + # and so forth. Multiple wildcard patterns may be supplied. An optional second 2758 + # argument includes additional directories beyond the common ones (e.g. asmcomp, 2759 + # etc.) 2760 + COMPILER_ARTEFACT_DIRS = \ 2761 + $(foreach dir, \ 2762 + utils parsing typing bytecomp file_formats lambda driver toplevel \ 2763 + $(if $(filter-out undefined, $(origin 2)), $(2)), \ 2764 + $(addprefix $(dir)/, $(1))) 2765 + NATIVE_ARTEFACT_DIRS = \ 2766 + asmcomp toplevel/native \ 2767 + middle_end middle_end/closure middle_end/flambda middle_end/flambda/base_types 2768 + 2754 2769 # Installation 2755 2770 2756 2771 .PHONY: install ··· 2854 2869 install:: 2855 2870 $(INSTALL_PROG) $(ocamlyacc_PROGRAM)$(EXE) "$(INSTALL_BINDIR)" 2856 2871 $(INSTALL_DATA) \ 2857 - utils/*.cmi \ 2858 - parsing/*.cmi \ 2859 - typing/*.cmi \ 2860 - bytecomp/*.cmi \ 2861 - file_formats/*.cmi \ 2862 - lambda/*.cmi \ 2863 - driver/*.cmi \ 2864 - toplevel/*.cmi \ 2865 - "$(INSTALL_COMPLIBDIR)" 2872 + $(call COMPILER_ARTEFACT_DIRS, *.cmi) \ 2873 + "$(INSTALL_COMPLIBDIR)" 2866 2874 ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" 2867 2875 $(INSTALL_DATA) \ 2868 - utils/*.cmt utils/*.cmti utils/*.mli \ 2869 - parsing/*.cmt parsing/*.cmti parsing/*.mli \ 2870 - typing/*.cmt typing/*.cmti typing/*.mli \ 2871 - file_formats/*.cmt file_formats/*.cmti file_formats/*.mli \ 2872 - lambda/*.cmt lambda/*.cmti lambda/*.mli \ 2873 - bytecomp/*.cmt bytecomp/*.cmti bytecomp/*.mli \ 2874 - driver/*.cmt driver/*.cmti driver/*.mli \ 2875 - toplevel/*.cmt toplevel/*.cmti toplevel/*.mli \ 2876 - "$(INSTALL_COMPLIBDIR)" 2876 + $(call COMPILER_ARTEFACT_DIRS, *.cmt *.cmti *.mli) \ 2877 + "$(INSTALL_COMPLIBDIR)" 2877 2878 $(INSTALL_DATA) \ 2878 2879 toplevel/byte/*.cmt \ 2879 2880 "$(INSTALL_COMPLIBDIR)" ··· 2994 2995 "$(INSTALL_COMPLIBDIR)" 2995 2996 ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" 2996 2997 $(INSTALL_DATA) \ 2997 - middle_end/*.cmt middle_end/*.cmti \ 2998 - middle_end/*.mli \ 2998 + $(addprefix middle_end/, *.cmt *.cmti *.mli) \ 2999 2999 "$(INSTALL_COMPLIBDIR)" 3000 3000 $(INSTALL_DATA) \ 3001 - middle_end/closure/*.cmt middle_end/closure/*.cmti \ 3002 - middle_end/closure/*.mli \ 3001 + $(addprefix middle_end/closure/, *.cmt *.cmti *.mli) \ 3003 3002 "$(INSTALL_COMPLIBDIR)" 3004 3003 $(INSTALL_DATA) \ 3005 - middle_end/flambda/*.cmt middle_end/flambda/*.cmti \ 3006 - middle_end/flambda/*.mli \ 3004 + $(addprefix middle_end/flambda/, *.cmt *.cmti *.mli) \ 3007 3005 "$(INSTALL_COMPLIBDIR)" 3008 3006 $(INSTALL_DATA) \ 3009 - middle_end/flambda/base_types/*.cmt \ 3010 - middle_end/flambda/base_types/*.cmti \ 3011 - middle_end/flambda/base_types/*.mli \ 3007 + $(addprefix middle_end/flambda/base_types/, *.cmt *.cmti *.mli) \ 3012 3008 "$(INSTALL_COMPLIBDIR)" 3013 3009 $(INSTALL_DATA) \ 3014 - asmcomp/*.cmt asmcomp/*.cmti \ 3015 - asmcomp/*.mli \ 3010 + $(addprefix asmcomp/, *.cmt *.cmti *.mli) \ 3016 3011 "$(INSTALL_COMPLIBDIR)" 3017 3012 endif 3018 3013 $(INSTALL_DATA) \ ··· 3069 3064 $(LN) flexlink.opt$(EXE) flexlink$(EXE) 3070 3065 endif 3071 3066 $(INSTALL_DATA) \ 3072 - utils/*.cmx parsing/*.cmx typing/*.cmx bytecomp/*.cmx \ 3073 - toplevel/*.cmx toplevel/native/*.cmx \ 3074 - toplevel/native/tophooks.cmi \ 3075 - file_formats/*.cmx \ 3076 - lambda/*.cmx \ 3077 - driver/*.cmx asmcomp/*.cmx middle_end/*.cmx \ 3078 - middle_end/closure/*.cmx \ 3079 - middle_end/flambda/*.cmx \ 3080 - middle_end/flambda/base_types/*.cmx \ 3081 - "$(INSTALL_COMPLIBDIR)" 3067 + $(call COMPILER_ARTEFACT_DIRS, *.cmx, $(NATIVE_ARTEFACT_DIRS)) \ 3068 + toplevel/native/tophooks.cmi \ 3069 + "$(INSTALL_COMPLIBDIR)" 3082 3070 $(INSTALL_DATA) \ 3083 3071 compilerlibs/*.cmxa compilerlibs/*.$(A) \ 3084 3072 "$(INSTALL_COMPLIBDIR)" ··· 3096 3084 install-compiler-sources: 3097 3085 ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" 3098 3086 $(INSTALL_DATA) \ 3099 - utils/*.ml parsing/*.ml typing/*.ml bytecomp/*.ml driver/*.ml \ 3100 - file_formats/*.ml \ 3101 - lambda/*.ml \ 3102 - toplevel/*.ml toplevel/byte/*.ml \ 3103 - middle_end/*.ml middle_end/closure/*.ml \ 3104 - middle_end/flambda/*.ml middle_end/flambda/base_types/*.ml \ 3105 - asmcomp/*.ml \ 3106 - "$(INSTALL_COMPLIBDIR)" 3087 + $(call COMPILER_ARTEFACT_DIRS, *.ml, $(NATIVE_ARTEFACT_DIRS)) \ 3088 + toplevel/byte/*.ml \ 3089 + "$(INSTALL_COMPLIBDIR)" 3107 3090 endif 3108 3091 3109 3092 include .depend