mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| ## Common rules for D source compilation used in all Makefile.am's.
 | |
| ## Copyright (C) 2016-2019 Free Software Foundation, Inc.
 | |
| ##
 | |
| ## GCC is free software; you can redistribute it and/or modify
 | |
| ## it under the terms of the GNU General Public License as published by
 | |
| ## the Free Software Foundation; either version 3, or (at your option)
 | |
| ## any later version.
 | |
| ##
 | |
| ## GCC is distributed in the hope that it will be useful,
 | |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| ## GNU General Public License for more details.
 | |
| ##
 | |
| ## You should have received a copy of the GNU General Public License
 | |
| ## along with GCC; see the file COPYING3.  If not see
 | |
| ## <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| # If there are no sources with known extension (i.e. only D sources)
 | |
| # automake forgets to set this
 | |
| CCLD = $(CC)
 | |
| 
 | |
| toolexecdir = $(libphobos_toolexecdir)
 | |
| toolexeclibdir = $(libphobos_toolexeclibdir)
 | |
| 
 | |
| # Compile D into normal object files
 | |
| .d.o:
 | |
| 	$(GDC) $(GDCFLAGS) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $<
 | |
| 
 | |
| # Compile D sources with libtool
 | |
| .d.lo:
 | |
| 	$(LTDCOMPILE) $(GDCFLAGS) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $<
 | |
| 
 | |
| LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 | |
| 	--mode=compile $(GDC) $(AM_DFLAGS)
 | |
| 
 | |
| # Unittest rules. Unfortunately we can't use _DFLAGS in automake without
 | |
| # explicit D support, so use this hack.
 | |
| # Compile D sources with libtool and test flags
 | |
| %.t.lo : %.d
 | |
| 	$(LTDCOMPILE) $(GDCFLAGSX) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $<
 | |
| 
 | |
| # Compile objects for static linking with test flags
 | |
| # Automake breaks empty rules, so use the shell NOP :
 | |
| %.t.o : %.t.lo
 | |
| 	@:
 | |
| 
 | |
| # Override executable linking commands: We have to use GDC for linking
 | |
| # to make sure we link pthreads and other dependencies
 | |
| unittest_static_LINK = $(LIBTOOL) --tag=D \
 | |
| 	$(unittest_static_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
 | |
| 	$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_static_LDFLAGS) \
 | |
| 	$(LDFLAGS) -o $@
 | |
| 
 | |
| unittest_LINK = $(LIBTOOL) --tag=D \
 | |
| 	$(unittest_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
 | |
| 	$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_LDFLAGS) \
 | |
| 	$(LDFLAGS) -o $@
 | |
| 
 | |
| # Also override library link commands: This is not strictly
 | |
| # required, but we want to record additional dependencies such
 | |
| # as pthread in the library
 | |
| libgdruntime_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
 | |
| 	$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
 | |
| 	$(libgdruntime_la_LDFLAGS) $(LDFLAGS) -o $@
 | |
| 
 | |
| libgdruntime_t_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
 | |
| 	$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
 | |
| 	$(libgdruntime_t_la_LDFLAGS) $(LDFLAGS) -o $@
 | |
| 
 | |
| libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
 | |
| 	$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
 | |
| 	$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@
 | |
| 
 | |
| libgphobos_t_la_LINK = $(LIBTOOL) --tag=D \
 | |
| 	$(libgphobos_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
 | |
| 	$(GDC) $(AM_CFLAGS) $(CFLAGS) $(libgphobos_t_la_LDFLAGS) \
 | |
| 	$(LDFLAGS) -o $@
 |