amiga-ixemul/ixnet/Makefile.in

195 lines
4.4 KiB
Makefile

#### Start of system configuration section. ####
srcdir = @srcdir@
ifeq ($(srcdir),.)
srcdir = ../..
endif
VPATH := $(srcdir)
# Common prefix for machine-independent installed files.
prefix = @prefix@
# Common prefix for machine-dependent installed files.
exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/Sys/libs
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@
AR = @AR@
NATIVE_CC = @NATIVE_CC@
NATIVE_CFLAGS = @NATIVE_CFLAGS@
NATIVE_LDFLAGS= @NATIVE_LDFLAGS@
DO_CATENATE = @DO_CATENATE@
#### End system configuration section ####
# I *love* GNU make!
define catenate
/bin/echo -n creating $@...
/bin/echo "$(^:%=#include \"%\"\n)" >$@
/bin/echo done
endef
ifeq ($(BASE), morphos)
FLAVOR_CFLAGS = -mcpu=$(FPU)
FIXED_A4 = -ffixed-r13
OTHER_CFLAGS =
else
FLAVOR_CFLAGS = -m$(CPU) -m$(FPU)
OTHER_CFLAGS = -fomit-frame-pointer
FIXED_A4 = -ffixed-a4
endif
ifeq ($(OS),pos)
ALL_CFLAGS = $(CFLAGS) $(FLAVOR_CFLAGS) $(INCS) $(OTHER_CFLAGS) $(POS_CFLAGS) $(DEFS)
else
ALL_CFLAGS = $(CFLAGS) $(FLAVOR_CFLAGS) $(INCS) $(OTHER_CFLAGS) $(DEFS)
endif
ifeq ($(OS),morphos)
NATIVE_FLAGS = $(NATIVE_CFLAGS) $(filter -DDEBUG_VERSION -DNOTRAP, $(ALL_CFLAGS)) -DNATIVE_MORPHOS -DCPU_$(FPU)
else
ifeq ($(FPU),soft-float)
NATIVE_FLAGS = $(NATIVE_CFLAGS) $(filter -DDEBUG_VERSION -DNOTRAP, $(ALL_CFLAGS)) -DCPU_$(CPU)
else
NATIVE_FLAGS = $(NATIVE_CFLAGS) $(filter -DDEBUG_VERSION -DNOTRAP, $(ALL_CFLAGS)) -DCPU_$(CPU) -DFPU_$(FPU)
endif
endif
INCS = -I$(srcdir) -I$(srcdir)/../library -I$(srcdir)/../include -I.
DEFS = -D__DBINTERFACE_PRIVATE
LIB = libixnet.a
SHELL = sh
# Strip the executable (-s), don't look for standard libraries (-nostdlib)
# don't link in crt0.o (-nostartfiles)
# link in some libc.a files (-L../../glue/no-baserel -lglue)
# need some stuff in libgeneral.a
ifeq ($(CPU),powerpc)
LINKFLAGS = -nostdlib -nostartfiles -L/gg/ppc-morphos/lib/libnix/ -L../../../glue/morphos -L../../../db/morphos
else
LINKFLAGS = -nostdlib -nostartfiles -L../../../glue/no-baserel -L../../../db/no-baserel
endif
.c.o:
$(CC) $(ALL_CFLAGS) -c $< -o $@
ifeq ($(OS),pos)
all:
else
ifeq ($(OS),morphos)
all: ixnet.library
else
all: ixnet.library ixnet.debug
endif
endif
SRC_A4 = set_errno.c siglaunch.c
SRC_MISC = create_header.c parse_version.c start.c gates.c
SRC = $(filter-out $(SRC_A4) $(SRC_MISC),$(notdir $(wildcard $(srcdir)/*.c)))
ifeq ($(OS),morphos)
OBJ_N = start.o gates.o
else
OBJ_N = start.o
endif
IXLIBS = $(LIB)
ifeq ($(OS),morphos)
LIBS = -lglue -lsyscall
else
LIBS = -lglue
endif
ifeq ($(DO_CATENATE), yes)
$(LIB) : a4.o az.o
rm -f $@
$(AR) rv $@ $^
$(RANLIB) $@
a4.o: a4.c
$(CC) $(ALL_CFLAGS) $(FIXED_A4) -c $< -o $@
a4.c: $(SRC_A4)
@$(catenate)
az.c: $(SRC)
@$(catenate)
else
OBJS= $(SRC:.c=.o)
OBJS_A4= $(SRC_A4:.c=.o)
$(LIB): $(OBJS_A4) $(OBJS)
rm -f $@
$(AR) rv $@ $^
$(RANLIB) $@
$(OBJS_A4): %.o: %.c
$(CC) $(ALL_CFLAGS) $(FIXED_A4) -c $< -o $@
endif
ixnet.library: $(OBJ_N) $(IXLIBS)
$(CC) $(LINKFLAGS) $(OBJ_N) $(IXLIBS) $(LIBS) -o $@
ixnet.debug: $(OBJ_N) $(IXLIBS)
$(CC) -g $(LINKFLAGS) $(OBJ_N) $(IXLIBS) $(LIBS) -o $@
clean:
rm -rf 680?0 notrap powerpc
rm -f create_header parse_version
clobber: clean
rm -f Makefile
ifeq ($(CPU),powerpc)
start.o: $(srcdir)/start.c version.h $(srcdir)/../include/sys/ixnet_syscall.def ix_internals.h
else
start.o: $(srcdir)/start.S version.h $(srcdir)/../include/sys/ixnet_syscall.def ix_internals.h
$(CC) $(ALL_CFLAGS) -traditional -c $< -o $@
endif
ix_internals.h: create_header.o
echo -e -n >$@ "/* This header has been generated by the create_header tool.\n DO NOT EDIT! */\n\n"
FOO=`ppc-morphos-objdump -D create_header.o | grep -A 1 MY_IXNETBASE_SIZEOF | tail -n 1 | sed "s/.*\.long //"`; echo -e -n >>$@ "#define IXNETBASE_SIZEOF (IXNETBASE_C_PRIVATE + $$FOO)\n"
create_header.o: create_header.c $(srcdir)/../include/user.h ixnet.h
$(CC) $(ALL_CFLAGS) -c $< -o $@
parse_version: parse_version.o
$(NATIVE_CC) $(NATIVE_LDFLAGS) $< -o $@
parse_version.o: parse_version.c
$(NATIVE_CC) $(NATIVE_FLAGS) -c $< -o $@
version.h: parse_version $(srcdir)/../version.in
./parse_version $(srcdir) >$@