+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-
-enable_testing()
-
-# Watch out on the order of the building, some modules and libraries
-# must be built before others.
-
-# if (MSVC)
-# add_compile_options(/W3 /WX)
-# else()
-# add_compile_options(-W -Wall -Werror)
-# endif()
-
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/h)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/h)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/alloc)
-
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/string)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/print)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/flt_arith)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/data)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/system)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/em_data)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/em_code)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/em_mes)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/object)
-
-# Incomplete, as it should regenerate the em_tables.
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/src/read_em)
-
-
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/make)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/arch)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/amisc)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/cmisc)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/LLgen)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/misc)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/topgen)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/cpp)
-
-# Compilers and runtime libraries
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lang/basic/src)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lang/pc/comp)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lang/cem/cemcom.ansi)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lang/cem/cpp.ansi)
-
-
-# Should probably not be present, assuming it is installed on target.
-# add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/byacc)
-
-# Compilers / assemblers / linkers
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/6500/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/6800/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/6805/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/6809/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/arm/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/i386/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/i80/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/i86/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/m68020/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/m68k2/as)
-# Currently unported.
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/mips/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/ns/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/pdp/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/powerpc/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/s2650/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/vax4/as)
-# Does not build on current CLang 8.0
-# add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/vc4/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/z80/as)
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/z8000/as)
-
-# Old code generators
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util/cgg)
-
-# CPU Specific coge generators
-#add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/mach/6500/cg)
-
-
-
+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-project(emheaders)
-
-# Create an include only library to be used
-# for easier dependency management.
-
-# Created when generating the CMake file.
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/local.h "#define VERSION 3")
-file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/local.h "#define ACKM ")
-file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/local.h "#define BIGMACHINE 1")
-file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/local.h "#define SYS_5")
-
-
-add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-
-
-
+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-project(em_cemcom.ansi)
-
-
-##################################
-# Location of built scripts.
-##################################
-set(PROJECT_SCRIPTS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../util/scripts)
-
-set(SRC_C
- align.h
- arith.c
- arith.h
- atw.h
- blocks.c
- blocks.h
- ch3.c
- ch3.h
- ch3bin.c
- ch3bin.h
- ch3mon.c
- ch3mon.h
- class.h
- code.c
- conversion.c
- conversion.h
- cstoper.c
- cstoper.h
- dataflow.c
- dataflow.h
- declarator.c
- declarator.h
- decspecs.c
- decspecs.h
- domacro.c
- domacro.h
- dumpidf.c
- error.c
- error.h
- eval.c
- eval.h
- expr.c
- field.c
- file_info.h
- fltcstoper.c
- fltcstoper.h
- idf.c
- input.c
- input.h
- interface.h
- idf.c
- input.c
- input.h
- l_class.h
- l_comment.c
- l_comment.h
- l_em.h
- l_ev_ord.c
- l_lint.c
- l_lint.h
- l_misc.c
- l_outdef.c
- l_states.c
- label.c
- label.h
- level.h
- LLlex.c
- LLlex.h
- LLmessage.c
- main.c
- mes.h
- options.c
- options.h
- pragma.c
- pragma.h
- proto.c
- sizes.h
- skip.c
- skip.h
- specials.h
- stab.c
- stab.h
- stack.c
- stb.c
- struct.c
- switch.c
- tokenname.c
- tokenname.h
- type.c
- util.c
-)
-
-set(INCLUDE_DIRS
- .
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../include
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules/src/idf
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules/src/input
-)
-
-############################################
-# LLgen inputs
-############################################
-
-set(GEN_G
- ${CMAKE_CURRENT_BINARY_DIR}/tokenfile.g
-)
-
-
-
-set(SRC_G
- ${CMAKE_CURRENT_SOURCE_DIR}/program.g
- ${CMAKE_CURRENT_SOURCE_DIR}/declar.g
- ${CMAKE_CURRENT_SOURCE_DIR}/expression.g
- ${CMAKE_CURRENT_SOURCE_DIR}/statement.g
- ${CMAKE_CURRENT_SOURCE_DIR}/ival.g
-)
-
-
-############################################
-# LLgen outputs
-############################################
-
-set(GEN_SRC
- ${CMAKE_CURRENT_BINARY_DIR}/program.c
- ${CMAKE_CURRENT_BINARY_DIR}/declar.c
- ${CMAKE_CURRENT_BINARY_DIR}/expression.c
- ${CMAKE_CURRENT_BINARY_DIR}/statement.c
- ${CMAKE_CURRENT_BINARY_DIR}/ival.c
- ${CMAKE_CURRENT_BINARY_DIR}/tokenfile.c
- ${CMAKE_CURRENT_BINARY_DIR}/Lpars.c
- ${CMAKE_CURRENT_BINARY_DIR}/Lpars.h
- ${CMAKE_CURRENT_BINARY_DIR}/Lncor.c
-)
-
-
-
-
-
-
-set(GFILES
- ${GEN_G}
- ${SRC_G}
-)
-
-
-
-############################################
-# Configuration parameters generated files
-############################################
-
-set(GEN_H_CONFIG
- ${CMAKE_CURRENT_BINARY_DIR}/parameters.h
-)
-
-set(GEN_OTHERS
- ${CMAKE_CURRENT_BINARY_DIR}/code.h
- ${CMAKE_CURRENT_BINARY_DIR}/declar.h
- ${CMAKE_CURRENT_BINARY_DIR}/def.h
- ${CMAKE_CURRENT_BINARY_DIR}/expr.h
- ${CMAKE_CURRENT_BINARY_DIR}/field.h
- ${CMAKE_CURRENT_BINARY_DIR}/estack.h
- ${CMAKE_CURRENT_BINARY_DIR}/util.h
- ${CMAKE_CURRENT_BINARY_DIR}/proto.h
- ${CMAKE_CURRENT_BINARY_DIR}/replace.h
- ${CMAKE_CURRENT_BINARY_DIR}/idf.h
- ${CMAKE_CURRENT_BINARY_DIR}/macro.h
- ${CMAKE_CURRENT_BINARY_DIR}/stack.h
- ${CMAKE_CURRENT_BINARY_DIR}/stmt.h
- ${CMAKE_CURRENT_BINARY_DIR}/struct.h
- ${CMAKE_CURRENT_BINARY_DIR}/switch.h
- ${CMAKE_CURRENT_BINARY_DIR}/type.h
- ${CMAKE_CURRENT_BINARY_DIR}/l_brace.h
- ${CMAKE_CURRENT_BINARY_DIR}/l_state.h
- ${CMAKE_CURRENT_BINARY_DIR}/l_outdef.h
- ${CMAKE_CURRENT_BINARY_DIR}/next.c
-)
-
-
-
-
-
-
-set(CFILES
- ${SRC_C}
- ${GEN_SRC}
- ${GEN_H_CONFIG}
- ${GEN_OTHERS}
- symbol2str.c
- char.c
-)
-
-set(LLGENOPTIONS
- -n
-)
-
-###############################################
-# Generate the compile time configuration file
-###############################################
-add_custom_command(
- OUTPUT ${GEN_H_CONFIG} BigPars mkparams.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${PROJECT_SCRIPTS_SOURCE_DIR}/mkparams.sed
- ${CMAKE_CURRENT_BINARY_DIR}/mkparams.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/BigPars
- ${CMAKE_CURRENT_BINARY_DIR}/BigPars
- COMMAND sed -f ${PROJECT_SCRIPTS_SOURCE_DIR}/mkparams.sed ${CMAKE_CURRENT_BINARY_DIR}/BigPars>parameters.h
- DEPENDS BigPars)
-
-###############################################
-# Generate other source files
-###############################################
-
-
-add_custom_command(
- OUTPUT ${GEN_OTHERS} mkalloc1.sed mkalloc2.sed mknext.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${PROJECT_SCRIPTS_SOURCE_DIR}/mkalloc1.sed
- ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${PROJECT_SCRIPTS_SOURCE_DIR}/mkalloc2.sed
- ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${PROJECT_SCRIPTS_SOURCE_DIR}/mknext.sed
- ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed
-
-
-
-
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/code.str>code.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/declar.str>declar.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/def.str>def.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/expr.str>expr.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/field.str>field.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/estack.str>estack.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/util.str>util.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/proto.str>proto.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/idf.str>idf.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/macro.str>macro.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/stack.str>stack.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/stmt.str>stmt.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/struct.str>struct.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/switch.str>switch.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/type.str>type.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_brace.str>l_brace.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_state.str>l_state.h
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc1.sed -f ${CMAKE_CURRENT_BINARY_DIR}/mkalloc2.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_outdef.str>l_outdef.h
- # Create next file from above files
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/next.str
- ${CMAKE_CURRENT_BINARY_DIR}/next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/code.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/declar.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/def.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/expr.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/field.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/estack.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/util.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/proto.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/idf.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/macro.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/stack.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/stmt.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/struct.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/switch.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/type.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_brace.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_state.str>>next.c
- COMMAND sed -n -f ${CMAKE_CURRENT_BINARY_DIR}/mknext.sed ${CMAKE_CURRENT_SOURCE_DIR}/l_outdef.str>>next.c
-)
-
-
-
-
-
-add_custom_command(
- OUTPUT char.c
- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/../../../util/cmisc/tabgen -f${CMAKE_CURRENT_SOURCE_DIR}/char.tab >char.c
-)
-
-###############################################
-# Generate the LLGen source files
-# NOTE: Order of input file is important
-###############################################
-
-add_custom_command(
- OUTPUT tokenfile.g mktkfile.sed
- COMMAND ${CMAKE_COMMAND} -E copy
- ${PROJECT_SCRIPTS_SOURCE_DIR}/mktkfile.sed
- ${CMAKE_CURRENT_BINARY_DIR}/mktkfile.sed
- COMMAND sed -f ${CMAKE_CURRENT_BINARY_DIR}/mktkfile.sed ${CMAKE_CURRENT_SOURCE_DIR}/tokenname.c>tokenfile.g
-)
-
-add_custom_command(
- OUTPUT ${GEN_SRC}
- COMMAND ${CMAKE_COMMAND} -E env LLGEN_LIB_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../../../util/LLgen/lib ${CMAKE_CURRENT_BINARY_DIR}/../../../util/LLgen/LLgen ${LLGENOPTIONS} ${GEN_G} ${SRC_G}
- DEPENDS LLgen tokenfile.g)
-
-
-add_custom_command(
- OUTPUT symbol2str.c
- COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/tokcaseh.in >symbol2str.c
- COMMAND sed -f ${CMAKE_CURRENT_SOURCE_DIR}/tokcase.sed ${CMAKE_CURRENT_SOURCE_DIR}/tokenname.c >>symbol2str.c
- COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/tokcasee.in >>symbol2str.c
-)
-
-
-add_executable(${PROJECT_NAME} ${CFILES})
-target_compile_definitions(${PROJECT_NAME} PUBLIC NORCSID=1)
-target_include_directories(${PROJECT_NAME} PUBLIC ${INCLUDE_DIRS})
-
-target_link_libraries(${PROJECT_NAME} emheaders emh flt alloc print string system em_data eme em_mes)
-
-install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cemcom.ansi.1 DESTINATION man OPTIONAL)
-
-
+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-project(emh)
-
-# Create an include only library to be used
-# for easier dependency management.
-
-
-add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
-
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-
+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-project (alloc)
-
-set(SRC
- botch.c
- clear.c
- Malloc.c
- No_Mem.c
- Realloc.c
- Salloc.c
- Srealloc.c
- std_alloc.c
- st_alloc.c
- alloc.h
-)
-
-
-add_library(${PROJECT_NAME} ${SRC})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "alloc.h")
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/alloc.3 DESTINATION man OPTIONAL)
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project (data)
-
-set(SRCS
- array.c
- array.h
- astring.c
- astring.h
- diagnostics.c
- diagnostics.h
- imap.c
- imap.h
- pmap.c
- pmap.h
- smap.c
- smap.h
- stringlist.c
- stringlist.h
-)
-
-
-
-set(INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-
-
-add_library(${PROJECT_NAME} ${SRCS})
-target_include_directories(${PROJECT_NAME} PUBLIC ${INCLUDE_DIRS})
-
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "array.h;astring.h;diagnostics.h;imap.h;pmap.h;smap.h;stringlist.h")
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project(em_code)
-
-set(SRC
- bhcst.c
- bhdlb.c
- bhdnam.c
- bhfcon.c
- bhicon.c
- bhilb.c
- bhpnam.c
- bhucon.c
- crcst.c
- crdlb.c
- crdnam.c
- crxcon.c
- crilb.c
- crpnam.c
- crscon.c
- cst.c
- dfdlb.c
- dfdnam.c
- dfilb.c
- dlb.c
- dnam.c
- end.c
- endarg.c
- exc.c
- fcon.c
- getid.c
- icon.c
- ilb.c
- insert.c
- internerr.c
- msend.c
- op.c
- opcst.c
- opdlb.c
- opdnam.c
- opilb.c
- opnarg.c
- oppnam.c
- pnam.c
- pro.c
- pronarg.c
- msstart.c
- psdlb.c
- psdnam.c
- pspnam.c
- scon.c
- ucon.c
- C_out.c
- failed.c
- em.c
- em_codeEK.h
- em_code.h
- em_codeCE.h
- em_codeO.h
- em_private.h
-)
-
-set(INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
-)
-
-
-
-add_library(eme ${SRC})
-target_include_directories(eme PUBLIC ${INCLUDE_DIRS})
-target_compile_definitions(eme PRIVATE READABLE_EM)
-target_link_libraries(eme em_data alloc print system)
-
-add_library(emk ${SRC})
-target_include_directories(emk PUBLIC ${INCLUDE_DIRS})
-target_link_libraries(emk em_data alloc print system)
-
-set_target_properties(eme PROPERTIES PUBLIC_HEADER "em_codeEK.h")
-set_target_properties(emk PROPERTIES PUBLIC_HEADER "em_codeEK.h")
-
-add_custom_command(
- OUTPUT em_codeEK.h file1.tmp
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/makeem.sed
- ${CMAKE_CURRENT_BINARY_DIR}/makeem.sed
- COMMAND sed -f makeem.sed ${CMAKE_CURRENT_SOURCE_DIR}/../../../h/em_table>file1.tmp
- COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/em.nogen file1.tmp>em_codeEK.h
- COMMENT "Regenerate em_codeEK.h from em_table"
-)
-
-install(TARGETS eme emk
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/em_code.3X DESTINATION man OPTIONAL)
-
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project(em_data)
-
-set(SRC
- em_spec.h
- em_pseu.h
- em_pseu.c
- em_mnem.h
- em_mnem.c
- em_flag.c
- em_ptyp.c
-)
-
-set(INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}/../../h
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../h
-)
-
-
-
-add_library(${PROJECT_NAME} ${SRC})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${INCLUDE_DIRS})
-target_link_libraries(${PROJECT_NAME} emheaders emh)
-
-add_executable(makeem makeem.c)
-target_link_libraries(makeem data)
-
-add_custom_command(
- OUTPUT em_spec.h em_pseu.h em_pseu.c em_mnem.h em_mnem.c em_flag.c
- COMMAND makeem ${CMAKE_CURRENT_SOURCE_DIR}/../../../h/em_table
- COMMENT "Generating em_data files"
- DEPENDS makeem
-)
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
-
-
-
-
+++ /dev/null
-/** A utility to convert the em definition table to generated code.
- * This is more portable than the shell scripts that currently
- * exist.
- *
- * This tool should only be called if the em_table is changeed, it creates
- * the following files:
- * em_spec.h
- * em_pseu.h
- * em_pseu.c
- * em_mnem.h
- * em_mnem.c
- * em_flag.c
- *
- *
- */
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdbool.h>
-#include "array.h"
-
-
-
-size_t trimwhitespace(char *out, size_t len, const char *str)
-{
- if(len == 0)
- return 0;
-
- const char *end;
- size_t out_size;
-
- // Trim leading space
- while(isspace((unsigned char)*str)) str++;
-
- if(*str == 0) // All spaces?
- {
- *out = 0;
- return 1;
- }
-
- // Trim trailing space
- end = str + strlen(str) - 1;
- while(end > str && isspace((unsigned char)*end)) end--;
- end++;
-
- // Set output size to minimum of trimmed string length and buffer size minus 1
- out_size = (end - str) < len-1 ? (end - str) : len-1;
-
- // Copy trimmed string and add null terminator
- memcpy(out, str, out_size);
- out[out_size] = 0;
-
- return out_size;
-}
-
-
-#define BUFFER_SIZE 4096
-
-/** This section contains indexes to the different limits as well as important
- * constant values */
-#define SECTION_INDEXES 0
-/** This section contains the "opcodes" for the different mnemonics */
-#define SECTION_MNEMONICS SECTION_INDEXES+1
-/** This section contains the "opcodes" for the em machine */
-#define SECTION_OPCODES SECTION_MNEMONICS+1
-
-
-static char inbuffer[BUFFER_SIZE];
-static char buffer[BUFFER_SIZE];
-
-static struct array section_index;
-static struct array section_mnemonics;
-static struct array section_opcodes;
-
-
-
-
-/** Separates the string into its separate tokens,
- * and fills up the column data structure accordingly.
- *
- * maxcolumns indicates the maximum number of columns
- * allowed in the text file.
- *
- */
-struct array *newrow(char* buffer, int maxcolumns)
-{
- char* pch = NULL;
- int i = 0;
- int count = 0;
- struct array *columns = NULL;
-
- columns = calloc(1,sizeof(struct array));
- if (columns == NULL)
- {
- fprintf(stderr,"Cannot allocate memory.\n");
- exit(EXIT_FAILURE);
- }
-
-
- pch = strtok (buffer,"\t ");
- if (pch == NULL)
- {
- fprintf(stderr,"Expecting %d columns for indexes.\n",maxcolumns);
- exit(EXIT_FAILURE);
- }
- array_append(columns,strdup(pch));
- count++;
- for (i = count; i < maxcolumns; i++)
- {
- pch = strtok (NULL, "\t ");
- if (pch == NULL)
- {
- fprintf(stderr,"Expecting %d columns for indexes.\n",maxcolumns);
- exit(EXIT_FAILURE);
-
- }
- count++;
- array_append(columns,strdup(pch));
- }
- return columns;
-}
-
-
-void disposerow(struct array *row)
-{
- int i = 0;
- char* str;
- for (i = 0; i < row->count; i++)
- {
- str = (char*)row->item[i];
- free(str);
- row->item[i] = NULL;
- }
- free(row);
-}
-
-
-
-
-/** Copies a null terminated string,
- * but allocates the memory.
- *
- */
-char* strdup(const char* s)
-{
- int length = strlen(s)+1;
- char* ptr = malloc(length);
- memcpy(ptr, s, length);
- return ptr;
-}
-
-
-int main(int argc, char *argv[])
-{
- int i = 0;
- struct array *columns;
- int value;
- char *str;
-
- char c1;
- char c2;
- FILE* hfile;
- FILE* cfile;
- char str1[3] = {0,0,0};
- char str2[3] = {0,0,0};
- /** First opcode value, -1 is invalid. */
- int fmnem = -1;
- /** First pseudocode value, -1 is invalid. */
- int fpseu = -1;
- if (argc != 2)
- {
- fprintf(stdout,"Requires em_table file and pathname\n");
- return EXIT_FAILURE;
- }
-
- FILE *fd = fopen(argv[1],"r");
- int section = SECTION_INDEXES;
- fprintf(stdout,"Opening : %s\n",argv[1]);
- if (fd == NULL)
- {
- fprintf(stderr,"Cannot find file.\n");
- return EXIT_FAILURE;
- }
- while (fgets(inbuffer,BUFFER_SIZE,fd)!=NULL)
- {
- /* First section, opcode limits. */
- trimwhitespace(buffer,BUFFER_SIZE,inbuffer);
- /** Next section */
- if (strlen(buffer)==0)
- {
- section++;
- continue;
- }
-
-
- if (section == SECTION_INDEXES)
- {
- /* Split the row text into columns. */
- columns = newrow(buffer, 2);
- array_append(§ion_index, columns);
- }
- else
- if (section == SECTION_MNEMONICS)
- {
- columns = newrow(buffer, 3);
- array_append(§ion_mnemonics, columns);
- } else
- if (section == SECTION_OPCODES)
- {
- columns = newrow(buffer, 3);
- array_append(§ion_opcodes, columns);
- }
- }
- fclose(fd);
-
- /* process the indexes */
- hfile = fopen("em_spec.h","w");
- for (i = 0; i < section_index.count; i++)
- {
- columns = (struct array*)section_index.item[i];
- str = columns->item[0];
- if (strcmp("fpseu",columns->item[0])==0)
- {
- fpseu = atoi(columns->item[1]);
-
- }
- if (strcmp("fmnem",columns->item[0])==0)
- {
- fmnem = atoi(columns->item[1]);
-
- }
- fprintf(hfile,"#define sp_%s\t %s\n",columns->item[0],columns->item[1]);
- }
- fprintf(hfile,"#define sp_lpseu\t% d\n",fpseu+section_mnemonics.count - 1);
- fprintf(hfile,"#define sp_lmnem\t %d\n",fmnem+section_opcodes.count - 1);
- fclose(hfile);
-
-
- /** Check validity of first indexes. */
- if ((fpseu == -1) || (fmnem == -1))
- {
- fprintf(stderr,"Error fpseu or fmnem first index values are not defined.\n");
- exit(EXIT_FAILURE);
- }
-
- /* process the pseudocodes */
- hfile = fopen("em_pseu.h","w");
- cfile = fopen("em_pseu.c","w");
- fprintf(cfile,"char em_pseu[][4] = {\n");
- for (i = 0; i < section_mnemonics.count; i++)
- {
- columns = (struct array*)section_mnemonics.item[i];
- str = columns->item[1];
- value = atoi(str);
- fprintf(hfile,"#define ps_%s\t%d\n",columns->item[0],value+fpseu);
- fprintf(cfile," \"%s\",\n",columns->item[0]);
- }
- fprintf(cfile,"};\n");
- fclose(hfile);
- fclose(cfile);
-
- /* process the opcodes */
- hfile = fopen("em_mnem.h","w");
- cfile = fopen("em_mnem.c","w");
- fprintf(cfile,"char em_mnem[][4] = {\n");
- for (i = 0; i < section_opcodes.count; i++)
- {
- columns = (struct array*)section_opcodes.item[i];
- fprintf(hfile,"#define op_%s\t%d\n",columns->item[0],i+fmnem);
- fprintf(cfile," \"%s\",\n",columns->item[0]);
- }
- fprintf(cfile,"};\n");
- fclose(hfile);
- fclose(cfile);
-
- /* Create the flag files from opcodes */
- cfile = fopen("em_flag.c","w");
- fprintf(cfile,"#include \"em_flag.h\"\n");
- fprintf(cfile,"char em_flag[] = {\n");
- for (i = 0; i < section_opcodes.count; i++)
- {
- columns = (struct array*)section_opcodes.item[i];
- /* 2nd column indicate the parameter format, always on 2 columns. */
- if (strlen(columns->item[1])!=2)
- {
- fprintf(stderr,"Error opcode type characterstic should be on 2 characters.\n");
- exit(EXIT_FAILURE);
- }
- str = (char*)columns->item[1];
- c1 = toupper(str[0]);
- c2 = toupper(str[1]);
- str1[0] = c1;
- str1[1] = '\0';
- str2[0] = c2;
- str2[1] = '\0';
- if (c1 == '-')
- strcpy(str1,"NO");
- if (c2 == '-')
- strcpy(str2,"NO");
- fprintf(cfile, "PAR_%s | FLO_%s,\n",str1,str2);
- }
- fprintf(cfile,"};\n");
- fclose(cfile);
-
-
- return EXIT_SUCCESS;
-
-}
+++ /dev/null
-cmake_minimum_required (VERSION 3.0)
-project(em_mes)
-
-
-set(SRC_C
- C_ms_com.c
- C_ms_ego.c
- C_ms_emx.c
- C_ms_err.c
- C_ms_flt.c
- C_ms_gto.c
- C_ms_opt.c
- C_ms_par.c
- C_ms_reg.c
- C_ms_src.c
- C_ms_stb.c
- C_ms_std.c
-)
-
-set(INCLUDE_DIRS
- .
-)
-
-
-add_library(${PROJECT_NAME} ${SRC_C})
-target_compile_definitions(${PROJECT_NAME} PUBLIC NORCSID=1)
-target_include_directories(${PROJECT_NAME} PUBLIC ${INCLUDE_DIRS})
-
-target_link_libraries(${PROJECT_NAME} emheaders emh emk em_data)
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/em_mes.3 DESTINATION man OPTIONAL)
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project (flt)
-
-enable_testing()
-
-set(SRCS
- b64_add.c
- b64_sft.c
- flt_add.c
- flt_ar2flt.c
- flt_arith.h
- flt_chk.c
- flt_cmp.c
- flt_div.c
- flt_flt2ar.c
- flt_misc.h
- flt_modf.c
- flt_mul.c
- flt_nrm.c
- flt_str2fl.c
- flt_umin.c
- split.c
-)
-
-add_library(${PROJECT_NAME} ${SRCS})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "flt_arith.h")
-target_link_libraries(${PROJECT_NAME} emh)
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/flt_arith.3 DESTINATION man OPTIONAL)
-
-#############################################
-# Test targets
-#############################################
-add_executable(testflt test.c)
-target_link_libraries(testflt ${PROJECT_NAME})
-
-add_test(NAME ops_testflt COMMAND testsfpu)
-
-# This is a bug workaround with CMake
-#add_custom_target(tests COMMAND ${CMAKE_CTEST_COMMAND}
-# DEPENDS testflt)
\ No newline at end of file
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project (print)
-
-set(SRC
- doprnt.c
- format.c
- fprint.c
- print.c
- sprint.c
- print.h
- param.h
-)
-
-
-add_library(${PROJECT_NAME} ${SRC})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "print.h")
-target_link_libraries(${PROJECT_NAME} string system)
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/print.3 DESTINATION man OPTIONAL)
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project (string)
-
-set(SRC
- bts2str.c
- btscat.c
- btscmp.c
- btscpy.c
- btszero.c
- long2str.c
- str2bts.c
- str2long.c
- strindex.c
- strrindex.c
- strzero.c
- ack_string.h
-)
-
-
-add_library(${PROJECT_NAME} ${SRC})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "ack_string.h")
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/string.3 DESTINATION man OPTIONAL)
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project(system)
-
-set(SRC
- access.c
- break.c
- chmode.c
- close.c
- create.c
- filesize.c
- lock.c
- modtime.c
- open.c
- read.c
- remove.c
- rename.c
- seek.c
- stop.c
- system.c
- write.c
- tmpdir.c
- system.h
-)
-
-add_library(${PROJECT_NAME} ${SRC})
-target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "system.h")
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- PUBLIC_HEADER DESTINATION include
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/system.3 DESTINATION man OPTIONAL)
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project(LLgen)
-
-enable_testing()
-
-set(SRC
- src/main.c
- src/gencode.c
- src/compute.c
- src/LLgen.c
- src/tokens.c
- src/check.c
- src/reach.c
- src/global.c
- src/name.c
- src/sets.c
- src/Lpars.c
- src/alloc.c
- src/machdep.c
- src/cclass.c
- src/savegram.c
- src/cclass.h
- src/extern.h
- src/io.h
- src/Lpars.h
- src/sets.h
- src/types.h
-)
-
-set(INCLUDE_DIRS src)
-
-include_directories(${INCLUDE_DIRS})
-
-add_executable(${PROJECT_NAME} ${SRC})
-target_compile_definitions(${PROJECT_NAME} PUBLIC NDEBUG=1 NON_CORRECTING=1 NORCSID=1)
-
-# Correcting version.
-add_executable(llgen_c ${SRC})
-target_compile_definitions(llgen_c PUBLIC NORCSID=1)
-
-file(COPY lib DESTINATION .)
-
-#############################################
-# Regenerate the actual grammar files
-#############################################
-add_custom_target(regenerate
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tokens.g
- ${CMAKE_CURRENT_BINARY_DIR}/tokens.g
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/src/Llgen.g
- ${CMAKE_CURRENT_BINARY_DIR}/Llgen.g
- COMMAND ${PROJECT_NAME} -vvv tokens.g LLgen.g
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_BINARY_DIR}/Llgen.c ${CMAKE_CURRENT_SOURCE_DIR}/src/LLgen.c
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_BINARY_DIR}/tokens.c ${CMAKE_CURRENT_SOURCE_DIR}/src/tokens.c
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_BINARY_DIR}/Lpars.c ${CMAKE_CURRENT_SOURCE_DIR}/src/Lpars.c
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_BINARY_DIR}/Lpars.h ${CMAKE_CURRENT_SOURCE_DIR}/src/Lpars.h
- COMMENT "Regenerate grammar files and copy them to source"
-)
-add_dependencies(regenerate ${PROJECT_NAME})
-
-
-
-
-#############################################
-# Test targets
-#############################################
-
-# Try to rebuild the own LLgen grammar.
-add_test(NAME llgentest COMMAND ${PROJECT_NAME} -vvv
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tokens.g
- ${CMAKE_CURRENT_SOURCE_DIR}/src/LLgen.g)
-
-############################################
-# Install targets
-#############################################
-
-install(TARGETS ${PROJECT_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib/static)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/doc/LLgen.1 DESTINATION man OPTIONAL)
-install(FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/lib/incl
- ${CMAKE_CURRENT_SOURCE_DIR}/lib/nc_incl
- ${CMAKE_CURRENT_SOURCE_DIR}/lib/nc_rec
- ${CMAKE_CURRENT_SOURCE_DIR}/lib/rec
- DESTINATION lib)
-
\ No newline at end of file
+++ /dev/null
-cmake_minimum_required (VERSION 2.9)
-project (cmisc)
-
-
-add_executable(tabgen tabgen.c)
-target_compile_definitions(tabgen PUBLIC NORCSID=1)
-
-add_executable(ed ed.c)
-target_compile_definitions(ed PUBLIC NORCSID=1)
-
-
-install(TARGETS tabgen ed DESTINATION bin)
-install(FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/tabgen.1
- ${CMAKE_CURRENT_SOURCE_DIR}/ed.1
- DESTINATION man OPTIONAL)
-
+++ /dev/null
-cmake_minimum_required (VERSION 2.6)
-project (ack-make)
-
-set(SRC
- check.c
- input.c
- macro.c
- make.c
- main.c
- reader.c
- rules.c
- h.h
-)
-
-# The following should be added if utime.h and unistd.h are
-# available.
-
-# add_definitions(-Dunix)
-
-add_executable(${PROJECT_NAME} ${SRC})
-
-install(TARGETS ${PROJECT_NAME} DESTINATION bin)
-
+++ /dev/null
-s/^.*[ ]ALLOCDEF[ ].*"\(.*\)"[ ]*\([0-9][0-9]*\).*$/\
-\/* allocation definitions of struct \1 *\/\
-extern char *st_alloc();\
-extern struct \1 *h_\1;\
-#ifdef DEBUG\
-extern int cnt_\1;\
-extern char *std_alloc();\
-#define new_\1() ((struct \1 *) std_alloc((char **)\&h_\1, sizeof(struct \1), \2, \&cnt_\1))\
-#else\
-#define new_\1() ((struct \1 *) st_alloc((char **)\&h_\1, sizeof(struct \1), \2))\
-#endif\
-#define free_\1(p) st_free(p, \&h_\1, sizeof(struct \1))\
-/
+++ /dev/null
-s/^.*[ ]STATICALLOCDEF[ ].*"\(.*\)"[ ]*\([0-9][0-9]*\).*$/\
-\/* allocation definitions of struct \1 *\/\
-extern char *st_alloc();\
-struct \1 *h_\1;\
-#ifdef DEBUG\
-int cnt_\1;\
-#define new_\1() ((struct \1 *) std_alloc((char **)\&h_\1, sizeof(struct \1), \2, \&cnt_\1))\
-#else\
-#define new_\1() ((struct \1 *) st_alloc((char **)\&h_\1, sizeof(struct \1), \2))\
-#endif\
-#define free_\1(p) st_free(p, \&h_\1, sizeof(struct \1))\
-/
\ No newline at end of file
+++ /dev/null
-s/^.*[ ]ALLOCDEF[ ].*"\(.*\)".*$/struct \1 *h_\1 = 0;\
-#ifdef DEBUG\
-int cnt_\1 = 0;\
-#endif/p
+++ /dev/null
-##################################################################
-# This script is used to generate a parameter header file from
-# the Parameters files.
-#
-# The Parameters file and this script should have UNIX line endings
-# (\n) otherwise strange issues could occur.
-#
-#################################################################
-/!File: /d
\ No newline at end of file
+++ /dev/null
-/{[A-Z]/!d\r
-s/.*{//\r
-s/,.*//\r
-s/.*/%token &;/\r
+++ /dev/null
-cmake_minimum_required (VERSION 3.2)
-project(em_topgen)
-set(SRC
- main.c
- topgen.c
- Lpars.c
- LLlex.c
- symtab.c
- symtab.h
- pattern.c
- hash.c
- token.h
- tunable.h
-)
-set(INCLUDE_DIRS
- .
- ${CMAKE_CURRENT_BINARY_DIR}
-)
-add_custom_command(
- OUTPUT topgen.c Lpars.c Lpars.h
- COMMAND ${CMAKE_COMMAND} -E env LLGEN_LIB_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../LLgen/lib ${CMAKE_CURRENT_BINARY_DIR}/../LLgen/LLgen "${CMAKE_CURRENT_SOURCE_DIR}/topgen.g"
- # COMMAND ${CMAKE_CURRENT_BINARY_DIR}/../LLgen/llgen "${CMAKE_CURRENT_SOURCE_DIR}/topgen.g"
- MAIN_DEPENDENCY topgen.g
- DEPENDS LLgen)
-add_executable(topgen ${SRC})
-target_include_directories(topgen PRIVATE ${INCLUDE_DIRS})
-target_link_libraries(topgen)
-install(TARGETS topgen DESTINATION bin)