133 lines
3.8 KiB
Makefile
133 lines
3.8 KiB
Makefile
|
# Makefile for GNU C++ compiler.
|
|||
|
# Copyright (C) 1987, 88, 90-5, 1998 Free Software Foundation, Inc.
|
|||
|
|
|||
|
#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
|
|||
|
|
|||
|
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.
|
|||
|
INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config
|
|||
|
|
|||
|
# Always use -I$(srcdir)/config when compiling.
|
|||
|
.c.o:
|
|||
|
$(CC) -c $(CFLAGS) $(CPPFLAGS) $(INCLUDES) $<
|
|||
|
|
|||
|
# 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
|
|||
|
##
|
|||
|
## $Id: Makefile.in,v 1.2 1998/12/16 21:18:54 law Exp $
|
|||
|
##
|
|||
|
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|||
|
|
|||
|
OBJ = fixincl.o server.o regex.o
|
|||
|
HDR = server.h regex.h
|
|||
|
|
|||
|
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)
|
|||
|
@echo $(CC) -o $@ $(OBJ) $(LIB) ; \
|
|||
|
if $(CC) -o $@ $(OBJ) $(LIB) ; then : ; else \
|
|||
|
rm -f $@ ; (echo "#! /bin/sh" ; echo exit 1 ) > $@ ; \
|
|||
|
chmod 777 $@ ; fi
|
|||
|
|
|||
|
regex.o: regex.c
|
|||
|
-$(CC) $(CFLAGS) -DSTDC_HEADERS=1 -c regex.c
|
|||
|
|
|||
|
fixincl.o : fixincl.x fixincl.c
|
|||
|
server.o : server.c server.h
|
|||
|
|
|||
|
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 ; \
|
|||
|
$(CP) $(srcdir)/$@ . ; fi
|
|||
|
|
|||
|
inclhack.sh: inclhack.def inclhack.tpl hackshell.tpl
|
|||
|
@if ( autogen --help > /dev/null 2>&1 ) ; then \
|
|||
|
echo autogen inclhack.def ; \
|
|||
|
autogen inclhack.def ; \
|
|||
|
else echo You need to install autogen ; \
|
|||
|
$(CP) $(srcdir)/$@ . ; fi
|
|||
|
|
|||
|
fixincl.sh: inclhack.def inclhack.tpl
|
|||
|
@if ( autogen --help > /dev/null 2>&1 ) ; then \
|
|||
|
echo autogen -DPROGRAM=1 -b fixincl inclhack.def ; \
|
|||
|
autogen -DPROGRAM=1 -b fixincl inclhack.def ; touch $@ ; \
|
|||
|
else echo You need to install autogen ; \
|
|||
|
$(CP) $(srcdir)/$@ . ; fi
|
|||
|
|
|||
|
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 ; \
|
|||
|
cp fixincl.sh ../fixinc.sh ; \
|
|||
|
chmod 555 ../fixinc.sh ; \
|
|||
|
rm -f ../fixincl ; \
|
|||
|
echo cp fixincl .. ; \
|
|||
|
cp fixincl .. ; \
|
|||
|
chmod 555 ../fixincl ; \
|
|||
|
else \
|
|||
|
echo cp inclhack.sh ../fixinc.sh ; \
|
|||
|
cp inclhack.sh ../fixinc.sh ; \
|
|||
|
fi
|