Makefile for a SUN target





TARGET = SUN
EXTRA_DEFINES = -UDEBUG

LOCAL_INCLUDES = ./includes
LOCAL_SRC = ./src
LOCAL_OBJS = ./objs
VPATH = ${LOCAL_INCLUDES}:${LOCAL_SRC} ${LOCAL_OBJS}

CC = gcc
CFLAGS = -Wall -I${LOCAL_INCLUDES} -D${TARGET} ${EXTRA_DEFINES} -o $@
CPP = g++
CPPFLAGS = -Wall -I${LOCAL_INCLUDES} -D${TARGET} ${EXTRA_DEFINES} -lsocket -lnsl -o $@

############################################################
# C source code #
############################################################

${LOCAL_OBJS}/sockets.o: sockets.c sockets.h Makefile
        ${CC} ${CFLAGS} -c ${LOCAL_SRC}/sockets.c

############################################################
# C++ source code #
############################################################

${LOCAL_OBJS}/http.o: http.cpp http.hpp Makefile
        ${CPP} ${CPPFLAGS} -c ${LOCAL_SRC}/http.cpp

############################################################
# Test program #
############################################################

http: test.cpp ${LOCAL_OBJS}/http.o ${LOCAL_OBJS}/sockets.o
        ${CPP} ${CPPFLAGS} test.cpp ${LOCAL_OBJS}/http.o ${LOCAL_OBJS}/sockets.o

all: http

clean:
        rm -f ${LOCAL_OBJS}/*