PERL CVS PARROT 23 CVS COMMIT PARROT CONFIG GEN MAKEFILES ROOT IN
Date: 24 Feb 2005 21:33:41 -0000

Subject: cvs commit: parrot/config/gen/makefiles root.in
From: bernhard@no-spam (Bernhard Schmalhofer)

cvsuser 05/02/24 13:33:41

Modified: config/gen/makefiles root.in Log:
Tweak the main Makefile some more.
Consistently use '/' as directory separator, until somebody complains.
Put the leading './' into $(PARROT) makes the Makefile nicer, thanks Coke.
Use the macro $(CUR_DIR).
Revision Changes Path 1.278 +43 -41 parrot/config/gen/makefiles/root.in Index: root.in ===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v retrieving revision 1.277
retrieving revision 1.278
diff -u -r1.277 -r1.278
--- root.in 23 Feb 2005 22:56:52 -0000 1.277
+++ root.in 24 Feb 2005 21:33:41 -0000 1.278
@@no-spam -1,5 +1,5 @@no-spam # Copyright: 2001-2005 The Perl Foundation. All Rights Reserved.
-# $Id: root.in,v 1.277 2005/02/23 22:56:52 bernhard Exp $
+# $Id: root.in,v 1.278 2005/02/24 21:33:41 bernhard Exp $
###############################################################################

#
@@no-spam -7,16 +7,17 @@no-spam #
###############################################################################

-VERSION = ${VERSION}${DEVEL}
+DEVEL = ${DEVEL}
+VERSION = ${VERSION}$(DEVEL)
# Override at least PREFIX with the install location if you're going # to be using this outside of your build area.
BUILDPREFIX =
PREFIX = ${prefix}
EXEC_PREFIX = $(PREFIX)
-BINDIR = $(EXEC_PREFIX)/bin -LIBDIR = $(EXEC_PREFIX)/lib -INCLUDEDIR = $(EXEC_PREFIX)/include +BIN_DIR = $(EXEC_PREFIX)/bin +LIB_DIR = $(EXEC_PREFIX)/lib +INCLUDE_DIR = $(EXEC_PREFIX)/include ###############################################################################

@@no-spam -33,11 +34,14 @@no-spam # directory for Build tools BUILD_TOOLS_DIR = build_tools +# current directory +CUR_DIR = .
+ # directory for the intermediate code compiler IMCC_DIR = imcc # directory for header files -INC_DIR = ./${inc}
+INC_DIR = ${inc}
# directory for the IO subsystem IO_DIR = io @@no-spam -45,9 +49,6 @@no-spam # directory for *.ops file OPS_DIR = ops -# file containing the main() function -PARROT_MAIN = $(IMCC_DIR)/main -
# directory for packfile files PF_DIR = pf @@no-spam -76,7 +77,8 @@no-spam # do not die when dir already exits MKDIR = $(PERL) -e ${PQ}-d or mkdir $$_,0777 or die foreach @no-spam CC = ${cc}
-CFLAGS = ${ccflags} ${cc_debug} ${ccwarn} ${cc_inc} ${cc_hasjit} ${cg_flag} ${gc_flag}

+CC_INC = ${cc_inc}
+CFLAGS = ${ccflags} ${cc_debug} ${ccwarn} $(CC_INC) ${cc_hasjit} ${cg_flag} ${gc_flag}

C_LIBS = ${libs}
LINK = ${link}
LINKFLAGS = ${linkflags} ${link_debug} ${ld_debug}
@@no-spam -428,8 +430,8 @@no-spam ###############################################################################

# Executables -PARROT = ${test_prog}$(EXE)
-PARROT_SO = ${test_prog}_so$(EXE)
+PARROT = $(CUR_DIR)/${test_prog}$(EXE)
+PARROT_SO = $(CUR_DIR)/${test_prog}_so$(EXE)
DIS = disassemble$(EXE)
PDUMP = pdump$(EXE)
PINFO = pbc_info$(EXE)
@@no-spam -467,16 +469,16 @@no-spam # arguments (etc) injected in the middle.
# There is probably a better way to do this, but I can't work it out right now.

