diff options
Diffstat (limited to 'oncology/dpfhack_display/unixdll.mk')
-rw-r--r-- | oncology/dpfhack_display/unixdll.mk | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/oncology/dpfhack_display/unixdll.mk b/oncology/dpfhack_display/unixdll.mk new file mode 100644 index 00000000..3130e02e --- /dev/null +++ b/oncology/dpfhack_display/unixdll.mk @@ -0,0 +1,101 @@ +# +# Common makefile to create a unix .so +# +# $Id: unixdll.mk 292 2010-01-07 19:35:21Z strubi $ +# + +OPTIMIZATIONS = -finline-functions #-O2 + +CXXFLAGS = $(INCLUDES) $(OPTIMIZATIONS) +CXXFLAGS += $(DLLFLAGS) +CXXFLAGS += -Wall -MD + +CFLAGS = $(INCLUDES) $(OPTIMIZATIONS) +CFLAGS += $(DLLFLAGS) +CFLAGS += -Wall -MD +CFLAGS += -fPIC + +ifdef RELEASE + CONFIG = Release +else + CONFIG = Debug +endif + +ifndef RELEASE + CFLAGS += $(DEBUGOPTS) +endif + +OBJDIR = $(CONFIG) + +ifndef PREFIX + PREFIX = . +endif + +DLLCOMMONOBJS = $(DLLCOMMONSRCS:%.c=$(OBJDIR)/%.o) +DLLCPPOBJS = $(DLLCPPSRCS:%.cpp=$(OBJDIR)/%.o) +DLLOBJS = $(DLLCSRCS:%.c=$(OBJDIR)/%.o) $(DLLCOMMONOBJS) +DLLOBJS += $(DLLCPPOBJS) +ifndef DLLINSTALLDIR + DLLINSTALLDIR = $(NETPP)/$(CONFIG) +endif + +# +# Please don't change this: +ifndef DLLTYPE + DLLTYPE = $(LIBNAME) +endif + +DLL = $(OBJDIR)/lib$(LIBNAME).so +STATICLIB = $(OBJDIR)/lib$(LIBNAME).a +DLLEXT = .so + +ifndef INSTALLBASE + INSTALLNAME = $(DLLTYPE) +else + INSTALLNAME = $(LIBNAME) +endif + +############################################################################ +# RULES +# + +$(OBJDIR)/%.o : %.cpp + $(CXX) -o $@ -c $< $(CXXFLAGS) + +$(OBJDIR)/%.o : %.c + $(CC) -o $@ -c $< $(CFLAGS) + +$(OBJDIR)/%.o: $(PREFIX)/%.c + $(CC) -o $@ -c $< $(CFLAGS) + +$(OBJDIR)/%.o: $(COMMONSRCDIR)/%.c + $(CC) -o $@ -c $< $(CFLAGS) + +dll: $(DLL) + +$(DLL): dirs $(DLLOBJS) + $(CC) -o $(DLL) -shared $(DLLOBJS) $(DLLDEPS) + + +# Make DLL directory, if it does not exist +$(OBJDIR): + [ -e $(OBJDIR) ] || mkdir $(OBJDIR) + +dirs: $(OBJDIR) + +$(STATICLIB): dirs $(DLLOBJS) + $(AR) ruv $(STATICLIB) $(DLLOBJS) + +libclean: + rm -f $(DLL) $(STATICLIB) + +installdll:: $(DLL) + [ -e $(DLLINSTALLDIR) ] || mkdir $(DLLINSTALLDIR) + cp $(DLL) $(DLLINSTALLDIR)/lib$(INSTALLNAME).so + +clean:: + rm -f $(DLLOBJS) + rm -fr Debug/ Release/ + rm -f *.d + rm -fr $(NETPP)/Debug + rm -fr $(NETPP)/Release |