# $(dllname) library name (lowercased) # $(script) Pathname to gnu linker script # $(rpath) $OPEN_DYLAN_RPATH # $(full-dll-name) Name (from Library: or Executable:) w/suffix ".so" # $(full-exe-name) Name (from Library: or Executable:) # $(entry-point) Mangled library name, with "Exe0" appended # $(personal-lib) $OPEN_DYLAN_USER_INSTALL/lib # $(system-lib) $OPEN_DYLAN_RELEASE_INSTALL/lib # $(libraries) Set below # $(dllobjs) Object files: # _glue.o (linkdll) or _main.o (linkexe) # LID files: keyword # LID c-object-files: keyword # LID c-source-files: keyword # $(dylan-support) "*.o $(libgc) -lpthread -lc" when linking Dylan itself # $(dlllibs) -lxxx for each library in MKF used-libraries: keyword # $(c-libs) Contents of LID all-c-libraries: and rtlibs: keywords # (in elf-linker case, -l prefix/downcased/.lib removed) # $(base) From HDP base-address: keyword # $(linkopts) Variable-expanded from LID linker-options: keyword # $(image-version) major.minor, from LID major-version: and minor-version: # $(libcmt) C library, multithreaded: set below # linkdll gcc -shared -o $(full-dll-name) -T $(script) -L$(personal-lib) -L$(system-lib) $(libraries) $(dllobjs) $(dylan-support) $(dlllibs) $(c-libs) $(linkopts) $(libcmt) linkexe gcc -o $(full-exe-name) -T $(script) -Wl,-rpath,$(rpath) -L$(personal-lib) -L$(system-lib) $(libraries) $(dllobjs) $(dylan-support) -lpthread $(dlllibs) $(c-libs) $(linkopts) $(libcmt) assemble as -L -o $(object) $(source) ccompile gcc -O2 -g -c rccompile echo Ignoring resource file $(resource).rc touch $(resource).res libraries libcmt -lpthread -ldl -lc libgc -lmmdw guilflags