.c$(O) :
- @no-spam tools/dev/cc_flags.pl ./CFLAGS $(CC) "" $(CFLAGS) -I$(@no-spam ${cc_o_out}$@no-spam -c $<

+ @no-spam tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS $(CC) "" $(CFLAGS) -I$(@no-spam ${cc_o_out}$@no-spam -c $<

.imc.pbc :
- .${slash}$(PARROT) -o $@no-spam $<
+ $(PARROT) -o $@no-spam $<
.pir.pbc :
- .${slash}$(PARROT) -o $@no-spam $<
+ $(PARROT) -o $@no-spam $<
.pbc$(O) :
- .${slash}$(PARROT) -o $@no-spam $<
+ $(PARROT) -o $@no-spam $<
###############################################################################

@@no-spam -613,19 +615,19 @@no-spam flags_dummy :
@no-spam Compiling with:
- @no-spam tools/dev/cc_flags.pl ./CFLAGS echo $(CC) $(CFLAGS) -I$(@no-spam ${cc_o_out} xx$(O) -c xx.c
+ @no-spam tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS echo $(CC) $(CFLAGS) -I$(@no-spam ${cc_o_out} xx$(O) -c xx.c
runtime/parrot/include/parrotlib.pbc: runtime/parrot/library/parrotlib.imc $(PARROT)

- ./parrot -o $@no-spam runtime/parrot/library/parrotlib.imc + $(PARROT) -o $@no-spam runtime/parrot/library/parrotlib.imc runtime/parrot/include/config.fpmc : myconfig config_lib.pasm $(PARROT)
@no-spam Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers
- ./parrot config_lib.pasm + $(PARROT) config_lib.pasm @no-spam If the next line prints $(VERSION), it did help.
- ./parrot parrot-config.imc VERSION DEVEL + $(PARROT) parrot-config.imc VERSION DEVEL -$(PARROT) : $(PARROT_MAIN)$(O) $(GEN_HEADERS) $(LIBPARROT) lib/Parrot/OpLib/core.pm $(LIBICUCORE) $(LIBICUDATA)

- $(LINK) $(LD_OUT)$(PARROT) $(LINKFLAGS) $(PARROT_MAIN)$(O) $(ALL_PARROT_LIBS)

+$(PARROT) : $(IMCC_DIR)/main$(O) $(GEN_HEADERS) $(LIBPARROT) lib/Parrot/OpLib/core.pm $(LIBICUCORE) $(LIBICUDATA)

+ $(LINK) $(LD_OUT)$(PARROT) $(LINKFLAGS) $(IMCC_DIR)/main$(O) $(ALL_PARROT_LIBS)

lib_deps_object : $(O_FILES)
$(PERL) tools/dev/lib_deps.pl object $(O_FILES)
@@no-spam -662,8 +664,8 @@no-spam $(MKDIR) blib blib/lib $(LD) $(LD_SHARE_FLAGS) $(LDFLAGS) $(LD_OUT)blib/lib/libparrot$(SHARE_EXT) $(O_FILES) $(C_LIBS) $(LIBICUCORE) $(LIBICUDATA)

-$(PARROT_SO) : $(PARROT_MAIN)$(O) blib/lib/libparrot$(SHARE_EXT) lib/Parrot/OpLib/core.pm
- $(LINK) $(LINKFLAGS) $(LD_OUT)$(PARROT) $(PARROT_MAIN)$(O) -Lblib/lib -lparrot $(C_LIBS)

+$(PARROT_SO) : $(IMCC_DIR)/main$(O) blib/lib/libparrot$(SHARE_EXT) lib/Parrot/OpLib/core.pm
+ $(LINK) $(LINKFLAGS) $(LD_OUT)$(PARROT) $(IMCC_DIR)/main$(O) -Lblib/lib -lparrot $(C_LIBS)

#
# Parrot Debugger @@no-spam -701,7 +703,7 @@no-spam #
###############################################################################

-$(PARROT_MAIN)$(O) : $(PARROT_MAIN).c $(GENERAL_H_FILES)
+$(IMCC_DIR)/main$(O) : $(IMCC_DIR)/main.c $(GENERAL_H_FILES)
lib/Parrot/OpLib/core.pm : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2pm.pl \
lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(OPS_DIR)/ops.num @@no-spam -723,13 +725,13 @@no-spam # hello hello: test_prep examples/assembly/hello$(EXE)
- ./examples/assembly/hello$(EXE)
+ $(CUR_DIR)/examples/assembly/hello$(EXE)
examples/assembly/hello.pbc: examples/assembly/hello.pasm - ./$(PARROT) -o examples/assembly/hello.pbc examples/assembly/hello.pasm + $(PARROT) -o examples/assembly/hello.pbc examples/assembly/hello.pasm examples/assembly/hello$(O): examples/assembly/hello.pbc - ./$(PARROT) -o examples/assembly/hello$(O) examples/assembly/hello.pbc + $(PARROT) -o examples/assembly/hello$(O) examples/assembly/hello.pbc examples/assembly/hello$(EXE): examples/assembly/hello$(O)
$(MAKE) EXEC=examples/assembly/hello exec @@no-spam -1126,11 +1128,11 @@no-spam # Running a benchmark mopsbench : test_prep - ./$(PARROT) $(PARROT_ARGS) examples/assembly/mops.pasm + $(PARROT) $(PARROT_ARGS) examples/assembly/mops.pasm # Running the game of live lifetest : test_prep - ./$(PARROT) $(PARROT_ARGS) examples/assembly/life.pasm + $(PARROT) $(PARROT_ARGS) examples/assembly/life.pasm # Running the IMCC test suite # normal core @@no-spam -1208,7 +1210,7 @@no-spam progclean :
$(RM_F) $(O_FILES) \
- $(PARROT) $(PARROT_MAIN)$(O) \
+ $(PARROT) $(IMCC_DIR)/main$(O) \
$(PDUMP) $(SRC_DIR)/pdump$(O) $(SRC_DIR)/packdump$(O) \
$(SRC_DIR)/pbc_info$(O) $(PINFO) \
$(PDB) $(SRC_DIR)/pdb$(O) \
@@no-spam -1293,7 +1295,7 @@no-spam cvs -q update -dP rsync :
- rsync -av cvs.perl.org::parrot-HEAD .
+ rsync -av cvs.perl.org::parrot-HEAD $(CUR_DIR)
status :
cvs -n -q upd -dP @@no-spam -1303,12 +1305,12 @@no-spam lint : $(PARROT)
- $(LINT) ${cc_inc} ${cc_hasjit} "-Iclasses" $(LINTFLAGS) $(LINTOPTS) `echo $(O_FILES) | sed ${PQ}s/\.o/\.c/g${PQ}`

- $(LINT) ${cc_inc} $(LINTFLAGS) $(LINTOPTS) $(PARROT_MAIN).c + $(LINT) $(CC_INC) ${cc_hasjit} "-Iclasses" $(LINTFLAGS) $(LINTOPTS) `echo $(O_FILES) | sed ${PQ}s/\.o/\.c/g${PQ}`

+ $(LINT) $(CC_INC) $(LINTFLAGS) $(LINTOPTS) $(IMCC_DIR)/main.c lint2 : $(PARROT)
- $(LINT) ${cc_inc} ${cc_hasjit} "-Iclasses" $(LINTFLAGS2) $(LINTOPTS) `echo $(O_FILES) | sed ${PQ}s/\.o/\.c/g${PQ}`

- $(LINT) ${cc_inc} $(LINTFLAGS2) $(LINTOPTS) $(PARROT_MAIN).c + $(LINT) $(CC_INC) ${cc_hasjit} "-Iclasses" $(LINTFLAGS2) $(LINTOPTS) `echo $(O_FILES) | sed ${PQ}s/\.o/\.c/g${PQ}`

+ $(LINT) $(CC_INC) $(LINTFLAGS2) $(LINTOPTS) $(IMCC_DIR)/main.c ###############################################################################

@@no-spam -1318,7 +1320,7 @@no-spam ###############################################################################

install :
- $(PERL) tools/dev/install_files.pl --buildprefix=$(BUILDPREFIX) --prefix=$(PREFIX) --exec-prefix=$(EXEC_PREFIX) --bindir=$(BINDIR) --libdir=$(LIBDIR) --includedir=$(INCLUDEDIR) MANIFEST MANIFEST.generated
+ $(PERL) tools/dev/install_files.pl --buildprefix=$(BUILDPREFIX) --prefix=$(PREFIX) --exec-prefix=$(EXEC_PREFIX) --bindir=$(BIN_DIR) --libdir=$(LIB_DIR) --includedir=$(INCLUDE_DIR) MANIFEST MANIFEST.generated
###############################################################################

#
@@no-spam -1327,7 +1329,7 @@no-spam ###############################################################################

release : MANIFEST MANIFEST.generated - [ -d parrot-$(VERSION) ] || ln -s . parrot-$(VERSION)
+ [ -d parrot-$(VERSION) ] || ln -s $(CUR_DIR) parrot-$(VERSION)
cp MANIFEST MANIFEST.real grep -v DEVELOPING MANIFEST.real > MANIFEST tar zcvf parrot-$(VERSION).tar.gz $$(perl -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' MANIFEST)

@@no-spam -1349,9 +1351,9 @@no-spam @no-spam --action=clean @no-spam --action=prebuild_classes $(CLASS_O_FILES)
@no-spam --action=copy_src $(GEN_CONFIGS) $(FLUID_FILES) $(ALL_H_FILES)
- @no-spam --action=copy_src classes/*.h $(PARROT_MAIN).c $(INC_DIR)/debug.h + @no-spam --action=copy_src classes/*.h $(IMCC_DIR)/main.c $(INC_DIR)/debug.h
@no-spam --action=copy_src_from_obj $(O_FILES)
- @no-spam --action=write_buildscripts --executable=parrot $(O_FILES) $(PARROT_MAIN)$(O)

+ @no-spam --action=write_buildscripts --executable=parrot $(O_FILES) $(IMCC_DIR)/main$(O)

miniparrot-update :
tools/dev/rebuild_miniparrot.pl @@no-spam -1380,7 +1382,7 @@no-spam tags: tags.dummy $(RM_F) tags - ctags -R --links=no .
+ ctags -R --links=no $(CUR_DIR)
$(PERL) editor/addtags ops/*.ops tags.dummy: