# Linux makefile for $(TARGET)
# 编译完成后生成的文件在 Dist 目录下

ifeq ($(NEOTONIC_ROOT),)
NEOTONIC_ROOT = ..
endif

include $(NEOTONIC_ROOT)/rules.mk

# This file can be generated by ./gensrclist.sh
include Makefile.srcs
include ../../../make_env

# General configuration variables:
INCDIR = $(MTLIB_INCLUDE_PATH)/cgi/cgi
LIBDIR = $(MTLIB_LIB_PATH)

TARGET  = neo_cgi
LIBRARIES = 

# Converts cr/lf to just lf
DOS2UNIX = dos2unix

MODULES = $(SRCS:.c=.o)
MODULES := $(MODULES:.cpp=.o)
CFLAGS = $(CFLAGS_LIB)
CFLAGS += $(INCLUDE)

STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
LIBNAME	= lib$(TARGET).so
VERLIBNAME = $(LIBNAME).$(VER_MAJOR)

default: all

all: dist

dist: $(TARGET)
	cp *.a Dist
	cp *.so Dist
	cp $(INSTALL_INC) Dist

dos2unix:
	@$(DOS2UNIX) $(SRCS) $(INCLS)

$(TARGET): $(SHAREDLIB) $(STATICLIB)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@ 

$(STATICLIB): $(MODULES)
	$(AR) $@ $(MODULES)

$(SHAREDLIB): $(MODULES)
	$(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)

install:
	install -d $(INCDIR) $(LIBDIR)
	install -m 644 $(INSTALL_INC) $(INCDIR)
	install -m 644 $(STATICLIB) $(LIBDIR)
	install -m 755 $(SHAREDLIB) $(LIBDIR)
	ln -sf $(SHAREDLIB) $(LIBDIR)/$(VERLIBNAME)
	ln -sf $(VERLIBNAME) $(LIBDIR)/$(LIBNAME)	
#	ldconfig

clean:
	rm -f Dist/*.* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)

