Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions erts/emulator/pcre/LICENCE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PCRE2 License
PCRE2 Licence
=============

| SPDX-License-Identifier: | BSD-3-Clause WITH PCRE2-exception |
Expand All @@ -16,7 +16,8 @@ testdata directory is not copyrighted and is in the public domain.
The basic library functions are written in C and are freestanding. Also
included in the distribution is a just-in-time compiler that can be used to
optimize pattern matching. This is an optional feature that can be omitted when
the library is built.
the library is built. The just-in-time compiler is separately licensed under the
"2-clause BSD" licence.


COPYRIGHT
Expand Down Expand Up @@ -53,6 +54,8 @@ COPYRIGHT
Copyright (c) 2009-2024 Zoltan Herczeg
All rights reserved.

The code in the `deps/sljit` directory has its own LICENSE file.

### All other contributions

Many other contributors have participated in the authorship of PCRE2. As PCRE2
Expand Down Expand Up @@ -99,5 +102,3 @@ not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.

End
20 changes: 9 additions & 11 deletions erts/emulator/pcre/README.pcre_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,9 +238,9 @@ like this in the C source:
When building, pcre2\_match\_loop\_break\_cases.gen.h will be generated
during build by pcre.mk, it will look like:

case 791: goto L_LOOP_COUNT_691;
case 1892: goto L_LOOP_COUNT_1792;
case 1999: goto L_LOOP_COUNT_1899;
case 791: goto L_LOOP_COUNT_791;
case 1892: goto L_LOOP_COUNT_1892;
case 1999: goto L_LOOP_COUNT_1999;

etc

Expand Down Expand Up @@ -301,15 +301,13 @@ like this:

And the according variables were removed together with dependencies
from pcre.mk. Note that you will need to put things back in order in
pcre.mk after all testing is done. Once a 'make' is successful, you
can generate new dependencies:
pcre.mk after all testing is done.

~/tmp/pcre/epcre-8.33> gcc -MM -c -g -O2 -DHAVE_CONFIG_H -I/ldisk/pan/git/otp/erts/x86_64-unknown-linux-gnu -DERLANG_INTEGRATION *.c | grep -v $ERL_TOP
Regenerate the make dependencies in `depend.mk` with:

Well, then you have to add $(PCRE\_OBJDIR)/ to each object and
$(PCRE\_DIR)/ to each header. I did it manually, it's just a couple of
files. Now your pcre.mk is fairly up to date and it's time to start
patching in the changes...
~/erts/emulator/pcre/> make -f pcre.mk depend

Now your pcre.mk is fairly up to date and it's time to start patching in the changes...

## Updating pcre2_match.c

Expand Down Expand Up @@ -473,7 +471,7 @@ fix whatever you did in pcre.mk to make it build locally.
## Update test suites

The next step is to integrate the updated PCRE2 tests into our test suites.
Copy testoutput[1-5,10] from the testdata directory of your new version
Copy testoutput[1,2,4,5,10] from the testdata directory of your new version
of pcre2, to the re\_SUITE\_data in stdlib's test suites. Run the
test suites and remove any bugs. Usually the bugs come from the fact
that the PCRE test suites get better and from our implementation of
Expand Down
53 changes: 53 additions & 0 deletions erts/emulator/pcre/depend.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
$(PCRE_OBJDIR)/pcre2_auto_possess.o: $(PCRE_DIR)/pcre2_auto_possess.c $(PCRE_DIR)/pcre2_internal.h \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_chartables.o: $(PCRE_DIR)/pcre2_chartables.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_chkdint.o: $(PCRE_DIR)/pcre2_chkdint.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_compile.o: $(PCRE_DIR)/pcre2_compile.c $(PCRE_DIR)/pcre2_compile.h $(PCRE_DIR)/pcre2_internal.h \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_compile_cgroup.o: $(PCRE_DIR)/pcre2_compile_cgroup.c $(PCRE_DIR)/pcre2_compile.h \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_compile_class.o: $(PCRE_DIR)/pcre2_compile_class.c $(PCRE_DIR)/pcre2_compile.h \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_config.o: $(PCRE_DIR)/pcre2_config.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_context.o: $(PCRE_DIR)/pcre2_context.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_error.o: $(PCRE_DIR)/pcre2_error.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_extuni.o: $(PCRE_DIR)/pcre2_extuni.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_find_bracket.o: $(PCRE_DIR)/pcre2_find_bracket.c $(PCRE_DIR)/pcre2_internal.h \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_match.o: $(PCRE_DIR)/pcre2_match.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h \
$(PCRE_DIR)/pcre2_match_yield_coverage.gen.h $(PCRE_DIR)/pcre2_match_loop_break_cases.gen.h
$(PCRE_OBJDIR)/pcre2_match_data.o: $(PCRE_DIR)/pcre2_match_data.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_newline.o: $(PCRE_DIR)/pcre2_newline.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_ord2utf.o: $(PCRE_DIR)/pcre2_ord2utf.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_pattern_info.o: $(PCRE_DIR)/pcre2_pattern_info.c $(PCRE_DIR)/pcre2_internal.h \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_script_run.o: $(PCRE_DIR)/pcre2_script_run.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_serialize.o: $(PCRE_DIR)/pcre2_serialize.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_string_utils.o: $(PCRE_DIR)/pcre2_string_utils.c $(PCRE_DIR)/pcre2_internal.h \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_study.o: $(PCRE_DIR)/pcre2_study.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_substring.o: $(PCRE_DIR)/pcre2_substring.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_tables.o: $(PCRE_DIR)/pcre2_tables.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h $(PCRE_DIR)/pcre2_ucptables_inc.h
$(PCRE_OBJDIR)/pcre2_ucd.o: $(PCRE_DIR)/pcre2_ucd.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_valid_utf.o: $(PCRE_DIR)/pcre2_valid_utf.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h \
$(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_xclass.o: $(PCRE_DIR)/pcre2_xclass.c $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h \
$(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
82 changes: 7 additions & 75 deletions erts/emulator/pcre/pcre.mk
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ pcre2_auto_possess.o \
pcre2_chartables.o \
pcre2_chkdint.o \
pcre2_compile.o \
pcre2_compile_cgroup.o \
pcre2_compile_class.o \
pcre2_config.o \
pcre2_context.o \
Expand Down Expand Up @@ -85,78 +86,9 @@ $(PCRE_YIELD_COV): $(PCRE_DIR)/pcre2_match.c
done > $@; \
echo "#define ERLANG_YIELD_POINT_CNT $$INDEX" >> $@

# Dependencies.
$(PCRE_OBJDIR)/pcre2_auto_possess.o: $(PCRE_DIR)/pcre2_auto_possess.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_chartables.o: $(PCRE_DIR)/pcre2_chartables.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_chkdint.o: $(PCRE_DIR)/pcre2_chkdint.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_compile.o: $(PCRE_DIR)/pcre2_compile.c \
$(PCRE_DIR)/pcre2_compile.h $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h \
$(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_compile_class.o: $(PCRE_DIR)/pcre2_compile_class.c \
$(PCRE_DIR)/pcre2_compile.h $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h \
$(PCRE_DIR)/pcre2_intmodedep.h $(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_config.o: $(PCRE_DIR)/pcre2_config.c \
$(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_context.o: $(PCRE_DIR)/pcre2_context.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_error.o: $(PCRE_DIR)/pcre2_error.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_extuni.o: $(PCRE_DIR)/pcre2_extuni.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_find_bracket.o: $(PCRE_DIR)/pcre2_find_bracket.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_match.o: $(PCRE_DIR)/pcre2_match.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h $(PCRE_DIR)/pcre2_match_loop_break_cases.gen.h $(PCRE_DIR)/pcre2_match_yield_coverage.gen.h
$(PCRE_OBJDIR)/pcre2_match_data.o: $(PCRE_DIR)/pcre2_match_data.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_newline.o: $(PCRE_DIR)/pcre2_newline.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_ord2utf.o: $(PCRE_DIR)/pcre2_ord2utf.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_pattern_info.o: $(PCRE_DIR)/pcre2_pattern_info.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_script_run.o: $(PCRE_DIR)/pcre2_script_run.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_serialize.o: $(PCRE_DIR)/pcre2_serialize.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_string_utils.o: $(PCRE_DIR)/pcre2_string_utils.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_study.o: $(PCRE_DIR)/pcre2_study.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_substring.o: $(PCRE_DIR)/pcre2_substring.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_tables.o: $(PCRE_DIR)/pcre2_tables.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h \
$(PCRE_DIR)/pcre2_ucptables.c
$(PCRE_OBJDIR)/pcre2_ucd.o: $(PCRE_DIR)/pcre2_ucd.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_ucptables.o: $(PCRE_DIR)/pcre2_ucptables.c
$(PCRE_OBJDIR)/pcre2_valid_utf.o: $(PCRE_DIR)/pcre2_valid_utf.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
$(PCRE_OBJDIR)/pcre2_xclass.o: $(PCRE_DIR)/pcre2_xclass.c \
$(PCRE_DIR)/pcre2_internal.h $(PCRE_DIR)/local_config.h $(PCRE_DIR)/pcre2.h $(PCRE_DIR)/pcre2_ucp.h $(PCRE_DIR)/pcre2_intmodedep.h \
$(PCRE_DIR)/pcre2_util.h
depend:
gcc -MM -MG -c -DERLANG_INTEGRATION -DDEBUG *.c \
| sed -E 's/\S+\.o:/$$(PCRE_OBJDIR)\/&/' \
| sed -E 's/\S+\.[ch]\b/$$(PCRE_DIR)\/&/g' > depend.mk

-include $(PCRE_DIR)/depend.mk
Loading
Loading