#
# Makefile fr die GNU-Version der CF-Lib
#

# fr make unter MagiC!
# SHELL = f:/mupfel/mupfel.tos

LIBDIR= /usr/lib
INCDIR= /usr/include

SRCS = alerts.c app.c asciitab.c cicon.c comm.c cookie.c debug.c dragdrop.c \
       file.c filesel.c fontsel.c form_do.c globals.c magx.c mdial.c menu.c \
       misc.c nkcc.c objc.c popup.c scrap.c userdef.c vdi.c wdial.c
ASMS = nkcc-gc.s

OBJS = $(SRCS:%.c=$(OUT_DIR)/%.o) $(ASMS:%.s=$(OUT_DIR)/%.o)
ARFILES = $(SRCS:%.c=%.o) $(ASMS:%.s=%.o)

INC = cflib.h intern.h inline.h

AR = ar
CC = gcc

FLAGS= -Wall -O2 -I.


all: cflib cflib16

cflib:
	@echo "Making cflib"
	@LIB=libcflib.a; OUT_DIR=32bit; CFLAGS="$(FLAGS)"; \
	export LIB OUT_DIR CFLAGS; $(MAKE) dir
	
cflib16:
	@echo "Making cflib 16bit"
	@LIB=libcflib16.a; OUT_DIR=16bit; CFLAGS="-mshort $(FLAGS)"; \
	export LIB OUT_DIR CFLAGS; $(MAKE) dir

dir:
	@ if test -z "$(OUT_DIR)";\
        then\
          "OUT_DIR not defined!"; exit 1;\
        fi
	@ if test ! -d $(OUT_DIR);\
        then\
	  echo "Creating object target directory $(OUT_DIR)";\
          mkdir.ttp $(OUT_DIR);\
        fi
	@$(MAKE) $(LIB)

$(LIB): $(OBJS)
	cd $(OUT_DIR); \
	rm.ttp -f ../$@; \
	$(AR) cs ../$@ $(ARFILES)

install: all
	cp.ttp libcflib.a $(LIBDIR)/libcflib.a
	cp.ttp libcflib16.a $(LIBDIR)/libcflib16.a
	cp.ttp cflib.h $(INCDIR)

clean:
	rm.ttp -rf 16bit\* 32bit\*
	rm.ttp -rf *.a

$(OUT_DIR)/%.o: %.s $(INC)
	$(CC) -c $< -o $@

$(OUT_DIR)/%.o: %.c $(INC)
	$(CC) $(CFLAGS) -c $< -o $@

$(OUT_DIR)/userdef.o: userdef.c inline.rh inline.rsh $(INC)
	$(CC) $(CFLAGS) -fwritable-strings -c $< -o $@

.c.o:
	$(CC) $(FLAGS) -g -c $< 
