1999-03-03 02:41:52 -05:00
|
|
|
|
# Makefile for GNU compilers.
|
|
|
|
|
# Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
#This file is part of GNU CC.
|
|
|
|
|
|
|
|
|
|
#GNU CC is free software; you can redistribute it and/or modify
|
|
|
|
|
#it under the terms of the GNU General Public License as published by
|
|
|
|
|
#the Free Software Foundation; either version 2, or (at your option)
|
|
|
|
|
#any later version.
|
|
|
|
|
|
|
|
|
|
#GNU CC is distributed in the hope that it will be useful,
|
|
|
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
#GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
#You should have received a copy of the GNU General Public License
|
|
|
|
|
#along with GNU CC; see the file COPYING. If not, write to
|
|
|
|
|
#the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
|
|
|
#Boston, MA 02111-1307, USA.
|
|
|
|
|
|
|
|
|
|
# The makefile built from this file lives in the fixinc subdirectory.
|
|
|
|
|
# Its purpose is to build the any-platforms fixinc.sh script.
|
|
|
|
|
|
|
|
|
|
CFLAGS = -g
|
1999-03-03 02:41:52 -05:00
|
|
|
|
FIXINC_DEFS = @fixinc_defs@
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
CC = @CC@
|
|
|
|
|
SHELL = /bin/sh
|
|
|
|
|
|
|
|
|
|
target=@target@
|
|
|
|
|
# Directory where sources are, from where we are.
|
|
|
|
|
srcdir = @srcdir@
|
|
|
|
|
VPATH = @srcdir@
|
|
|
|
|
|
|
|
|
|
# End of variables for you to override.
|
|
|
|
|
|
|
|
|
|
default : gen
|
|
|
|
|
|
|
|
|
|
# Now figure out from those variables how to compile and link.
|
|
|
|
|
|
|
|
|
|
# Specify the directories to be searched for header files.
|
|
|
|
|
# Both . and srcdir are used, in that order.
|
1999-03-03 02:41:52 -05:00
|
|
|
|
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config -I$(srcdir)/../../include
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
# Always use -I$(srcdir)/config when compiling.
|
|
|
|
|
.c.o:
|
1999-03-03 02:41:52 -05:00
|
|
|
|
$(CC) -c $(CFLAGS) $(FIXINC_DEFS) $(CPPFLAGS) $(INCLUDES) $<
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
# The only suffixes we want for implicit rules are .c and .o.
|
|
|
|
|
.SUFFIXES:
|
|
|
|
|
.SUFFIXES: .c .o
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
|
|
|
##
|
|
|
|
|
## Makefile for constructing the "best" include fixer we can
|
|
|
|
|
##
|
|
|
|
|
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
|
|
|
|
1999-03-12 03:57:04 -05:00
|
|
|
|
OBJ = fixincl.o server.o regex.o procopen.o
|
1998-10-16 03:00:18 -04:00
|
|
|
|
HDR = server.h regex.h
|
1999-03-03 02:41:52 -05:00
|
|
|
|
LIBERTY = ../../libiberty/libiberty.a
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
SH_TARGET = inclhack.sh fixincl.sh
|
|
|
|
|
BIN_TARGET = fixincl
|
|
|
|
|
AG_TEXT = $(SH_TARGET) fixincl.x \
|
|
|
|
|
inclhack.def inclhack.tpl hackshell.tpl fixincl.tpl
|
|
|
|
|
TARGETS = $(SH_TARGET) $(BIN_TARGET)
|
|
|
|
|
|
|
|
|
|
all : $(TARGETS)
|
|
|
|
|
sh : $(SH_TARGET)
|
|
|
|
|
gen : $(SH_TARGET) fixincl.x
|
|
|
|
|
|
|
|
|
|
$(OBJ): $(HDR)
|
|
|
|
|
|
|
|
|
|
fixincl: $(OBJ)
|
1999-03-03 02:41:52 -05:00
|
|
|
|
@echo $(CC) -o $@ $(OBJ) $(LIBERTY) $(LIB) ; \
|
|
|
|
|
if $(CC) -o $@ $(OBJ) $(LIBERTY) $(LIB) ; then : ; else \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
rm -f $@ ; (echo "#! /bin/sh" ; echo exit 1 ) > $@ ; \
|
|
|
|
|
chmod 777 $@ ; fi
|
|
|
|
|
|
|
|
|
|
regex.o: regex.c
|
1999-03-03 02:41:52 -05:00
|
|
|
|
-$(CC) $(CFLAGS) $(FIXINC_DEFS) -DSTDC_HEADERS=1 -c $(srcdir)/regex.c
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
fixincl.o : fixincl.x fixincl.c
|
|
|
|
|
server.o : server.c server.h
|
1999-03-14 20:34:02 -05:00
|
|
|
|
procopen.o : procopen.c server.h
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
fixincl.x: fixincl.tpl inclhack.def
|
|
|
|
|
@if ( autogen --help > /dev/null 2>&1 ) ; then \
|
|
|
|
|
echo autogen -T fixincl.tpl -b fixincl inclhack.def ; \
|
|
|
|
|
autogen -T $(srcdir)/fixincl.tpl -b fixincl \
|
|
|
|
|
$(srcdir)/inclhack.def ; \
|
|
|
|
|
else echo You need to install autogen ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \
|
|
|
|
|
$(CP) $(srcdir)/$@ . ; \
|
|
|
|
|
else touch $@ ; fi ; fi
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
inclhack.sh: inclhack.def inclhack.tpl hackshell.tpl
|
|
|
|
|
@if ( autogen --help > /dev/null 2>&1 ) ; then \
|
|
|
|
|
echo autogen inclhack.def ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
autogen -L$(srcdir) $(srcdir)/inclhack.def ; \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
else echo You need to install autogen ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \
|
|
|
|
|
$(CP) $(srcdir)/$@ . ; \
|
|
|
|
|
else touch $@ ; fi ; fi
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
fixincl.sh: inclhack.def inclhack.tpl
|
|
|
|
|
@if ( autogen --help > /dev/null 2>&1 ) ; then \
|
|
|
|
|
echo autogen -DPROGRAM=1 -b fixincl inclhack.def ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
autogen -DPROGRAM=1 -b fixincl -L$(srcdir) \
|
|
|
|
|
$(srcdir)/inclhack.def ; touch $@ ; \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
else echo You need to install autogen ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \
|
|
|
|
|
$(CP) $(srcdir)/$@ . ; \
|
|
|
|
|
else touch $@ ; fi ; fi
|
1998-10-16 03:00:18 -04:00
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
rm -f *.o $(TARGETS) fixincl.x
|
|
|
|
|
|
|
|
|
|
# Ensure all the targets are built. If the program "fixincl"
|
|
|
|
|
# failed to compile, link or load, then we install the
|
|
|
|
|
# "inclhack.sh" script. Otherwise, we install that program
|
|
|
|
|
# plus the wrapper script, "fixincl.sh".
|
|
|
|
|
#
|
|
|
|
|
install: $(TARGETS)
|
|
|
|
|
@rm -f ../fixinc.sh ; \
|
|
|
|
|
if ( ./fixincl -v > /dev/null 2>&1 ) ; then \
|
|
|
|
|
echo cp fixincl.sh ../fixinc.sh ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
if [ -f ./fixincl.sh ] ; \
|
|
|
|
|
then cp fixincl.sh ../fixinc.sh ; \
|
|
|
|
|
else cp $(srcdir)/fixincl.sh ../fixinc.sh ; fi ; \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
chmod 555 ../fixinc.sh ; \
|
|
|
|
|
rm -f ../fixincl ; \
|
|
|
|
|
echo cp fixincl .. ; \
|
|
|
|
|
cp fixincl .. ; \
|
|
|
|
|
chmod 555 ../fixincl ; \
|
|
|
|
|
else \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
echo Could not install binary fixincludes. ; \
|
|
|
|
|
echo Installing shell script instead. ; \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
echo cp inclhack.sh ../fixinc.sh ; \
|
1999-03-03 02:41:52 -05:00
|
|
|
|
if [ -f ./inclhack.sh ] ; \
|
|
|
|
|
then cp inclhack.sh ../fixinc.sh ; \
|
|
|
|
|
else cp $(srcdir)/inclhack.sh ../fixinc.sh ; fi ; \
|
1998-10-16 03:00:18 -04:00
|
|
|
|
fi
|