# $Id: makefile.bsd,v 1.32.2.1 2003/02/16 12:44:42 stas_degteff Exp $
#
# Legacy makefile for building smapi (static binary & library)
# on FreeBSD/OpenBSD/NetBSD using BSD make.
# Run 'make linstall' to install library into $(LIBDIR)
# Run 'make hinstall' to install C header files.
# No support for the Husky build environment.

prefix=	/usr/local
CC=	gcc
CFLAGS=	-Wall
CDEFS=	-DUNIX
COPT=	-O3
NAMEOPT=-o
AR=	ar
ARFLAGS	= r
RANLIB= ranlib
OBJ=	.o
C=	.c
LIB=	.a
EXE=

TARGET=	libsmapibsd$(LIB)
TARGET_H= *.h
BINDIR=	$(prefix)/bin/
LIBDIR=	$(prefix)/lib/
INCDIR=	$(prefix)/include/smapi/
IBOPT=	-m 555 -c
ILOPT=	-m 444 -c
IIOPT=	-m 444 -c
DIROPT=	-d -m 755
INSTALL=install
RM=     rm
RMFLAGS=-f

# i386 addition
#
.if ${MACHINE_ARCH} == "i386"
   CFLAGS+= -fomit-frame-pointer -fstrength-reduce -m486
.endif

.include "makefile.inc"

.c.o:
	$(CC) $(CFLAGS) $(CDEFS) $(COPT) -c $<

all: $(TARGET) $(PROGRAMS) .MAIN

$(TARGET): $(OBJS)
	$(AR) $(ARFLAGS) $(TARGET) $?
	$(RANLIB) $(TARGET)

$(GNMSGID)$(EXE): $(GMOBJS)
	$(CC) $(STRIP) $(CFLAGS) $(CDEFS) $(NAMEOPT)$@ $@$(C) $^ $(TARGET) $(LIBS)

clean:
	-$(RM) $(RMFLAGS) *.o

distclean: clean
	-$(RM) $(RMFLAGS) $(TARGET)

install: .PHONY
	@echo " Run 'make proginstall' to install programs into $(BINDIR)"
	@echo " Run 'make linstall' to install library into $(LIBDIR)"
	@echo " Run 'make hinstall' to install C header files into $(INCDIR)"

proginstall: $(PROGRAMS)
	$(INSTALL) $(DIROPT) $(BINDIR)
	$(INSTALL) $(IBOPT) $(PROGRAMS) $(BINDIR)

linstall: $(TARGET)
	$(INSTALL) $(DIROPT) $(LIBDIR)
	$(INSTALL) $(ILOPT) $(TARGET) $(LIBDIR)
	ln -sf $(LIBDIR)$(TARGET) $(LIBDIR)$(TARGET).$(VER)
	ln -sf $(LIBDIR)$(TARGET) $(LIBDIR)$(TARGET).$(VERH)

hinstall:
	$(INSTALL) $(DIROPT) $(INCDIR)
	$(INSTALL) $(IIOPT) $(TARGET_H) $(INCDIR)

uninstall: uninstall-h uninstall-lib uninstall-progs

uninstall-progs:
	-cd $(BINDIR) ; $(RM) $(RMFLAGS) $(PROGRAMS)

uninstall-lib:
	-$(RM) $(RMFLAGS) $(LIBDIR)$(TARGET)*

uninstall-h:
	-cd $(INCDIR) ; $(RM) $(RMFLAGS) $(TARGET_H) ; cd .. ; $(RM) $(RMFLAGS) $(INCDIR)



syntax highlighted by Code2HTML, v. 0.9.1