nasm/rdoff/Makefile.in
H. Peter Anvin cc147f79e4 Makefiles: use actual archive managers
There is no reason to not use an archive manager to build our
executables.  If there really are systems which don't have any kind of
archive manager, we can simply link all the objects.

This also drops any use of configure to detect library objects.
Instead just use HAVE_* and let the archive manager delete them.

A lot of additional functions could be declared library functions and
reorganized.

***FIX*** Mkfiles/*.mak have not yet been updated.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-03-08 02:08:44 -08:00

117 lines
3.4 KiB
Makefile

#
# Auto-configuring Makefile for RDOFF object file utils; part of the
# Netwide Assembler
#
# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
# Julian Hall. All rights reserved. The software is
# redistributable under the license given in the file "LICENSE"
# distributed in the NASM archive.
top_srcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@
datarootdir = @datarootdir@
CC = @CC@
CFLAGS = @CFLAGS@
BUILD_CFLAGS = $(CFLAGS) @DEFS@
INTERNAL_CFLAGS = -I$(srcdir) -I$(top_srcdir)
ALL_CFLAGS = $(BUILD_CFLAGS) $(INTERNAL_CFLAGS)
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
AR = @AR@
RANLIB = @RANLIB@
STRIP = @STRIP@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
LN_S = @LN_S@
MKDIR = mkdir
RM = rm
LIBOBJS = rdoff.$(O) rdfload.$(O) symtab.$(O) collectn.$(O) \
rdlib.$(O) segtab.$(O) hash.$(O)
RDFLIB = librdoff.$(A)
NASMLIB = ../libnasm.$(A)
LIBS = $(RDFLIB) $(NASMLIB)
# Binary suffixes
O = @OBJEXT@
X = @EXEEXT@
A = a
PROGRAMS = rdfdump$(X) ldrdf$(X) rdx$(X) rdflib$(X) \
rdf2bin$(X) rdf2com$(X) rdf2ith$(X) rdf2ihx$(X) rdf2srec$(X)
.SUFFIXES: .c .i .s .$(O) .$(A) .1 .man
.c.$(O):
$(CC) -c $(ALL_CFLAGS) $<
all: $(PROGRAMS)
$(RDFLIB): $(LIBOBJS)
$(RM) -f $(RDFLIB)
$(AR) cq $(RDFLIB) $(LIBOBJS)
$(RANLIB) $(RDFLIB)
rdfdump$(X): rdfdump.$(O) $(LIBS)
$(CC) $(LDFLAGS) -o rdfdump$(X) rdfdump.$(O) $(LIBS)
ldrdf$(X): ldrdf.$(O) $(LIBS)
$(CC) $(LDFLAGS) -o ldrdf$(X) ldrdf.$(O) $(LIBS)
rdx$(X): rdx.$(O) $(LIBS)
$(CC) $(LDFLAGS) -o rdx$(X) rdx.$(O) $(LIBS)
rdflib$(X): rdflib.$(O) $(LIBS)
$(CC) $(LDFLAGS) -o rdflib$(X) rdflib.$(O) $(LIBS)
rdf2bin$(X): rdf2bin.$(O) $(LIBS)
$(CC) $(LDFLAGS) -o rdf2bin$(X) rdf2bin.$(O) $(LIBS)
rdf2com$(X):
rm -f rdf2com$(X) && $(LN_S) rdf2bin$(X) rdf2com$(X)
rdf2ith$(X):
rm -f rdf2ith$(X) && $(LN_S) rdf2bin$(X) rdf2ith$(X)
rdf2ihx$(X):
rm -f rdf2ihx$(X) && $(LN_S) rdf2bin$(X) rdf2ihx$(X)
rdf2srec$(X):
rm -f rdf2srec$(X) && $(LN_S) rdf2bin$(X) rdf2srec$(X)
rdf2ihx.$(O): rdf2ihx.c
rdf2bin.$(O): rdf2bin.c
rdfdump.$(O): rdfdump.c
rdoff.$(O): rdoff.c rdoff.h
ldrdf.$(O): ldrdf.c rdoff.h ../nasmlib.h symtab.h collectn.h rdlib.h
symtab.$(O): symtab.c symtab.h
collectn.$(O): collectn.c collectn.h
rdx.$(O): rdx.c rdoff.h rdfload.h symtab.h
rdfload.$(O): rdfload.c rdfload.h rdoff.h collectn.h symtab.h
rdlib.$(O): rdlib.c rdlib.h
rdflib.$(O): rdflib.c
segtab.$(O): segtab.c
clean:
rm -f *.$(O) *.$(A) $(PROGRAMS)
spotless: clean
rm -f Makefile
distclean: spotless
install: all
$(MKDIR) -p $(INSTALLROOT)$(bindir)
$(INSTALL_PROGRAM) rdfdump$(X) $(INSTALLROOT)$(bindir)/rdfdump$(X)
$(INSTALL_PROGRAM) ldrdf$(X) $(INSTALLROOT)$(bindir)/ldrdf$(X)
$(INSTALL_PROGRAM) rdx$(X) $(INSTALLROOT)$(bindir)/rdx$(X)
$(INSTALL_PROGRAM) rdflib$(X) $(INSTALLROOT)$(bindir)/rdflib$(X)
$(INSTALL_PROGRAM) rdf2bin$(X) $(INSTALLROOT)$(bindir)/rdf2bin$(X)
cd $(INSTALLROOT)$(bindir) && rm -f rdf2com$(X) && $(LN_S) rdf2bin$(X) rdf2com$(X)
cd $(INSTALLROOT)$(bindir) && rm -f rdf2ith$(X) && $(LN_S) rdf2bin$(X) rdf2ith$(X)
cd $(INSTALLROOT)$(bindir) && rm -f rdf2ihx$(X) && $(LN_S) rdf2bin$(X) rdf2ihx$(X)
cd $(INSTALLROOT)$(bindir) && rm -f rdf2srec$(X) && $(LN_S) rdf2bin$(X) rdf2srec$(X)
$(MKDIR) -p $(INSTALLROOT)$(mandir)/man1
$(INSTALL_DATA) $(srcdir)/*.1 $(INSTALLROOT)$(mandir)/man1/