Created
March 6, 2012 11:25
-
-
Save bacek/1985777 to your computer and use it in GitHub Desktop.
nqp makefile change proposal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/ops/nqp.ops b/src/ops/nqp.ops | |
index a6ef86c..e50d8fb 100755 | |
--- a/src/ops/nqp.ops | |
+++ b/src/ops/nqp.ops | |
@@ -6,12 +6,12 @@ BEGIN_OPS_PREAMBLE | |
#include "parrot/dynext.h" | |
/* 6modely includes. */ | |
-#include "../6model/sixmodelobject.h" | |
-#include "../6model/repr_registry.h" | |
-#include "../6model/serialization_context.h" | |
-#include "../guts/multi_dispatch.h" | |
-#include "../pmc/pmc_dispatchersub.h" | |
-#include "../pmc/pmc_nqplexinfo.h" | |
+#include "6model/sixmodelobject.h" | |
+#include "6model/repr_registry.h" | |
+#include "6model/serialization_context.h" | |
+#include "guts/multi_dispatch.h" | |
+#include "pmc/pmc_dispatchersub.h" | |
+#include "pmc/pmc_nqplexinfo.h" | |
#include "pmc_sub.h" | |
/* SHA1 algorithm. */ | |
diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in | |
index 230720d..5b6c7e4 100644 | |
--- a/tools/build/Makefile.in | |
+++ b/tools/build/Makefile.in | |
@@ -191,13 +191,13 @@ METAMODEL_SOURCE = src/6model/sixmodelobject.h src/6model/sixmodelobject.c \ | |
src/6model/serialization.h src/guts/multi_dispatch.h \ | |
src/guts/multi_dispatch.c src/6model/base64.c src/6model/base64.h \ | |
-METAMODEL_OBJS = ../6model/sixmodelobject$(O) ../6model/repr_registry$(O) \ | |
- ../6model/knowhow_bootstrapper$(O) ../6model/reprs/KnowHOWREPR$(O) \ | |
- ../6model/reprs/P6opaque$(O) ../6model/reprs/P6int$(O) \ | |
- ../6model/reprs/P6str$(O) ../6model/reprs/P6num$(O) \ | |
- ../6model/reprs/HashAttrStore$(O) ../6model/reprs/Uninstantiable$(O) \ | |
- ../6model/serialization_context$(O) ../6model/serialization$(O) \ | |
- ../guts/multi_dispatch$(O) ../6model/base64$(O) | |
+METAMODEL_OBJS = src/6model/sixmodelobject$(O) src/6model/repr_registry$(O) \ | |
+ src/6model/knowhow_bootstrapper$(O) src/6model/reprs/KnowHOWREPR$(O) \ | |
+ src/6model/reprs/P6opaque$(O) src/6model/reprs/P6int$(O) \ | |
+ src/6model/reprs/P6str$(O) src/6model/reprs/P6num$(O) \ | |
+ src/6model/reprs/HashAttrStore$(O) src/6model/reprs/Uninstantiable$(O) \ | |
+ src/6model/serialization_context$(O) src/6model/serialization$(O) \ | |
+ src/guts/multi_dispatch$(O) src/6model/base64$(O) | |
LIBTOMMATH_BIN = $(TOM)core$(O) \ | |
$(TOM)_error$(O) \ | |
@@ -500,6 +500,30 @@ CLEANUPS = \ | |
3rdparty/sha1/*$(O) \ | |
$(DYNEXT_DIR)/*$(LOAD_EXT) \ | |
+# These need to be above lines that define suffix rules to be portable | |
+ | |
+.SUFFIXES : .c .S .s .pmc .dump $(O) .str .pir .pbc | |
+ | |
+.c$(O) : # suffix rule (limited support) | |
+ $(CC) -I$(PMC_DIR) $(CFLAGS) $(CINCLUDES) $(CC_WARN) -I$(@D) -Isrc/ -o $@ -c $< | |
+ | |
+.pmc.c : # suffix rule (limited support) | |
+ $(PMC2C) --no-lines --dump $(PMC2C_INCLUDES) $< | |
+ $(PMC2C) --no-lines --c $(PMC2C_INCLUDES) $< | |
+ | |
+$(PMC_DIR)/pmc_stable.h: $(PMC_DIR)/stable.c | |
+ | |
+$(PMC_DIR)/pmc_sixmodelobject.h: $(PMC_DIR)/sixmodelobject.c | |
+ | |
+$(PMC_DIR)/pmc_dispatchersub.h: $(PMC_DIR)/dispatchersub.c | |
+ | |
+$(PMC_DIR)/pmc_nqplexinfo.h: $(PMC_DIR)/nqplexinfo.c | |
+ | |
+$(PMC_DIR)/pmc_nqplexpad.h: $(PMC_DIR)/nqplexpad.c | |
+ | |
+$(PMC_DIR)/pmc_serializationcontext.h: $(PMC_DIR)/serializationcontext.c | |
+ | |
+ | |
all: $(NQP_EXE) qregex | |
install: all | |
@@ -682,25 +706,16 @@ $(DYNPMC): $(PMC_SOURCES) $(METAMODEL_SOURCE) | |
cd $(PMC_DIR) && $(CC) -c $(CINCLUDES) -I../../3rdparty/libtommath $(CFLAGS) *.c | |
$(LD) @ld_out@$(DYNPMC) $(GROUP)$(O) src/pmc/*$(O) $(LINKARGS) | |
-$(OPS_DIR)/$(OPS)$(LOAD_EXT): $(OPS_DIR)/$(OPS_SOURCE) $(DYNPMC) | |
- cd $(OPS_DIR) && $(OPS2C) C --dynamic $(OPS_SOURCE) | |
- cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(OPS)$(O) $(CINCLUDES) $(CFLAGS) $(OPS).c | |
- cd src/6model && $(CC) -c @cc_o_out@sixmodelobject$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) sixmodelobject.c | |
- cd src/6model && $(CC) -c @cc_o_out@repr_registry$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) repr_registry.c | |
- cd src/6model && $(CC) -c @cc_o_out@knowhow_bootstrapper$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) knowhow_bootstrapper.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@KnowHOWREPR$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) KnowHOWREPR.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@P6opaque$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6opaque.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@P6int$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6int.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@P6str$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6str.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@P6num$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) P6num.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@HashAttrStore$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) HashAttrStore.c | |
- cd src/6model/reprs && $(CC) -c @cc_o_out@Uninstantiable$(O) -I../../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) Uninstantiable.c | |
- cd src/6model && $(CC) -c @cc_o_out@serialization_context$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) serialization_context.c | |
- cd src/6model && $(CC) -c @cc_o_out@serialization$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) serialization.c | |
- cd src/6model && $(CC) -c @cc_o_out@base64$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) base64.c | |
- cd src/guts && $(CC) -c @cc_o_out@multi_dispatch$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) multi_dispatch.c | |
+$(OPS_DIR)/$(OPS).c: $(OPS_DIR)/$(OPS_SOURCE) | |
+ $(OPS2C) --dynamic $(OPS_DIR)/$(OPS_SOURCE) | |
+ | |
+$(OPS_DIR)/$(OPS)$(O): $(OPS_DIR)/$(OPS).c $(PMC_DIR)/pmc_dispatchersub.h $(PMC_DIR)/pmc_nqplexinfo.h | |
+ | |
+$(OPS_DIR)/$(OPS)$(LOAD_EXT): $(OPS_DIR)/$(OPS).o $(DYNPMC) $(METAMODEL_OBJS) | |
+ #cd $(OPS_DIR) && $(CC) -c @cc_o_out@$(OPS)$(O) $(CINCLUDES) $(CFLAGS) $(OPS).c | |
+ #cd src/guts && $(CC) -c @cc_o_out@multi_dispatch$(O) -I../../$(PMC_DIR) $(CINCLUDES) $(CFLAGS) multi_dispatch.c | |
cd 3rdparty/sha1 && $(CC) -c @cc_o_out@sha1$(O) $(CINCLUDES) $(CFLAGS) sha1.c | |
- cd $(OPS_DIR) && $(LD) @ld_out@$(OPS)$(LOAD_EXT) $(OPS)$(O) $(METAMODEL_OBJS) ../../3rdparty/sha1/sha1$(O) $(LINKARGS) | |
+ $(LD) @ld_out@$(OPS_DIR)/$(OPS)$(LOAD_EXT) $(OPS_DIR)/$(OPS)$(O) $(METAMODEL_OBJS) 3rdparty/sha1/sha1$(O) $(LINKARGS) | |
3rdparty/libtommath/bncore$(O): 3rdparty/libtommath/bncore.c $(LIBTOMMATH_H) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment