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: