From 29d0b5fcd1b68e53a29b16a30a1afcda5fcc198a Mon Sep 17 00:00:00 2001 From: ygrek Date: Tue, 21 Oct 2008 10:19:37 +0300 Subject: [PATCH] finally prop compiles too --- prop-src/Makefile | 58 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/prop-src/Makefile b/prop-src/Makefile index 523bb1c..d2afc1a 100644 --- a/prop-src/Makefile +++ b/prop-src/Makefile @@ -1,17 +1,21 @@ ############################################################################### # -# Makefile for compiling Prop 2.3.x +# Makefile for compiling Prop 2.3.x # ############################################################################### PROP = ../bin/prop -CC = g++ +CC = cl CC_INCLUDE = -I../include -COPTS = -O6 -pedantic -LDOPTS = -lg++ +#COPTS = -O6 -pedantic +COPTS = /EHsc /nologo +#LDOPTS = -lg++ +LDOPT = CFLAGS = $(CC_INCLUDE) $(COPTS) -LDFLAGS = -L../lib -lprop $(LDOPTS) -lm +#LDFLAGS = -L../lib -lprop $(LDOPTS) -lm +LDFLAGS = /LIBPATH:../lib-src libprop.lib PROP_OPTS_BASIC = -strict $(CC_INCLUDE) -save_space -report -v2 PROP_OPTS = $(PROP_OPTS_BASIC) -O14 +OBJ = obj # # These are the prop include files @@ -22,7 +26,7 @@ PROP_H_SRC= \ trs.ph timespace.ph env.ph funmap.ph metasyntax.ph \ pat.ph list.ph grsgen.ph graphtype.ph graphedges.ph \ aggen.ph datatype.ph listimpl.ph rwmix.ph -# dataflow.ph bitfield.ph wam.ph constraint.ph logicgen.ph +# dataflow.ph bitfield.ph wam.ph constraint.ph logicgen.ph # # These are the prop source files @@ -42,7 +46,7 @@ PROP_C_SRC= \ classdef.pcc prop-main.pcc \ aggen.pcc datatype.pcc instance.pcc list.pcc \ visualize.pcc visual2.pcc rwmix.pcc -# dataflow.pcc bitfield.pcc constraint.pcc logicgen.pcc wam.pcc +# dataflow.pcc bitfield.pcc constraint.pcc logicgen.pcc wam.pcc # # These are the normal .h files (not generated by prop) @@ -55,7 +59,7 @@ NORMAL_H_SRC= author.h automake.h classdef.h codegen.h compiler.h \ # NORMAL_C_SRC= automake.cc frontend.cc functortab.cc \ hashtab.cc labelgen.cc options.cc \ - patchlev.cc patenv.cc process.cc textbuf.cc + patchlev.cc patenv.cc process.cc textbuf.cc # # .h files generated by prop @@ -90,48 +94,48 @@ SRC= $(H_SRC) $(C_SRC) # # all object files # -OBJ = $(C_SRC:.cc=.o) +OBJS = $(patsubst %.cc,%.$(OBJ),$(C_SRC)) # # How to build prop # -prop: $(SRC) $(OBJ) - $(CC) $(OBJ) -g -o $@ $(LDFLAGS) +prop: $(OBJS) + link /OUT:$@.exe $(OBJS) $(LDFLAGS) # strip $@ # # Relink prop # build-prop: - $(CC) $(OBJ) -o prop $(LDFLAGS) + $(CC) $(OBJS) -o prop $(LDFLAGS) strip $@ # # Regenerate source only # src: $(SRC) -debug: $(SRC) $(OBJ) - $(CC) $(OBJ) -g -o prop $(LDFLAGS) +debug: $(SRC) $(OBJS) + $(CC) $(OBJS) -g -o prop $(LDFLAGS) -profile: $(SRC) $(OBJ) - $(CC) $(OBJ) -pg -g -o prop $(LDFLAGS) +profile: $(SRC) $(OBJS) + $(CC) $(OBJS) -pg -g -o prop $(LDFLAGS) -tar: +tar: tar -cvf - [a-z]*.h [a-z]*.cc [a-z]*.[ply]* *.tex \ banner testprop testprop2 Makefile README \ | gzip >prop-2.1.tar.gz - + # # Remove object files only # clean: - rm -f *.o + rm -f *.$(OBJ) # # Remove all object files and generated code # spotless: clean - rm -f $(GEN_SRC) + rm -f $(GEN_SRC) depends1: touch depends1 @@ -142,7 +146,7 @@ classes: @awk 'BEGIN { printf "Number of classes = "; }' depends1 || rm -f depends1 @echo Remaking g++ dependency $(CC) -MM $(CFLAGS) $(C_SRC) >depends2 || rm -f depends2 -include depends1 -include depends2 +#include depends1 +#include depends2 -T%.cc: T%.pcc +T%.cc: T%.pcc $(PROP) $(PROP_OPTS_BASIC) $< %.h: %.ph $(PROP) $(PROP_OPTS) $< %.cc: %.pcc $(PROP) $(PROP_OPTS) $< -%.o: %.cc +%.$(OBJ): %.cc $(CC) -c $(CFLAGS) $< -T%: T%.cc +T%: T%.cc $(CC) $@.cc -o $@ -O6 $(CFLAGS) $(LDFLAGS) -- 2.11.4.GIT