source: trunk/Makefile.frag @ 998

Last change on this file since 998 was 998, checked in by moo, 2 years ago

refactor: fix build, easier devel

  • Property svn:eol-style set to native
File size: 2.5 KB
Line 
1XCACHE_PROC_SRC=$(srcdir)/processor/main.m4
2XCACHE_PROC_OUT=$(builddir)/processor.out.c
3XCACHE_PROC_C=$(builddir)/xc_processor.c.h
4XCACHE_PROC_H=$(builddir)/xc_processor.h
5XCACHE_INCLUDES_SRC=$(srcdir)/includes.c
6XCACHE_INCLUDES_I=$(builddir)/includes.i
7XCACHE_STRUCTINFO_OUT=$(builddir)/structinfo.m4
8
9$(XCACHE_INCLUDES_I): $(XCACHE_INCLUDES_SRC) $(srcdir)/xcache.h
10    $(CC) -I. -I$(srcdir) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -E $(XCACHE_INCLUDES_SRC) -o $(XCACHE_INCLUDES_I)
11
12$(XCACHE_STRUCTINFO_OUT): $(XCACHE_INCLUDES_I) $(srcdir)/gen_structinfo.awk
13    @echo $(XCACHE_STRUCTINFO_OUT) is optional if XCache test is not enabled, feel free if it awk failed to produce it
14    -$(XCACHE_AWK) -f $(srcdir)/gen_structinfo.awk < $(XCACHE_INCLUDES_I) > $(XCACHE_STRUCTINFO_OUT).tmp && mv $(XCACHE_STRUCTINFO_OUT).tmp $(XCACHE_STRUCTINFO_OUT)
15
16$(XCACHE_PROC_OUT): $(XCACHE_PROC_SRC) $(XCACHE_STRUCTINFO_OUT) $(XCACHE_PROC_SOURCES)
17    $(M4) -D srcdir=$(XCACHE_BACKTICK)"$(srcdir)'" -D builddir=$(XCACHE_BACKTICK)"$(builddir)'" $(XCACHE_ENABLE_TEST) $(XCACHE_PROC_SRC) > $(XCACHE_PROC_OUT).tmp
18    mv $(XCACHE_PROC_OUT).tmp $(XCACHE_PROC_OUT)
19
20$(XCACHE_PROC_H): $(XCACHE_PROC_OUT)
21    $(GREP) "export: " $(XCACHE_PROC_OUT) | $(SED) "s/.*export:\(.*\):export.*/\1/g" > $(XCACHE_PROC_H)
22    -$(XCACHE_INDENT) < $(XCACHE_PROC_H) > $(XCACHE_PROC_H).tmp && mv $(XCACHE_PROC_H).tmp $(XCACHE_PROC_H)
23
24$(XCACHE_PROC_C): $(XCACHE_PROC_OUT) $(XCACHE_PROC_H)
25    cp $(XCACHE_PROC_OUT) $(XCACHE_PROC_C)
26    -$(XCACHE_INDENT) < $(XCACHE_PROC_OUT) > $(XCACHE_PROC_C).tmp && mv $(XCACHE_PROC_C).tmp $(XCACHE_PROC_C)
27
28$(builddir)/xcache/xc_processor.lo: $(XCACHE_PROC_C) $(XCACHE_PROC_H)
29
30$(builddir)/submodules/xc_disassembler.lo: $(XCACHE_PROC_H)
31
32$(builddir)/xc_opcode_spec.lo: $(srcdir)/xcache.h $(srcdir)/xc_opcode_spec.c $(srcdir)/xc_opcode_spec_def.h $(srcdir)/xc_const_string.h
33
34$(builddir)/xcache.lo: $(XCACHE_PROC_H) $(srcdir)/xcache/xc_shm.h $(srcdir)/util/xc_stack.h $(srcdir)/xcache_globals.h $(srcdir)/xcache.c $(srcdir)/util/xc_foreachcoresig.h $(srcdir)/xcache/xc_utils.h
35
36xcachesvnclean: clean
37    -svn propget svn:ignore . > .svnignore.tmp 2>/dev/null && mv .svnignore.tmp .svnignore
38    cat .svnignore | grep -v devel | grep -v svnignore | grep -v ^Makefile | grep -v ^config.nice | xargs rm -rf
39
40xcachetest: all
41    $(SED) "s#\\./modules/#$(top_builddir)/modules/#" < $(srcdir)/xcache-test.ini > $(top_builddir)/tmp-php.ini
42    TEST_PHP_SRCDIR=$(srcdir) $(srcdir)/run-xcachetest $(TESTS) $(TEST_ARGS) -c $(top_builddir)/tmp-php.ini
43    $(srcdir)/run-xcachetest $(TESTS) $(TEST_ARGS) -c $(top_builddir)/tmp-php.ini
Note: See TracBrowser for help on using the repository browser.