# Copyright (C) JAEHYUK CHO
# All rights reserved.
# Code by JaeHyuk Cho <mailto:minzkn@minzkn.com>

CROSS_COMPILE                ?=/opt/mips-4.3/bin/mips-linux-gnu-#

CC                           := $(CROSS_COMPILE)gcc#
LD                           := $(CROSS_COMPILE)ld#
AR                           := $(CROSS_COMPILE)ar#
RM                           := rm -f#
STRIP                        := $(CROSS_COMPILE)strip#

THIS_NAME                    := mzudev#

CFLAGS                       := -EL -Os -pipe -Wall -Werror -ansi -fomit-frame-pointer -fPIC -I.#

LDFLAGS                      := -EL -s#
ARFLAGS                      := rc#
STRIPFLAGS                   := --remove-section=.comment --remove-section=.note#

TARGET_lib                   := lib$(THIS_NAME).lo lib$(THIS_NAME).a lib$(THIS_NAME).so#
TARGET_bin                   := $(THIS_NAME)#
TARGET                       := $(TARGET_lib) $(TARGET_bin)#

OBJECTS_lib                  := $(THIS_NAME).o#
OBJECTS_bin                  := main.o#
OBJECTS                      := $(OBJECTS_lib) $(OBJECTS_bin)#

DEPEND                       :=Makefile $(patsubst %.o,%.depend,$(OBJECTS))#

.PHONY: all clean

all: $(TARGET)
clean: ; $(RM) *.o *.depend $(TARGET)

$(TARGET_bin): $(OBJECTS_bin) lib$(THIS_NAME).a
	$(CC) $(LDFLAGS) -o $(@) $(^)
	$(STRIP) $(STRIPFLAGS) $(@)
$(TARGET_lib): $(OBJECTS_lib)

$(OBJECTS): $(DEPEND)
sinclude mzudev.depend

#%.so:    ; $(CC) $(LDFLAGS) -shared -Wl,-soname,$(@).0 -o $(@) $(^)
%.so:    ; $(CC) $(LDFLAGS) -shared -o $(@) $(^)
%.a:     ; $(AR) $(ARFLAGS) $(@) $(^)
%.lo:    ; $(LD) $(LDFLAGS) -r -o $(@) $(^)
%.o: %.c ; $(CC) $(CFLAGS) -c -o $(@) $(<)
%.depend: %.c ; $(CC) -M $(CFLAGS) -c -o $(@) $(<)

# End of Makefile
