Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

makefile (11007B)


      1 # $Id: makefile 145 2001-10-17 21:53:10Z timo $
      2 HOSTFILE=etc/linux.c
      3 TEMPDIR=/tmp
      4 A=.a
      5 O=.o
      6 E=
      7 CC=cc
      8 CFLAGS=-g
      9 LDFLAGS=
     10 LD=cc
     11 AR=ar ruv
     12 RANLIB=ranlib
     13 DIFF=diff
     14 RM=rm -f
     15 RMDIR=rmdir
     16 TSTDIR=$(BUILDDIR)/$(TARGET)/tst
     17 CUSTOM=custom.mk
     18 include $(CUSTOM)
     19 B=$(BUILDDIR)/
     20 T=$(TSTDIR)/
     21 
     22 # $Id: makefile 145 2001-10-17 21:53:10Z timo $
     23 
     24 what:
     25 	-@echo make all rcc lburg cpp lcc bprint liblcc triple clean clobber
     26 
     27 all::	rcc lburg cpp lcc bprint liblcc
     28 
     29 rcc:	$Brcc$E
     30 lburg:	$Blburg$E
     31 cpp:	$Bcpp$E
     32 lcc:	$Blcc$E
     33 bprint:	$Bbprint$E
     34 liblcc:	$Bliblcc$A
     35 
     36 RCCOBJS=$Balloc$O \
     37 	$Bbind$O \
     38 	$Bdag$O \
     39 	$Bdagcheck$O \
     40 	$Bdecl$O \
     41 	$Benode$O \
     42 	$Berror$O \
     43 	$Bexpr$O \
     44 	$Bevent$O \
     45 	$Binit$O \
     46 	$Binits$O \
     47 	$Binput$O \
     48 	$Blex$O \
     49 	$Blist$O \
     50 	$Bmain$O \
     51 	$Boutput$O \
     52 	$Bprof$O \
     53 	$Bprofio$O \
     54 	$Bsimp$O \
     55 	$Bstmt$O \
     56 	$Bstring$O \
     57 	$Bsym$O \
     58 	$Btrace$O \
     59 	$Btree$O \
     60 	$Btypes$O \
     61 	$Bnull$O \
     62 	$Bsymbolic$O \
     63 	$Bgen$O \
     64 	$Bbytecode$O \
     65 	$Balpha$O \
     66 	$Bmips$O \
     67 	$Bsparc$O \
     68 	$Bstab$O \
     69 	$Bx86$O \
     70 	$Bx86linux$O
     71 
     72 $Brcc$E::	$Bmain$O $Blibrcc$A $(EXTRAOBJS)
     73 		$(LD) $(LDFLAGS) -o $@ $Bmain$O $(EXTRAOBJS) $Blibrcc$A $(EXTRALIBS)
     74 
     75 $Blibrcc$A:	$(RCCOBJS)
     76 		$(AR) $@ $(RCCOBJS); $(RANLIB) $@ || true
     77 
     78 $(RCCOBJS):	src/c.h src/token.h src/config.h
     79 
     80 $Balloc$O:	src/alloc.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/alloc.c
     81 $Bbind$O:	src/bind.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/bind.c
     82 $Bdag$O:	src/dag.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/dag.c
     83 $Bdecl$O:	src/decl.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/decl.c
     84 $Benode$O:	src/enode.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/enode.c
     85 $Berror$O:	src/error.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/error.c
     86 $Bevent$O:	src/event.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/event.c
     87 $Bexpr$O:	src/expr.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/expr.c
     88 $Bgen$O:	src/gen.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/gen.c
     89 $Binit$O:	src/init.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/init.c
     90 $Binits$O:	src/inits.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/inits.c
     91 $Binput$O:	src/input.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/input.c
     92 $Blex$O:	src/lex.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/lex.c
     93 $Blist$O:	src/list.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/list.c
     94 $Bmain$O:	src/main.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/main.c
     95 $Bnull$O:	src/null.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/null.c
     96 $Boutput$O:	src/output.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/output.c
     97 $Bprof$O:	src/prof.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/prof.c
     98 $Bprofio$O:	src/profio.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/profio.c
     99 $Bsimp$O:	src/simp.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/simp.c
    100 $Bstmt$O:	src/stmt.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/stmt.c
    101 $Bstring$O:	src/string.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/string.c
    102 $Bsym$O:	src/sym.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/sym.c
    103 $Bsymbolic$O:	src/symbolic.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/symbolic.c
    104 $Bbytecode$O:	src/bytecode.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/bytecode.c
    105 $Btrace$O:	src/trace.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/trace.c
    106 $Btree$O:	src/tree.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/tree.c
    107 $Btypes$O:	src/types.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/types.c
    108 $Bstab$O:	src/stab.c src/stab.h;	$(CC) $(CFLAGS) -c -Isrc -o $@ src/stab.c
    109 
    110 $Bdagcheck$O:	$Bdagcheck.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Bdagcheck.c
    111 $Balpha$O:	$Balpha.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Balpha.c
    112 $Bmips$O:	$Bmips.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Bmips.c
    113 $Bsparc$O:	$Bsparc.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Bsparc.c
    114 $Bx86$O:	$Bx86.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Bx86.c
    115 $Bx86linux$O:	$Bx86linux.c;	$(CC) $(CFLAGS) -c -Isrc -o $@ $Bx86linux.c
    116 
    117 $Bdagcheck.c:	$Blburg$E src/dagcheck.md; $Blburg src/dagcheck.md $@
    118 $Balpha.c:	$Blburg$E src/alpha.md;    $Blburg src/alpha.md    $@
    119 $Bmips.c:	$Blburg$E src/mips.md;     $Blburg src/mips.md     $@
    120 $Bsparc.c:	$Blburg$E src/sparc.md;    $Blburg src/sparc.md    $@
    121 $Bx86.c:	$Blburg$E src/x86.md;      $Blburg src/x86.md      $@
    122 $Bx86linux.c:	$Blburg$E src/x86linux.md; $Blburg src/x86linux.md $@
    123 
    124 $Brcc.h:	src/rcc.asdl;			$(ASDL_HOME)/bin/asdlGen --c -d $B src/rcc.asdl
    125 $Brcc$O:	$Brcc.h;			$(CC) $(CFLAGS) -c -Isrc -I$B -I$(ASDL_HOME)/include/asdlGen -o $@ $Brcc.c
    126 $Basdl$O:	src/asdl.c $Brcc.h src/c.h;	$(CC) $(CFLAGS) -c -Isrc -I$B -I$(ASDL_HOME)/include/asdlGen -o $@ src/asdl.c
    127 $Bpass2$O:	src/pass2.c $Brcc.h src/c.h;	$(CC) $(CFLAGS) -c -Isrc -I$B -I$(ASDL_HOME)/include/asdlGen -o $@ src/pass2.c
    128 $B2html$O:	src/2html.c $Brcc.h src/c.h;	$(CC) $(CFLAGS) -c -Isrc -I$B -I$(ASDL_HOME)/include/asdlGen -o $@ src/2html.c
    129 
    130 $Bpass2$E:	$Bpass2$O $(EXTRAOBJS) $Blibrcc$A;	$(LD) $(LDFLAGS) -o $@ $Bpass2$O $(EXTRAOBJS) $Blibrcc$A $(EXTRALIBS)
    131 $B2html$E:	$B2html$O $Brcc$O;			$(LD) $(LDFLAGS) -o $@ $B2html$O $Brcc$O $(EXTRALIBS)
    132 
    133 $Bbprint$E:	$Bbprint$O;		$(LD) $(LDFLAGS) -o $@ $Bbprint$O 
    134 
    135 $Bbprint$O:	etc/bprint.c;		$(CC) $(CFLAGS) -c -Isrc -o $@ etc/bprint.c
    136 
    137 $Blcc$E:	$Blcc$O $Bhost$O;	$(LD) $(LDFLAGS) -o $@ $Blcc$O $Bhost$O 
    138 
    139 SYSTEM=$(shell cc -print-search-dirs | head -n 1 | cut -b 10-)
    140 
    141 $Blcc$O:	etc/lcc.c;	$(CC) $(CFLAGS) -c -DTEMPDIR=\"$(TEMPDIR)\" -o $@ etc/lcc.c
    142 $Bhost$O:	$(HOSTFILE);	$(CC) $(CFLAGS) -c -DSYSTEM=\"$(SYSTEM)\" -o $@ $(HOSTFILE)
    143 
    144 LIBOBJS=$Bassert$O $Bbbexit$O $Byynull$O
    145 
    146 $Bliblcc$A:	$(LIBOBJS);	$(AR) $@ $Bassert$O $Bbbexit$O $Byynull$O; $(RANLIB) $@ || true
    147 
    148 $Bassert$O:	lib/assert.c;	$(CC) $(CFLAGS) -c -o $@ lib/assert.c
    149 $Byynull$O:	lib/yynull.c;	$(CC) $(CFLAGS) -c -o $@ lib/yynull.c
    150 $Bbbexit$O:	lib/bbexit.c;	$(CC) $(CFLAGS) -c -o $@ lib/bbexit.c
    151 
    152 $Blburg$E:	$Blburg$O $Bgram$O;	$(LD) $(LDFLAGS) -o $@ $Blburg$O $Bgram$O 
    153 
    154 $Blburg$O $Bgram$O:	lburg/lburg.h
    155 
    156 $Blburg$O:	lburg/lburg.c;	$(CC) $(CFLAGS) -c -Ilburg -o $@ lburg/lburg.c
    157 $Bgram$O:	lburg/gram.c;	$(CC) $(CFLAGS) -c -Ilburg -o $@ lburg/gram.c
    158 
    159 CPPOBJS=$Bcpp$O $Blexer$O $Bnlist$O $Btokens$O $Bmacro$O $Beval$O \
    160 	$Binclude$O $Bhideset$O $Bgetopt$O $Bunix$O
    161 
    162 $Bcpp$E:	$(CPPOBJS)
    163 		$(LD) $(LDFLAGS) -o $@ $(CPPOBJS) 
    164 
    165 $(CPPOBJS):	cpp/cpp.h
    166 
    167 $Bcpp$O:	cpp/cpp.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/cpp.c
    168 $Blexer$O:	cpp/lex.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/lex.c
    169 $Bnlist$O:	cpp/nlist.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/nlist.c
    170 $Btokens$O:	cpp/tokens.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/tokens.c
    171 $Bmacro$O:	cpp/macro.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/macro.c
    172 $Beval$O:	cpp/eval.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/eval.c
    173 $Binclude$O:	cpp/include.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/include.c
    174 $Bhideset$O:	cpp/hideset.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/hideset.c
    175 $Bgetopt$O:	cpp/getopt.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/getopt.c
    176 $Bunix$O:	cpp/unix.c;	$(CC) $(CFLAGS) -c -Icpp -o $@ cpp/unix.c
    177 
    178 test:	$T8q.s \
    179 	$Tarray.s \
    180 	$Tcf.s \
    181 	$Tcq.s \
    182 	$Tcvt.s \
    183 	$Tfields.s \
    184 	$Tfront.s \
    185 	$Tincr.s \
    186 	$Tinit.s \
    187 	$Tlimits.s \
    188 	$Tparanoia.s \
    189 	$Tsort.s \
    190 	$Tspill.s \
    191 	$Tstdarg.s \
    192 	$Tstruct.s \
    193 	$Tswitch.s \
    194 	$Twf1.s \
    195 	$Tyacc.s
    196 
    197 $T8q.s:	tst/8q.c tst/8q.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    198 $Tarray.s:	tst/array.c tst/array.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    199 $Tcf.s:	tst/cf.c tst/cf.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    200 $Tcq.s:	tst/cq.c tst/cq.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    201 $Tcvt.s:	tst/cvt.c tst/cvt.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    202 $Tfields.s:	tst/fields.c tst/fields.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    203 $Tfront.s:	tst/front.c tst/front.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    204 $Tincr.s:	tst/incr.c tst/incr.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    205 $Tinit.s:	tst/init.c tst/init.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    206 $Tlimits.s:	tst/limits.c tst/limits.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    207 $Tparanoia.s:	tst/paranoia.c tst/paranoia.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    208 $Tsort.s:	tst/sort.c tst/sort.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    209 $Tspill.s:	tst/spill.c tst/spill.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    210 $Tstdarg.s:	tst/stdarg.c tst/stdarg.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    211 $Tstruct.s:	tst/struct.c tst/struct.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    212 $Tswitch.s:	tst/switch.c tst/switch.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    213 $Twf1.s:	tst/wf1.c tst/wf1.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    214 $Tyacc.s:	tst/yacc.c tst/yacc.0 all;	@env BUILDDIR=$(BUILDDIR) TSTDIR=$(TSTDIR) src/run.sh $@
    215 
    216 testclean:
    217 	$(RM) $T8q$E $T8q.s $T8q.2 $T8q.1
    218 	$(RM) $Tarray$E $Tarray.s $Tarray.2 $Tarray.1
    219 	$(RM) $Tcf$E $Tcf.s $Tcf.2 $Tcf.1
    220 	$(RM) $Tcq$E $Tcq.s $Tcq.2 $Tcq.1
    221 	$(RM) $Tcvt$E $Tcvt.s $Tcvt.2 $Tcvt.1
    222 	$(RM) $Tfields$E $Tfields.s $Tfields.2 $Tfields.1
    223 	$(RM) $Tfront$E $Tfront.s $Tfront.2 $Tfront.1
    224 	$(RM) $Tincr$E $Tincr.s $Tincr.2 $Tincr.1
    225 	$(RM) $Tinit$E $Tinit.s $Tinit.2 $Tinit.1
    226 	$(RM) $Tlimits$E $Tlimits.s $Tlimits.2 $Tlimits.1
    227 	$(RM) $Tparanoia$E $Tparanoia.s $Tparanoia.2 $Tparanoia.1
    228 	$(RM) $Tsort$E $Tsort.s $Tsort.2 $Tsort.1
    229 	$(RM) $Tspill$E $Tspill.s $Tspill.2 $Tspill.1
    230 	$(RM) $Tstdarg$E $Tstdarg.s $Tstdarg.2 $Tstdarg.1
    231 	$(RM) $Tstruct$E $Tstruct.s $Tstruct.2 $Tstruct.1
    232 	$(RM) $Tswitch$E $Tswitch.s $Tswitch.2 $Tswitch.1
    233 	$(RM) $Twf1$E $Twf1.s $Twf1.2 $Twf1.1
    234 	$(RM) $Tyacc$E $Tyacc.s $Tyacc.2 $Tyacc.1
    235 
    236 install::	all
    237 		install -d /usr/local/lib/lcc
    238 		install -d /usr/local/lib/lcc/gcc
    239 		install $Blcc$E /usr/local/bin
    240 		install $Bcpp$E /usr/local/lib/lcc/gcc
    241 		install $Brcc$E /usr/local/lib/lcc
    242 		install $Bliblcc$A /usr/local/lib/lcc
    243 		install $Blibrcc$A /usr/local/lib/lcc
    244 
    245 uninstall::
    246 		$(RM) /usr/local/lib/lcc/librcc$A
    247 		$(RM) /usr/local/lib/lcc/liblcc$A
    248 		$(RM) /usr/local/lib/lcc/rcc$E
    249 		$(RM) /usr/local/lib/lcc/gcc/cpp$E
    250 		$(RM) /usr/local/bin/lcc$E
    251 		$(RMDIR) /usr/local/lib/lcc/gcc
    252 		$(RMDIR) /usr/local/lib/lcc
    253 
    254 clean::		testclean
    255 		$(RM) $B*$O
    256 		$(RM) $Bdagcheck.c $Balpha.c $Bmips.c $Bx86.c $Bsparc.c $Bx86linux.c $Bgram.c
    257 		$(RM) $Brcc.c $Brcc.h
    258 		$(RM) $Brcc1$E $Brcc1$E $B1rcc$E $B2rcc$E
    259 		$(RM) $B*.ilk
    260 
    261 clobber::	clean
    262 		$(RM) $Brcc$E $B2html$E $Bpass2$E $Blburg$E $Bcpp$E $Blcc$E $Bbprint$E $B*$A
    263 		$(RM) $B*.pdb $B*.pch
    264 
    265 RCCSRCS=src/alloc.c \
    266 	src/bind.c \
    267 	src/dag.c \
    268 	src/decl.c \
    269 	src/enode.c \
    270 	src/error.c \
    271 	src/expr.c \
    272 	src/event.c \
    273 	src/init.c \
    274 	src/inits.c \
    275 	src/input.c \
    276 	src/lex.c \
    277 	src/list.c \
    278 	src/main.c \
    279 	src/output.c \
    280 	src/prof.c \
    281 	src/profio.c \
    282 	src/simp.c \
    283 	src/stmt.c \
    284 	src/string.c \
    285 	src/sym.c \
    286 	src/trace.c \
    287 	src/tree.c \
    288 	src/types.c \
    289 	src/null.c \
    290 	src/symbolic.c \
    291 	src/bytecode.c \
    292 	src/gen.c \
    293 	src/stab.c \
    294 	$Bdagcheck.c \
    295 	$Balpha.c \
    296 	$Bmips.c \
    297 	$Bsparc.c \
    298 	$Bx86linux.c \
    299 	$Bx86.c
    300 
    301 C=$Blcc -A -d0.6 -Wo-lccdir=$(BUILDDIR) -Isrc -I$(BUILDDIR)
    302 triple:	$Brcc$E $Blcc$E $Bcpp$E
    303 	$C -o $B1rcc$E -B$B  $(RCCSRCS)
    304 	$C -o $B2rcc$E -B$B1 $(RCCSRCS)
    305 	strip $B1rcc$E $B2rcc$E
    306 	dd if=$B1rcc$E of=$Brcc1$E bs=512 skip=1
    307 	dd if=$B2rcc$E of=$Brcc2$E bs=512 skip=1
    308 	if cmp $Brcc1$E $Brcc2$E; then \
    309 		mv $B2rcc$E $Brcc$E; \
    310 		$(RM) $B1rcc$E $Brcc[12]$E; fi