#
# lib/makefile for Wlib, part of W
# (C) 1994,95,96 by Torsten Scherer (TeSche)
# itschere@techfak.uni-bielefeld.de
#

include ../.config

#
# targets, depending on the machine
#

CFLAGS = $(ADDCFLAGS) -DTRACE

#
# some definitions
#

SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c, %.o, $(SRCS))
SOBJS = $(patsubst %.c, %.O, $(SRCS))
BOBJS = $(patsubst %.c, %.ob, $(SRCS))
GOBJS = $(patsubst %.c, %.og, $(SRCS))

#
# rules
#

all: $(WLIB)

libW.so: $(SOBJS) Wlib.h
	$(CC) -shared -Wl,-soname,$@ $(SOBJS) -o $@.$(WMAJ).$(WMIN).$(WPL)
	$(LN) -sf $@.$(WMAJ).$(WMIN).$(WPL) $@

libW.a: $(OBJS) Wlib.h
	$(RM) $@
	$(AR) $@ $(OBJS)
ifdef RANLIB
	$(RANLIB) $@
endif

libWg.a: $(GOBJS) Wlib.h
	$(RM) $@
	$(AR) $@ $(GOBJS)
ifdef RANLIB
	$(RANLIB) $@
endif

blibW.a: $(BOBJS) Wlib.h
	$(RM) $@
	$(AR) $@ $(BOBJS)
ifdef RANLIB
	$(RANLIB) $@
endif

# some MiNT linkers use this name format
bW.olb: $(BOBJS) Wlib.h
	$(RM) $@
	$(AR) $@ $(BOBJS)
ifdef RANLIB
	$(RANLIB) $@
endif

.SUFFIXES: .O .ob .og

.c.O:
	$(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c $< -o $@

.c.ob:
	$(CC) $(CPPFLAGS) $(CFLAGS) -mbaserel -c $< -o $@

.c.og:
	$(CC) $(CPPFLAGS) $(CFLAGS) -g -c $< -o $@

clean:
	$(RM) *.o *.O *.ob *.og *~ #*#

veryclean: clean
	$(RM) *.a *.so *.a.* *.so.*

install: Wlib.h $(WLIB)
ifdef INCDIR
	$(INSTALL) -m 644 Wlib.h $(INCDIR)
endif
ifdef LIBDIR
	$(INSTALL) -m 644 $(WLIB) $(LIBDIR)
endif
