1# 2# makefile for Linux 3# 4# by default things get put into directories one level up from src directory 5# and all rules are literal and per file so primitive makes will work 6# 7# this is good starting point for porting to other systems 8# 9 10# define location flags 11INCS=-I../pli_incs 12OBJS=../objs 13BIN=../bin 14 15# you can replace dummy main with your more complicated main 16MAINOBJ=$(OBJS)/dig_main.o 17 18# define list of object files explictly - if add must update list 19CVER_OBJS=$(OBJS)/cver.o $(OBJS)/v_src.o $(OBJS)/v_src2.o $(OBJS)/v_src3.o \ 20$(OBJS)/v_fx.o $(OBJS)/v_fx2.o $(OBJS)/v_fx3.o $(OBJS)/v_cnv.o \ 21$(OBJS)/v_ex.o $(OBJS)/v_ex2.o $(OBJS)/v_ex3.o $(OBJS)/v_ex4.o \ 22$(OBJS)/v_trch.o $(OBJS)/v_del.o $(OBJS)/v_sdf.o $(OBJS)/v_prp.o \ 23$(OBJS)/v_prp2.o $(OBJS)/v_sim.o $(OBJS)/v_dbg.o $(OBJS)/v_dbg2.o \ 24$(OBJS)/v_ms.o $(OBJS)/v_tf.o $(OBJS)/v_acc.o $(OBJS)/v_vpi.o \ 25$(OBJS)/v_vpi2.o $(OBJS)/v_vpi3.o 26 27# define compilation flags 28WARNS=-Wall 29# omit frame pointer option needed for 25% speed improvment 30OPTFLGS=-fno-strength-reduce -fomit-frame-pointer 31# option good in general, change if you know your X86 architecture 32ARCHFLGS= -march=pentiumpro 33 34# select one of the sets of C flags - comment out others 35 36# cflags when making optimized cver 37CFLAGS= $(ARCHFLGS) -pipe $(WARNS) $(INCS) $(OPTFLGS) -O2 38 39# cflags when making -g debugging version 40# CFLAGS= $(ARCHFLGS) -pipe $(WARNS) $(INCS) -g 41 42# cflags when making malloc and -g debugging version 43# assumes dbmalloc-14L2.tgz .a lib and malloc.h installed one level up 44# CFLAGS= $(ARCHFLGS) -pipe $(WARNS) $(INCS) -D__DBMALLOC__ -g 45 46# change gcc version if needed 47CC=gcc 48 49# select loader 50LD=ld 51# needed for dynamic PLI loading 52LFLAGS=-export-dynamic 53 54# system libs 55LIBS= -lm -ldl 56# select to use dbmalloc if installed 57# LIBS= -lm ../libdbmalloc.a 58 59# rule for making the cver binary 60cver: $(MAINOBJ) $(CVER_OBJS) 61 $(CC) $(CFLAGS) $(LFLAGS) $(MAINOBJ) $(CVER_OBJS) \ 62 $(LIBS) -o $(BIN)/cver 63 64$(OBJS): v.h systsks.h cvmacros.h 65 66$(OBJS)/dig_main.o: dig_main.c 67 $(CC) $(CFLAGS) -o $(OBJS)/dig_main.o -c dig_main.c 68 69# when adding source files need lines here - insures right c files used 70$(OBJS)/cver.o: cver.c 71 $(CC) $(CFLAGS) -o $(OBJS)/cver.o -c cver.c 72 73$(OBJS)/v_src.o: v_src.c 74 $(CC) $(CFLAGS) -o $(OBJS)/v_src.o -c v_src.c 75 76$(OBJS)/v_src2.o: v_src2.c 77 $(CC) $(CFLAGS) -o $(OBJS)/v_src2.o -c v_src2.c 78 79$(OBJS)/v_src3.o: v_src3.c 80 $(CC) $(CFLAGS) -o $(OBJS)/v_src3.o -c v_src3.c 81 82$(OBJS)/v_fx.o: v_fx.c 83 $(CC) $(CFLAGS) -o $(OBJS)/v_fx.o -c v_fx.c 84 85$(OBJS)/v_fx2.o: v_fx2.c 86 $(CC) $(CFLAGS) -o $(OBJS)/v_fx2.o -c v_fx2.c 87 88$(OBJS)/v_fx3.o: v_fx3.c 89 $(CC) $(CFLAGS) -o $(OBJS)/v_fx3.o -c v_fx3.c 90 91$(OBJS)/v_cnv.o: v_cnv.c 92 $(CC) $(CFLAGS) -o $(OBJS)/v_cnv.o -c v_cnv.c 93 94$(OBJS)/v_ex.o: v_ex.c 95 $(CC) $(CFLAGS) -o $(OBJS)/v_ex.o -c v_ex.c 96 97$(OBJS)/v_ex2.o: v_ex2.c 98 $(CC) $(CFLAGS) -o $(OBJS)/v_ex2.o -c v_ex2.c 99 100$(OBJS)/v_ex3.o: v_ex3.c 101 $(CC) $(CFLAGS) -o $(OBJS)/v_ex3.o -c v_ex3.c 102 103$(OBJS)/v_ex4.o: v_ex4.c 104 $(CC) $(CFLAGS) -o $(OBJS)/v_ex4.o -c v_ex4.c 105 106$(OBJS)/v_trch.o: v_trch.c 107 $(CC) $(CFLAGS) -o $(OBJS)/v_trch.o -c v_trch.c 108 109$(OBJS)/v_del.o: v_del.c 110 $(CC) $(CFLAGS) -o $(OBJS)/v_del.o -c v_del.c 111 112$(OBJS)/v_sdf.o: v_sdf.c 113 $(CC) $(CFLAGS) -o $(OBJS)/v_sdf.o -c v_sdf.c 114 115$(OBJS)/v_prp.o: v_prp.c 116 $(CC) $(CFLAGS) -o $(OBJS)/v_prp.o -c v_prp.c 117 118$(OBJS)/v_prp2.o: v_prp2.c 119 $(CC) $(CFLAGS) -o $(OBJS)/v_prp2.o -c v_prp2.c 120 121$(OBJS)/v_sim.o: v_sim.c 122 $(CC) $(CFLAGS) -o $(OBJS)/v_sim.o -c v_sim.c 123 124$(OBJS)/v_dbg.o: v_dbg.c 125 $(CC) $(CFLAGS) -o $(OBJS)/v_dbg.o -c v_dbg.c 126 127$(OBJS)/v_dbg2.o: v_dbg2.c 128 $(CC) $(CFLAGS) -o $(OBJS)/v_dbg2.o -c v_dbg2.c 129 130$(OBJS)/v_ms.o: v_ms.c 131 $(CC) $(CFLAGS) -o $(OBJS)/v_ms.o -c v_ms.c 132 133$(OBJS)/v_tf.o: v_tf.c 134 $(CC) $(CFLAGS) -o $(OBJS)/v_tf.o -c v_tf.c 135 136$(OBJS)/v_vpi.o: v_vpi.c 137 $(CC) $(CFLAGS) -o $(OBJS)/v_vpi.o -c v_vpi.c 138 139$(OBJS)/v_vpi2.o: v_vpi2.c 140 $(CC) $(CFLAGS) -o $(OBJS)/v_vpi2.o -c v_vpi2.c 141 142$(OBJS)/v_vpi3.o: v_vpi3.c 143 $(CC) $(CFLAGS) -o $(OBJS)/v_vpi3.o -c v_vpi3.c 144 145$(OBJS)/v_acc.o: v_acc.c 146 $(CC) $(CFLAGS) -o $(OBJS)/v_acc.o -c v_acc.c 147 148all: cver 149 echo "done" 150 151# no make clean - just erase all .o files and binary 152clean: 153 rm -f $(OBJS)/*.o $(BIN)/cver 154