-CFLAGS = -I$(srcdir)/../../include -I. --std-c89
-
-all: $(LIB)
-
-$(LIB): $(OBJ) Makefile _dummy
- rm -f $(LIB)
- for i in $(OBJ); do echo $$i >> $(LIB); done
+CFLAGS = -I$(srcdir)/../../include -I. --std-c99
+
+all: $(PORTDIR)/$(LIB)
+
+$(PORTDIR)/$(LIB): $(OBJ) Makefile _dummy
+ifeq ($(LIB_TYPE), SDCCLIB)
+ rm -f $@; \
+ ../../../bin/sdcclib -a $@ $(OBJ)
+else ifeq ($(LIB_TYPE), AR)
+ ar -Scq $@ $(OBJ)
+else ifeq ($(LIB_TYPE), RANLIB)
+ ar -Scq $@ $(OBJ)
+ $(top_builddir)/bin/asranlib $@
+else
+ rm -f $@
+ for i in $(basename $(OBJ)); do echo $$i >>$@; done
+ cp $(OBJ) $(PORTDIR)
+endif